WordPress/js/dist/components.js.map
atimmer 8614d14887 Build tools: Build @wordpress packages with webpack.
We decided to split the media webpack config into it's own file. The
main webpack config then combines this file with the packages config.

Include vendor scripts by copying them. We copy the minified files if
they are available. If they aren't available we minify the original
files ourselves.

Props omarreiss, herregroen, gziolo, youknowriad, netweb, adamsilverstein.
Merges [43719] to trunk.
See #45065.

Built from https://develop.svn.wordpress.org/trunk@44112


git-svn-id: http://core.svn.wordpress.org/trunk@43942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-13 15:26:42 +00:00

1 line
1.4 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack://wp.[name]/webpack/bootstrap","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/autocomplete/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/base-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/button-group/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/checkbox-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/clipboard-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/color-indicator/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/color-palette/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/dashicon/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/date-time/date.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/date-time/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/date-time/time.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/disabled/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/draggable/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/drop-zone/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/drop-zone/provider.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/dropdown-menu/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/dropdown/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/external-link/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/focusable-iframe/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/font-size-picker/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-file-upload/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-toggle/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/suggestions-list.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/token-input.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/token.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/navigate-regions/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-constrained-tabbing/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-fallback-styles/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-filters/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-focus-outside/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-focus-return/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-notices/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-spoken-messages/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/icon-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/keyboard-shortcuts/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/menu-group/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/menu-item/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/menu-items-choice/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/aria-helper.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/frame.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/header.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/navigable-container/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/notice/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/notice/list.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/body.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/color.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/header.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/row.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/placeholder/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/popover/detect-outside.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/popover/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/popover/utils.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/primitives/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/primitives/svg/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/query-controls/category-select.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/query-controls/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/query-controls/terms.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/radio-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/range-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/resizable-box/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/responsive-wrapper/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/sandbox/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/scroll-lock/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/select-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/server-side-render/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/shortcut/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/fill.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/provider.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/slot.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/spinner/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/tab-panel/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/text-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/textarea-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toggle-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toolbar/toolbar-button-container.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toolbar/toolbar-container.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/tooltip/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/tree-select/index.js","webpack://wp.[name]/./node_modules/classnames/index.js","webpack://wp.[name]/./node_modules/clipboard/lib/clipboard-action.js","webpack://wp.[name]/./node_modules/clipboard/lib/clipboard.js","webpack://wp.[name]/./node_modules/create-react-context/lib/implementation.js","webpack://wp.[name]/./node_modules/create-react-context/lib/index.js","webpack://wp.[name]/./node_modules/delegate/src/closest.js","webpack://wp.[name]/./node_modules/delegate/src/delegate.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/index.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/util.js","webpack://wp.[name]/./node_modules/fbjs/lib/emptyFunction.js","webpack://wp.[name]/./node_modules/fbjs/lib/warning.js","webpack://wp.[name]/./node_modules/good-listener/src/is.js","webpack://wp.[name]/./node_modules/good-listener/src/listen.js","webpack://wp.[name]/./node_modules/gud/index.js","webpack://wp.[name]/./node_modules/hoist-non-react-statics/index.js","webpack://wp.[name]/./node_modules/lodash/_DataView.js","webpack://wp.[name]/./node_modules/lodash/_Hash.js","webpack://wp.[name]/./node_modules/lodash/_ListCache.js","webpack://wp.[name]/./node_modules/lodash/_Map.js","webpack://wp.[name]/./node_modules/lodash/_MapCache.js","webpack://wp.[name]/./node_modules/lodash/_Promise.js","webpack://wp.[name]/./node_modules/lodash/_Set.js","webpack://wp.[name]/./node_modules/lodash/_SetCache.js","webpack://wp.[name]/./node_modules/lodash/_Stack.js","webpack://wp.[name]/./node_modules/lodash/_Symbol.js","webpack://wp.[name]/./node_modules/lodash/_Uint8Array.js","webpack://wp.[name]/./node_modules/lodash/_WeakMap.js","webpack://wp.[name]/./node_modules/lodash/_arrayEach.js","webpack://wp.[name]/./node_modules/lodash/_arrayFilter.js","webpack://wp.[name]/./node_modules/lodash/_arrayLikeKeys.js","webpack://wp.[name]/./node_modules/lodash/_arrayMap.js","webpack://wp.[name]/./node_modules/lodash/_arrayPush.js","webpack://wp.[name]/./node_modules/lodash/_arraySome.js","webpack://wp.[name]/./node_modules/lodash/_assignValue.js","webpack://wp.[name]/./node_modules/lodash/_assocIndexOf.js","webpack://wp.[name]/./node_modules/lodash/_baseAssign.js","webpack://wp.[name]/./node_modules/lodash/_baseAssignIn.js","webpack://wp.[name]/./node_modules/lodash/_baseAssignValue.js","webpack://wp.[name]/./node_modules/lodash/_baseClone.js","webpack://wp.[name]/./node_modules/lodash/_baseCreate.js","webpack://wp.[name]/./node_modules/lodash/_baseEach.js","webpack://wp.[name]/./node_modules/lodash/_baseFor.js","webpack://wp.[name]/./node_modules/lodash/_baseForOwn.js","webpack://wp.[name]/./node_modules/lodash/_baseGet.js","webpack://wp.[name]/./node_modules/lodash/_baseGetAllKeys.js","webpack://wp.[name]/./node_modules/lodash/_baseGetTag.js","webpack://wp.[name]/./node_modules/lodash/_baseHasIn.js","webpack://wp.[name]/./node_modules/lodash/_baseIsArguments.js","webpack://wp.[name]/./node_modules/lodash/_baseIsEqual.js","webpack://wp.[name]/./node_modules/lodash/_baseIsEqualDeep.js","webpack://wp.[name]/./node_modules/lodash/_baseIsMap.js","webpack://wp.[name]/./node_modules/lodash/_baseIsMatch.js","webpack://wp.[name]/./node_modules/lodash/_baseIsNative.js","webpack://wp.[name]/./node_modules/lodash/_baseIsSet.js","webpack://wp.[name]/./node_modules/lodash/_baseIsTypedArray.js","webpack://wp.[name]/./node_modules/lodash/_baseIteratee.js","webpack://wp.[name]/./node_modules/lodash/_baseKeys.js","webpack://wp.[name]/./node_modules/lodash/_baseKeysIn.js","webpack://wp.[name]/./node_modules/lodash/_baseMap.js","webpack://wp.[name]/./node_modules/lodash/_baseMatches.js","webpack://wp.[name]/./node_modules/lodash/_baseMatchesProperty.js","webpack://wp.[name]/./node_modules/lodash/_baseProperty.js","webpack://wp.[name]/./node_modules/lodash/_basePropertyDeep.js","webpack://wp.[name]/./node_modules/lodash/_baseTimes.js","webpack://wp.[name]/./node_modules/lodash/_baseToString.js","webpack://wp.[name]/./node_modules/lodash/_baseUnary.js","webpack://wp.[name]/./node_modules/lodash/_cacheHas.js","webpack://wp.[name]/./node_modules/lodash/_castFunction.js","webpack://wp.[name]/./node_modules/lodash/_castPath.js","webpack://wp.[name]/./node_modules/lodash/_cloneArrayBuffer.js","webpack://wp.[name]/./node_modules/lodash/_cloneBuffer.js","webpack://wp.[name]/./node_modules/lodash/_cloneDataView.js","webpack://wp.[name]/./node_modules/lodash/_cloneRegExp.js","webpack://wp.[name]/./node_modules/lodash/_cloneSymbol.js","webpack://wp.[name]/./node_modules/lodash/_cloneTypedArray.js","webpack://wp.[name]/./node_modules/lodash/_copyArray.js","webpack://wp.[name]/./node_modules/lodash/_copyObject.js","webpack://wp.[name]/./node_modules/lodash/_copySymbols.js","webpack://wp.[name]/./node_modules/lodash/_copySymbolsIn.js","webpack://wp.[name]/./node_modules/lodash/_coreJsData.js","webpack://wp.[name]/./node_modules/lodash/_createBaseEach.js","webpack://wp.[name]/./node_modules/lodash/_createBaseFor.js","webpack://wp.[name]/./node_modules/lodash/_defineProperty.js","webpack://wp.[name]/./node_modules/lodash/_equalArrays.js","webpack://wp.[name]/./node_modules/lodash/_equalByTag.js","webpack://wp.[name]/./node_modules/lodash/_equalObjects.js","webpack://wp.[name]/./node_modules/lodash/_freeGlobal.js","webpack://wp.[name]/./node_modules/lodash/_getAllKeys.js","webpack://wp.[name]/./node_modules/lodash/_getAllKeysIn.js","webpack://wp.[name]/./node_modules/lodash/_getMapData.js","webpack://wp.[name]/./node_modules/lodash/_getMatchData.js","webpack://wp.[name]/./node_modules/lodash/_getNative.js","webpack://wp.[name]/./node_modules/lodash/_getPrototype.js","webpack://wp.[name]/./node_modules/lodash/_getRawTag.js","webpack://wp.[name]/./node_modules/lodash/_getSymbols.js","webpack://wp.[name]/./node_modules/lodash/_getSymbolsIn.js","webpack://wp.[name]/./node_modules/lodash/_getTag.js","webpack://wp.[name]/./node_modules/lodash/_getValue.js","webpack://wp.[name]/./node_modules/lodash/_hasPath.js","webpack://wp.[name]/./node_modules/lodash/_hashClear.js","webpack://wp.[name]/./node_modules/lodash/_hashDelete.js","webpack://wp.[name]/./node_modules/lodash/_hashGet.js","webpack://wp.[name]/./node_modules/lodash/_hashHas.js","webpack://wp.[name]/./node_modules/lodash/_hashSet.js","webpack://wp.[name]/./node_modules/lodash/_initCloneArray.js","webpack://wp.[name]/./node_modules/lodash/_initCloneByTag.js","webpack://wp.[name]/./node_modules/lodash/_initCloneObject.js","webpack://wp.[name]/./node_modules/lodash/_isIndex.js","webpack://wp.[name]/./node_modules/lodash/_isKey.js","webpack://wp.[name]/./node_modules/lodash/_isKeyable.js","webpack://wp.[name]/./node_modules/lodash/_isMasked.js","webpack://wp.[name]/./node_modules/lodash/_isPrototype.js","webpack://wp.[name]/./node_modules/lodash/_isStrictComparable.js","webpack://wp.[name]/./node_modules/lodash/_listCacheClear.js","webpack://wp.[name]/./node_modules/lodash/_listCacheDelete.js","webpack://wp.[name]/./node_modules/lodash/_listCacheGet.js","webpack://wp.[name]/./node_modules/lodash/_listCacheHas.js","webpack://wp.[name]/./node_modules/lodash/_listCacheSet.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheClear.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheDelete.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheGet.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheHas.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheSet.js","webpack://wp.[name]/./node_modules/lodash/_mapToArray.js","webpack://wp.[name]/./node_modules/lodash/_matchesStrictComparable.js","webpack://wp.[name]/./node_modules/lodash/_memoizeCapped.js","webpack://wp.[name]/./node_modules/lodash/_nativeCreate.js","webpack://wp.[name]/./node_modules/lodash/_nativeKeys.js","webpack://wp.[name]/./node_modules/lodash/_nativeKeysIn.js","webpack://wp.[name]/./node_modules/lodash/_nodeUtil.js","webpack://wp.[name]/./node_modules/lodash/_objectToString.js","webpack://wp.[name]/./node_modules/lodash/_overArg.js","webpack://wp.[name]/./node_modules/lodash/_root.js","webpack://wp.[name]/./node_modules/lodash/_setCacheAdd.js","webpack://wp.[name]/./node_modules/lodash/_setCacheHas.js","webpack://wp.[name]/./node_modules/lodash/_setToArray.js","webpack://wp.[name]/./node_modules/lodash/_stackClear.js","webpack://wp.[name]/./node_modules/lodash/_stackDelete.js","webpack://wp.[name]/./node_modules/lodash/_stackGet.js","webpack://wp.[name]/./node_modules/lodash/_stackHas.js","webpack://wp.[name]/./node_modules/lodash/_stackSet.js","webpack://wp.[name]/./node_modules/lodash/_stringToPath.js","webpack://wp.[name]/./node_modules/lodash/_toKey.js","webpack://wp.[name]/./node_modules/lodash/_toSource.js","webpack://wp.[name]/./node_modules/lodash/cloneDeep.js","webpack://wp.[name]/./node_modules/lodash/debounce.js","webpack://wp.[name]/./node_modules/lodash/each.js","webpack://wp.[name]/./node_modules/lodash/eq.js","webpack://wp.[name]/./node_modules/lodash/forEach.js","webpack://wp.[name]/./node_modules/lodash/forOwn.js","webpack://wp.[name]/./node_modules/lodash/get.js","webpack://wp.[name]/./node_modules/lodash/hasIn.js","webpack://wp.[name]/./node_modules/lodash/identity.js","webpack://wp.[name]/./node_modules/lodash/isArguments.js","webpack://wp.[name]/./node_modules/lodash/isArray.js","webpack://wp.[name]/./node_modules/lodash/isArrayLike.js","webpack://wp.[name]/./node_modules/lodash/isBuffer.js","webpack://wp.[name]/./node_modules/lodash/isFunction.js","webpack://wp.[name]/./node_modules/lodash/isLength.js","webpack://wp.[name]/./node_modules/lodash/isMap.js","webpack://wp.[name]/./node_modules/lodash/isObject.js","webpack://wp.[name]/./node_modules/lodash/isObjectLike.js","webpack://wp.[name]/./node_modules/lodash/isPlainObject.js","webpack://wp.[name]/./node_modules/lodash/isSet.js","webpack://wp.[name]/./node_modules/lodash/isString.js","webpack://wp.[name]/./node_modules/lodash/isSymbol.js","webpack://wp.[name]/./node_modules/lodash/isTypedArray.js","webpack://wp.[name]/./node_modules/lodash/keys.js","webpack://wp.[name]/./node_modules/lodash/keysIn.js","webpack://wp.[name]/./node_modules/lodash/map.js","webpack://wp.[name]/./node_modules/lodash/memoize.js","webpack://wp.[name]/./node_modules/lodash/now.js","webpack://wp.[name]/./node_modules/lodash/property.js","webpack://wp.[name]/./node_modules/lodash/stubArray.js","webpack://wp.[name]/./node_modules/lodash/stubFalse.js","webpack://wp.[name]/./node_modules/lodash/throttle.js","webpack://wp.[name]/./node_modules/lodash/toNumber.js","webpack://wp.[name]/./node_modules/lodash/toString.js","webpack://wp.[name]/./node_modules/material-colors/dist/colors.es2015.js","webpack://wp.[name]/./node_modules/mousetrap/mousetrap.js","webpack://wp.[name]/./node_modules/mousetrap/plugins/global-bind/mousetrap-global-bind.js","webpack://wp.[name]/./node_modules/object-assign/index.js","webpack://wp.[name]/../../src/utils/isBrowser.js","webpack://wp.[name]/../../src/utils/debounce.js","webpack://wp.[name]/../../src/utils/isFunction.js","webpack://wp.[name]/../../src/utils/getStyleComputedProperty.js","webpack://wp.[name]/../../src/utils/getParentNode.js","webpack://wp.[name]/../../src/utils/getScrollParent.js","webpack://wp.[name]/../../src/utils/isIE.js","webpack://wp.[name]/../../src/utils/getOffsetParent.js","webpack://wp.[name]/../../src/utils/isOffsetContainer.js","webpack://wp.[name]/../../src/utils/getRoot.js","webpack://wp.[name]/../../src/utils/findCommonOffsetParent.js","webpack://wp.[name]/../../src/utils/getScroll.js","webpack://wp.[name]/../../src/utils/includeScroll.js","webpack://wp.[name]/../../src/utils/getBordersSize.js","webpack://wp.[name]/../../src/utils/getWindowSizes.js","webpack://wp.[name]/../../src/utils/getClientRect.js","webpack://wp.[name]/../../src/utils/getBoundingClientRect.js","webpack://wp.[name]/../../src/utils/getOffsetRectRelativeToArbitraryNode.js","webpack://wp.[name]/../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","webpack://wp.[name]/../../src/utils/isFixed.js","webpack://wp.[name]/../../src/utils/getFixedPositionOffsetParent.js","webpack://wp.[name]/../../src/utils/getBoundaries.js","webpack://wp.[name]/../../src/utils/computeAutoPlacement.js","webpack://wp.[name]/../../src/utils/getReferenceOffsets.js","webpack://wp.[name]/../../src/utils/getOuterSizes.js","webpack://wp.[name]/../../src/utils/getOppositePlacement.js","webpack://wp.[name]/../../src/utils/getPopperOffsets.js","webpack://wp.[name]/../../src/utils/find.js","webpack://wp.[name]/../../src/utils/findIndex.js","webpack://wp.[name]/../../src/utils/runModifiers.js","webpack://wp.[name]/../../src/methods/update.js","webpack://wp.[name]/../../src/utils/isModifierEnabled.js","webpack://wp.[name]/../../src/utils/getSupportedPropertyName.js","webpack://wp.[name]/../../src/methods/destroy.js","webpack://wp.[name]/../../src/utils/getWindow.js","webpack://wp.[name]/../../src/utils/setupEventListeners.js","webpack://wp.[name]/../../src/methods/enableEventListeners.js","webpack://wp.[name]/../../src/utils/removeEventListeners.js","webpack://wp.[name]/../../src/methods/disableEventListeners.js","webpack://wp.[name]/../../src/utils/isNumeric.js","webpack://wp.[name]/../../src/utils/setStyles.js","webpack://wp.[name]/../../src/utils/setAttributes.js","webpack://wp.[name]/../../src/modifiers/applyStyle.js","webpack://wp.[name]/../../src/utils/getRoundedOffsets.js","webpack://wp.[name]/../../src/modifiers/computeStyle.js","webpack://wp.[name]/../../src/utils/isModifierRequired.js","webpack://wp.[name]/../../src/modifiers/arrow.js","webpack://wp.[name]/../../src/utils/getOppositeVariation.js","webpack://wp.[name]/../../src/methods/placements.js","webpack://wp.[name]/../../src/utils/clockwise.js","webpack://wp.[name]/../../src/modifiers/flip.js","webpack://wp.[name]/../../src/modifiers/keepTogether.js","webpack://wp.[name]/../../src/modifiers/offset.js","webpack://wp.[name]/../../src/modifiers/preventOverflow.js","webpack://wp.[name]/../../src/modifiers/shift.js","webpack://wp.[name]/../../src/modifiers/hide.js","webpack://wp.[name]/../../src/modifiers/inner.js","webpack://wp.[name]/../../src/modifiers/index.js","webpack://wp.[name]/../../src/methods/defaults.js","webpack://wp.[name]/../../src/index.js","webpack://wp.[name]/./node_modules/prop-types/checkPropTypes.js","webpack://wp.[name]/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://wp.[name]/./node_modules/prop-types/index.js","webpack://wp.[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wp.[name]/./node_modules/re-resizable/lib/index.js","webpack://wp.[name]/./node_modules/react-click-outside/dist/index.js","webpack://wp.[name]/./node_modules/react-color/lib/components/alpha/Alpha.js","webpack://wp.[name]/./node_modules/react-color/lib/components/alpha/AlphaPointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/block/Block.js","webpack://wp.[name]/./node_modules/react-color/lib/components/block/BlockSwatches.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/Chrome.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/ChromeFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/ChromePointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/ChromePointerCircle.js","webpack://wp.[name]/./node_modules/react-color/lib/components/circle/Circle.js","webpack://wp.[name]/./node_modules/react-color/lib/components/circle/CircleSwatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Alpha.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Checkboard.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/ColorWrap.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/EditableInput.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Hue.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Raised.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Saturation.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Swatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/index.js","webpack://wp.[name]/./node_modules/react-color/lib/components/compact/Compact.js","webpack://wp.[name]/./node_modules/react-color/lib/components/compact/CompactColor.js","webpack://wp.[name]/./node_modules/react-color/lib/components/compact/CompactFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/github/Github.js","webpack://wp.[name]/./node_modules/react-color/lib/components/github/GithubSwatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/hue/Hue.js","webpack://wp.[name]/./node_modules/react-color/lib/components/hue/HuePointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/material/Material.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/Photoshop.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopButton.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopPointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopPointerCircle.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopPreviews.js","webpack://wp.[name]/./node_modules/react-color/lib/components/sketch/Sketch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/sketch/SketchFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/sketch/SketchPresetColors.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/Slider.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/SliderPointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/SliderSwatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/SliderSwatches.js","webpack://wp.[name]/./node_modules/react-color/lib/components/swatches/Swatches.js","webpack://wp.[name]/./node_modules/react-color/lib/components/swatches/SwatchesColor.js","webpack://wp.[name]/./node_modules/react-color/lib/components/swatches/SwatchesGroup.js","webpack://wp.[name]/./node_modules/react-color/lib/components/twitter/Twitter.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/alpha.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/checkboard.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/color.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/hue.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/interaction.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/saturation.js","webpack://wp.[name]/./node_modules/react-color/lib/index.js","webpack://wp.[name]/./node_modules/react-datepicker/es/index.js","webpack://wp.[name]/./node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/Manager.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/Popper.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/Reference.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/index.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/utils.js","webpack://wp.[name]/./node_modules/reactcss/lib/autoprefix.js","webpack://wp.[name]/./node_modules/reactcss/lib/components/active.js","webpack://wp.[name]/./node_modules/reactcss/lib/components/hover.js","webpack://wp.[name]/./node_modules/reactcss/lib/flattenNames.js","webpack://wp.[name]/./node_modules/reactcss/lib/index.js","webpack://wp.[name]/./node_modules/reactcss/lib/loop.js","webpack://wp.[name]/./node_modules/reactcss/lib/mergeClasses.js","webpack://wp.[name]/./node_modules/select/src/select.js","webpack://wp.[name]/./node_modules/tiny-emitter/index.js","webpack://wp.[name]/./node_modules/tinycolor2/tinycolor.js","webpack://wp.[name]/./node_modules/uuid/lib/bytesToUuid.js","webpack://wp.[name]/./node_modules/uuid/lib/rng-browser.js","webpack://wp.[name]/./node_modules/uuid/v4.js","webpack://wp.[name]/./node_modules/warning/warning.js","webpack://wp.[name]/(webpack)/buildin/global.js","webpack://wp.[name]/(webpack)/buildin/module.js","webpack://wp.[name]/external {\"this\":[\"wp\",\"a11y\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"apiFetch\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"compose\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"deprecated\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"dom\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"element\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"hooks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"i18n\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"isShallowEqual\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"keycodes\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"richText\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"url\"]}","webpack://wp.[name]/external \"lodash\"","webpack://wp.[name]/external \"moment\"","webpack://wp.[name]/external \"React\"","webpack://wp.[name]/external \"ReactDOM\""],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","push","getCaretRect","range","window","getSelection","getRangeAt","getRectangleFromRange","Autocomplete","selectedIndex","suppress","undefined","open","query","filteredOptions","arguments","bindNode","bind","select","reset","resetWhenSuppressed","handleKeyDown","debouncedLoadOptions","debounce","loadOptions","state","constructor","getInitialState","node","replacement","props","record","onChange","end","start","triggerPrefix","toInsert","create","html","renderToString","insert","onReplace","getOptionCompletion","isDisabled","completion","value","action","insertCompletion","isMounted","setState","idx","debouncedSpeak","sprintf","_n","__","completer","promise","activePromise","Promise","resolve","then","optionsData","keyedOptions","map","optionData","optionIndex","key","getOptionLabel","getOptionKeywords","isOptionDisabled","announce","event","keyCode","SPACE","ctrlKey","shiftKey","altKey","metaKey","preventDefault","stopPropagation","UP","DOWN","LEFT","RIGHT","nextSelectedIndex","ESCAPE","ENTER","isListening","handler","prevProps","prevState","completers","prevRecord","prevOpen","toggleKeyEvents","isCollapsed","text","getTextContent","slice","prevText","textAfterSelection","allCompleters","find","allowContext","index","lastIndexOf","match","RegExp","wasOpen","wasSuppress","wasQuery","isDebounced","escapeRegExp","cancel","children","instanceId","selectedKey","className","isExpanded","listBoxId","activeId","classnames","Component","compose","withSpokenMessages","withInstanceId","withFocusOutside","BaseControl","id","help","ButtonGroup","classes","Button","ref","href","target","isPrimary","isLarge","isSmall","isToggled","isBusy","isDefault","isLink","isDestructive","disabled","additionalProps","tag","tagProps","type","createElement","forwardRef","CheckboxControl","heading","checked","onChangeValue","ClipboardButton","bindContainer","onCopy","getText","container","button","firstChild","clipboard","Clipboard","on","destroy","clearTimeout","onCopyTimeout","args","clearSelection","onFinishCopy","setTimeout","buttonProps","icon","ComponentToUse","IconButton","focusOnCopyEventTarget","focus","ColorIndicator","colorValue","background","ColorPalette","colors","disableCustomColors","applyOrUnset","color","customColorPickerLabel","name","style","itemClasses","isOpen","onToggle","hex","Dashicon","nextProps","size","path","iconClass","filter","Boolean","join","TIMEZONELESS_FORMAT","DatePicker","currentDate","momentDate","moment","onChangeMoment","newDate","format","DateTimePicker","is12Hour","TimePicker","hours","minutes","am","date","updateHours","updateMinutes","onChangeHours","onChangeMinutes","syncState","currentTime","selected","parseInt","isInteger","clone","formattedDate","updateAmPm","createContext","Consumer","Provider","DISABLED_ELIGIBLE_NODE_NAMES","Disabled","disable","debouncedDisable","leading","observer","MutationObserver","observe","childList","attributes","subtree","disconnect","focusable","forEach","includes","nodeName","setAttribute","hasAttribute","removeAttribute","dragImageClass","cloneWrapperClass","cloneHeightTransformationBreakpoint","clonePadding","isChromeUA","navigator","userAgent","documentHasIframes","document","getElementById","querySelectorAll","Draggable","onDragStart","onDragOver","onDrop","onDragEnd","resetDragState","isChromeAndHasIframes","noop","cloneWrapper","top","clientY","cursorTop","left","clientX","cursorLeft","elementId","transferData","element","dataTransfer","setDragImage","dragImage","classList","add","body","appendChild","removeChild","setData","JSON","stringify","elementRect","getBoundingClientRect","elementWrapper","parentNode","elementTopOffset","elementLeftOffset","cloneNode","width","height","transform","transformOrigin","child","addEventListener","removeEventListener","remove","onDraggableStart","onDraggableEnd","withSafeTimeout","DropZone","setZoneNode","isDraggingOverDocument","isDraggingOverElement","position","context","dropzones","zone","updateState","onFilesDrop","onHTMLDrop","y","x","contextTypes","DropZoneProvider","toggleDraggingOverDocument","throttle","dragOverListener","isWithinZoneBounds","hoveredDropZone","getDragEventType","dropzone","findDOMNode","types","dragEventType","detail","CustomEvent","hoveredDropZones","doesDropzoneSupportType","subZone","parentElement","contains","hoveredDropZoneIndex","indexOf","rect","right","bottom","dropzonesToUpdate","isEqual","isDraggingOverDropZone","newState","isShallowEqual","isWithinElement","files","isValidDropzone","getData","childContextTypes","DropdownMenu","menuLabel","controls","controlSets","Array","isArray","openOnArrowDown","onClose","flatMap","controlSet","indexOfSet","control","indexOfControl","onClick","isActive","title","Dropdown","toggle","close","clickOutside","refresh","popoverRef","createRef","current","renderContent","renderToggle","contentClassName","expandOnMobile","headerTitle","ExternalLink","rel","uniq","compact","split","FocusEvent","FocusableIframe","checkFocus","iframeRef","iframe","activeElement","focusEvent","bubbles","dispatchEvent","onFocus","omit","withGlobalEvents","blur","FontSizePicker","fallbackFontSize","fontSizes","withSlider","newValue","Number","currentFont","font","slug","fontSize","FormFileUpload","openFileDialog","bindInput","input","click","multiple","accept","display","FormToggle","wrapperClasses","initialState","incompleteTokenValue","inputOffsetFromEnd","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","onKeyDown","onKeyPress","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindTokensAndInput","hasFocus","tokensAndInput","inputHasValidValue","BACKSPACE","handleDeleteKey","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","DELETE","tokenizeOnSpace","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","getMatchingSuggestions","addNewToken","separator","items","tokenValue","last","inputHasMinimumChars","trim","matchingSuggestions","hasVisibleSuggestions","addNewTokens","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","suggestions","maxSuggestions","saveTransform","Math","max","min","getIndexOfInput","moveInputToIndex","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","token","valueContainsToken","splice","apply","concat","speak","messages","added","newTokens","item","getTokenValue","removed","searchValue","startsWithMatch","containsMatch","difference","toLocaleLowerCase","each","take","components","renderInput","status","termPosition","termsCount","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","placeholder","tokenFieldProps","tabIndex","Object","assign","renderTokensAndInput","defaultProps","freeze","identity","SuggestionsList","handleMouseDown","bindList","scrollIntoView","scrollingIntoView","list","onlyScrollIfNeeded","onHover","onSelect","e","indexOfMatch","suggestionBeforeMatch","substring","suggestionMatch","suggestionAfterMatch","computeSuggestionMatch","classeName","handleClick","handleHover","TokenInput","Token","onClickRemove","tokenClasses","transformedValue","termPositionAndCount","createHigherOrderComponent","WrappedComponent","focusNextRegion","focusRegion","focusPreviousRegion","isFocusingRegions","offset","regions","nextRegion","nextIndex","withConstrainedTabbing","focusContainRef","handleTabBehaviour","TAB","tabbables","tabbable","firstTabbable","lastTabbable","mapNodeToProps","nodeRef","fallbackStyles","grabStylesCompleted","bindRef","grabFallbackStyles","newFallbackStyles","every","wrappedComponent","ANIMATION_FRAME_PERIOD","withFilters","hookName","OriginalComponent","onHooksUpdated","applyFilters","namespace","uniqueId","throttledForceUpdate","forceUpdate","addAction","removeAction","updatedHookName","INPUT_BUTTON_TYPES","isFocusNormalizedButton","cancelBlurCheck","queueBlurCheck","normalizeButtonFocus","persist","preventBlurCheck","blurCheckTimeout","handleFocusOutside","isInteractionEnd","setIsFocusedTrue","isFocused","setIsFocusedFalse","activeElementOnMount","createNotice","createErrorNotice","removeNotice","removeAllNotices","noticeList","noticeOperations","notice","noticeToAdd","uuid","msg","content","message","tooltip","shortcut","tooltipText","showTooltip","isString","KeyboardShortcuts","bindKeyTarget","keyTarget","mousetrap","Mousetrap","shortcuts","callback","bindGlobal","eventName","bindFn","Children","count","MenuGroup","labelId","classNames","MenuItem","isSelected","role","cloneElement","MenuItemsChoice","choices","LIVE_REGION_ARIA_ROLES","Set","hiddenElements","isHidden","hideApp","unhiddenElement","elements","elementShouldBeHidden","getAttribute","tagName","has","showApp","ModalFrame","containerRef","handleClickOutside","focusFirstTabbable","focusOnMount","shouldCloseOnClickOutside","onRequestClose","handleEscapeKeyDown","shouldCloseOnEsc","contentLabel","aria","describedby","labelledby","withFocusReturn","keydown","ModalHeader","closeLabel","headingId","isDismissable","openModalCount","Modal","prepareDOM","stopEventPropagationOutsideModal","openFirstModal","closeLastModal","cleanDOM","ariaHelper","bodyOpenClassName","overlayClassName","closeButtonLabel","otherProps","createPortal","cycleValue","total","nextValue","NavigableContainer","getFocusableContext","getFocusableIndex","onlyBrowserTabstops","finder","focusables","directIndex","cycle","eventToOffset","onNavigate","stopNavigationEvents","nativeEvent","stopImmediatePropagation","NavigableMenu","orientation","rest","evt","next","previous","TabbableContainer","Notice","onRemove","isDismissible","NoticeList","notices","reverse","PanelBody","opened","initialOpen","isOpened","PanelColor","colorName","currentColorLabel","PanelHeader","Panel","header","PanelRow","Placeholder","instructions","PopoverDetectOutside","onClickOutside","FocusManaged","SLOT_NAME","Popover","getAnchorRect","updatePopoverSize","computePopoverPosition","throttledComputePopoverPosition","maybeClose","contentNode","anchorNode","popoverLeft","popoverTop","yAxis","xAxis","contentHeight","contentWidth","isMobile","popoverSize","toggleWindowEvents","focusTimeout","cancelAnimationFrame","rafHandle","requestAnimationFrame","anchor","getComputedStyle","paddingTop","paddingBottom","topPad","bottomPad","newPopoverPosition","noArrow","contentProps","visibility","maxHeight","maxWidth","getSlot","PopoverContainer","Slot","HEIGHT_OFFSET","isMobileViewport","innerWidth","computePopoverXAxisPosition","anchorRect","contentSize","chosenYAxis","anchorMidPoint","round","centerAlignment","leftAlignmentX","leftAlignment","rightAlignmentX","rightAlignment","chosenXAxis","chosenWidth","computePopoverYAxisPosition","middleAlignment","innerHeight","topAlignment","bottomAlignment","chosenHeight","yAxisPosition","xAxisPosition","G","Path","Polygon","SVG","appliedProps","AccessibleSVG","deprecated","version","alternative","plugin","CategorySelect","noOptionLabel","categoriesList","selectedCategoryId","termsTree","buildTermsTree","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","QueryControls","numberOfItems","order","orderBy","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","newOrderBy","newOrder","flatTerms","termsByParent","groupBy","fillWithChildren","terms","term","RadioControl","isEmpty","RangeControl","beforeIcon","afterIcon","allowReset","initialPosition","resetValue","initialSliderValue","isFinite","ResizableBox","handleStylesOverrides","handleClassName","ResponsiveWrapper","naturalWidth","naturalHeight","imageStyle","Sandbox","trySandbox","checkMessageForResize","contentDocument","data","parse","contentWindow","source","oldWidth","oldHeight","isFrameAccessible","observeAndResizeJS","htmlDoc","documentElement","lang","__html","scripts","src","iframeDocument","write","ceil","createScrollLockComponent","htmlDocument","lockCounter","previousScrollTop","setLocked","locked","scrollingElement","scrollTop","methodName","requestLock","releaseLock","SelectControl","selectedOptions","newValues","rendererPath","block","urlQueryArgs","addQueryArgs","ServerSideRender","response","isStillMounted","fetch","apiFetch","rendered","catch","error","errorMsg","errorMessage","Shortcut","displayText","ariaLabel","isObject","occurrences","Fill","occurrence","registerFill","slot","bubblesVirtually","unregisterFill","isFunction","fillProps","createSlotFill","FillComponent","displayName","SlotComponent","SlotFillProvider","registerSlot","unregisterSlot","getFills","slots","fills","pick","forceUpdateFills","forceUpdateSlot","instance","without","resetFillOccurrence","sortBy","resetOccurrence","fill","fillKey","fillChildren","childIndex","childKey","negate","isEmptyElement","TabButton","tabId","TabPanel","tabs","initialTabName","tabKey","activeClass","selectedTab","selectedId","hint","tab","partial","String","TextControl","TextareaControl","rows","ToggleControl","describedBy","helpLabel","Toolbar","subscript","extraProps","ToolbarButtonContainer","ToolbarContainer","TOOLTIP_DELAY","Tooltip","delayedSetIsOver","isOver","disconnectDisabledAttributeObserver","observeDisabledAttribute","mutation","attributeFilter","only","isDelayed","emitToChild","currentTarget","console","createToggleIsOver","concatChildren","getSelectOptions","tree","level","treeNode","repeat","unescapeString","TreeSelect","longerTimeoutBrowsers","timeoutDuration","isBrowser","microtaskDebounce","fn","called","taskDebounce","scheduled","supportsMicroTasks","functionToCheck","getType","toString","call","getStyleComputedProperty","property","nodeType","ownerDocument","defaultView","css","getParentNode","host","getScrollParent","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","includeScroll","subtract","scrollLeft","modifier","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","getWindowSizes","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","sort","a","b","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","prototype","findIndex","prop","cur","obj","runModifiers","modifiers","ends","modifiersToRun","warn","enabled","update","isDestroyed","positionFixed","flip","originalPlacement","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","isNumeric","n","isNaN","setStyles","unit","setAttributes","applyStyle","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","isVertical","isVariation","sameWidthOddness","bothOddWidth","noRound","v","horizontalToInteger","floor","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","validPlacements","placements","clockwise","counter","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","str","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wC;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;;;;;;ACfA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA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IAA0C;AAClD,QAAQ,iCAAO,CAAC,MAAQ,EAAE,wEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC7C,KAAK,MAAM,YAQN;AACL,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA,CAAC,E;;;;;;;;;;;ACpOD;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAO,CAAC,MAAQ,EAAE,iGAAoB,EAAE,+EAAc,EAAE,sFAAe,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC1F,KAAK,MAAM,YAQN;AACL,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,2CAA2C;AAC9D,mBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,E;;;;;;;;;;;;AC9MY;;AAEb;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,WAAW,mBAAO,CAAC,wCAAK;;AAExB;;AAEA,eAAe,mBAAO,CAAC,4DAAkB;;AAEzC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,SAAS;AACT;AACA,cAAc,IAAqC;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,0DAA0D;;AAE1D;AACA;;AAEA;AACA;;AAEA;;AAEA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,qDAAqD;;;AAGrD;AACA;AACA;AACA;AACA;;AAEA;AACA,oC;;;;;;;;;;;;ACnMa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,sBAAsB,mBAAO,CAAC,mFAAkB;;AAEhD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,oC;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,cAAc,mBAAO,CAAC,yDAAW;;AAEjC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC7Ea;;AAEb,WAAW,mBAAO,CAAC,+DAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AChIa;;AAEb,iBAAiB,mBAAO,CAAC,+FAAwB,E;;;;;;;;;;;;ACFpC;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;;;;;;;ACtbY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,iEAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yB;;;;;;;;;;;AC7DA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AChDA,SAAS,mBAAO,CAAC,oDAAM;AACvB,eAAe,mBAAO,CAAC,yDAAU;;AAEjC;AACA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC9FA;AACa;;AAEb;;AAEA;AACA;AACA;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACjDA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;;AAEA;;;;;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AA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;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;AC1KA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;;AAEA;;;;;;;;;;;;ACbA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;;;;;;ACfA,cAAc,mBAAO,CAAC,qDAAY;AAClC,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,eAAe,mBAAO,CAAC,uDAAa;AACpC,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvBA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,aAAa,mBAAO,CAAC,mDAAW;AAChC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,uDAAa;AACpC,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9CA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3DA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,0BAA0B,mBAAO,CAAC,6EAAwB;AAC1D,eAAe,mBAAO,CAAC,qDAAY;AACnC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,eAAe,mBAAO,CAAC,qDAA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,SAAS,mBAAO,CAAC,yCAAM;AACvB,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/GA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,WAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;;AAEA;;;;;;;;;;;;ACLA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,+DAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;;;;;AC7BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;AAC1B,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;;;;;AC1BA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7LA,iBAAiB,mBAAO,CAAC,mDAAW;;;;;;;;;;;;ACApC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACxCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,yDAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,mDAAW;AACjC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA,MAAM,mBAAmB;AACzB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpDA,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACxEA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,YAAY,mBAAO,CAAC,iDAAU;AAC9B,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjEA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,WAAW;AACX,YAAY;AACZ,cAAc;AACd,kBAAkB;AAClB,cAAc;AACd,YAAY;AACZ,iBAAiB;AACjB,YAAY;AACZ,YAAY;AACZ,aAAa;AACb,kBAAkB;AAClB,YAAY;AACZ,cAAc;AACd,aAAa;AACb,cAAc;AACd,kBAAkB;AAClB,aAAa;AACb,YAAY;AACZ,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,kBAAkB;AAClB;AACA;;AAEQ;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;ACpDF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,QAAQ;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,EAAE;AAChD;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,aAAa;AAChC,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,uCAAuC;AAC9D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,MAAM;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,MAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sBAAsB;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,SAAS;AAC5B,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,MAAM;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,SAAS;AAC5B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAmD,kBAAkB;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,mBAAmB,SAAS;AAC5B,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,QAAQ,KAA6B;AACrC;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,mCAAO;A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ACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,wFAAwF,SAAM;AACzI;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;AC1iBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAiD;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,2DAAa;AACtB;AACA;AACA;AACA,wBAAwB,iEAAiE;AACzF;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0CAA0C;AAC/D;AACA,GAAG;AACH;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,2DAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,sDAAsD,2DAAa;AACnE;AACA;AACA;AACA,OAAO;AACP;AACA,aAAa,2DAAa;AAC1B;AACA,SAAS,2DAA2D;AACpE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,aAAa,2DAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT,iCAAiC,2DAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA,CAAC,CAAC,+CAAS;;AAEX;AACA,4CAA4C;AAC5C,kCAAkC;AAClC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEe,wEAAS,EAAC;;;;;;;;;;;;;ACjuBZ;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,0BAA0B,mBAAO,CAAC,gFAAyB;AAC3D,YAAY,mBAAO,CAAC,oBAAO;AAC3B,eAAe,mBAAO,CAAC,4BAAW;;AAElC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;;AAEA;AACA,E;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,uFAAgB;;AAE5C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,+DAA+D;AACpE,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sD;;;;;;;;;;;;ACzEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,qCAAqC;;AAE3C,+CAA+C,uBAAuB;AACtE;;AAEA,+B;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,qBAAqB,mBAAO,CAAC,yFAAiB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,uCAAuC;;AAE7C;AACA;AACA,KAAK,6DAA6D;AAClE,0CAA0C,yBAAyB;AACnE;AACA;AACA,OAAO,qBAAqB;AAC5B,wEAAwE,8BAA8B;AACtG;AACA;AACA,SAAS,sBAAsB;AAC/B;AACA;AACA;AACA;AACA;AACA,OAAO,qBAAqB;AAC5B,8DAA8D,sEAAsE;AACpI;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gD;;;;;;;;;;;;ACjJa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,yBAAyB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,0CAA0C,sBAAsB;AAChE;AACA;;AAEA,gC;;;;;;;;;;;;AClEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,wFAAgB;;AAE5C;;AAEA,qBAAqB,mBAAO,CAAC,0FAAiB;;AAE9C;;AAEA,2BAA2B,mBAAO,CAAC,sGAAuB;;AAE1D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,6BAA6B;;AAEnC;AACA;AACA,KAAK,gEAAgE;AACrE;AACA;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,qBAAqB;AAC5B;AACA;AACA,SAAS,mDAAmD;AAC5D;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA,aAAa,uBAAuB;AACpC,kDAAkD,uBAAuB;AACzE,+DAA+D,uBAAuB;AACtF;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iD;;;;;;;;;;;;AC3Ma;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;;AAE9e;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,wBAAwB,cAAc;AACtC,OAAO;AACP,wBAAwB,cAAc;AACtC,OAAO;AACP;AACA,0BAA0B,cAAc;AACxC,SAAS;AACT,0BAA0B,cAAc;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC,OAAO;AACP,uBAAuB,cAAc;AACrC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,SAAS,+CAA+C;AACxD;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA,aAAa;AACb;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,+B;;;;;;;;;;;;AC7Va;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,+CAA+C,uBAAuB;AACtE;;AAEA,gC;;;;;;;;;;;;AClCa;;AAEb;AACA;AACA,CAAC;AAC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;;AAEA,sBAAsB,wBAAwB;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2EAA2E;AAC3E,WAAW;AACX;AACA;;AAEA;AACA,4BAA4B,+BAA+B;AAC3D,WAAW;AACX,4BAA4B,yBAAyB;AACrD;AACA;;AAEA;AACA;AACA;AACA,2EAA2E;AAC3E,WAAW;AACX;AACA;;AAEA;AACA,4BAA4B,+BAA+B;AAC3D,WAAW;AACX,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mDAAmD;AAC5E,SAAS;AACT,yBAAyB,0HAA0H;AACnJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sFAAsF;AACtF,yFAAyF;AACzF;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,SAAS,qBAAqB;AAC9B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW,yDAAyD;AACpE;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,gC;;;;;;;;;;;;ACpMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,wEA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A;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG,+BAA+B;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,0CAA0C,uFAAuF,+EAA+E,aAAa,+BAA+B,+EAA+E,uEAAuE,aAAa;AAC/Z;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,gDAAgD,qDAAqD;AACrG;AACA;AACA,aAAa,wBAAwB;AACrC,uIAAuI,uBAAuB;AAC9J;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,6B;;;;;;;;;;;;AC/Ja;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,mBAAmB,mBAAO,CAAC,wFAA2B;;AAEtD,QAAQ,mBAAO,CAAC,qEAAI;;AAEpB,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gCAAgC;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,wD;;;;;;;;;;;;ACpFa;;AAEb;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,0EAAS;;AAE9B;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kBAAkB,mBAAO,CAAC,oFAAc;;AAExC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,qBAAqB,mBAAO,CAAC,0FAAiB;;AAE9C;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,WAAW,mBAAO,CAAC,sEAAO;;AAE1B;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,4EAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kBAAkB,mBAAO,CAAC,oFAAc;;AAExC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,kFAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,4EAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,sCAAsC,uCAAuC,gBAAgB,E;;;;;;;;;;;;AC9EhF;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,yFAAgB;;AAE5C;;AAEA,qBAAqB,mBAAO,CAAC,2FAAiB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK,wBAAwB;AAC7B;AACA;AACA,OAAO,kEAAkE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,8CAA8C,sBAAsB;AACpE;AACA,8DAA8D,6CAA6C;AAC3G;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kD;;;;;;;;;;;;AC9Ga;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,+FAA+F;;AAErG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,KAAK;AACL,0CAA0C,oBAAoB;AAC9D;AACA;;AAEA,+B;;;;;;;;;;;;AClFa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK,iDAAiD;AACtD,0CAA0C,uBAAuB;AACjE;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,gC;;;;;;;;;;;;ACpIa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,wFAAgB;;AAE5C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA,KAAK,8DAA8D;AACnE,0CAA0C,+BAA+B;AACzE,0CAA0C,yBAAyB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iD;;;;;;;;;;;;AC5Ja;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;;AAErB;AACA;AACA,KAAK,uBAAuB;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2D;;;;;;;;;;;;ACzDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,kBAAkB,mBAAO,CAAC,iFAAc;;AAExC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA,KAAK,6DAA6D;AAClE,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oD;;;;;;;;;;;;ACxEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,qCAAqC;;AAE3C,+CAA+C,uBAAuB;AACtE;;AAEA,gC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,oEAAoE;AAC3E;AACA,gBAAgB,uEAAuE;AACvF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS,gDAAgD;AACzD;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,oBAAoB,uEAAuE;AAC3F;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,oBAAoB,uEAAuE;AAC3F;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,oBAAoB,uEAAuE;AAC3F;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA,mD;;;;;;;;;;;;AClKa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,uBAAuB,mBAAO,CAAC,iGAAmB;;AAElD;;AAEA,8BAA8B,mBAAO,CAAC,+GAA0B;;AAEhE;;AAEA,wBAAwB,mBAAO,CAAC,mGAAoB;;AAEpD;;AAEA,uBAAuB,mBAAO,CAAC,iGAAmB;;AAElD;;AAEA,yBAAyB,mBAAO,CAAC,qGAAqB;;AAEtD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,SAAS,mEAAmE;AAC5E;AACA;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA,aAAa,2BAA2B;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA,eAAe,8CAA8C;AAC7D;AACA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC,0EAA0E,0DAA0D;AACpI,0EAA0E,gDAAgD;AAC1H;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oD;;;;;;;;;;;;AC3Ma;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,iBAAiB;;AAEvB;AACA;AACA,KAAK,yCAAyC;AAC9C;AACA;AACA;;AAEA,kC;;;;;;;;;;;;ACrDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK,uBAAuB;AAC5B;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL,0CAA0C,wBAAwB;AAClE;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL,0CAA0C,wBAAwB;AAClE;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO,6BAA6B;AACpC;AACA;AACA,SAAS,uBAAuB;AAChC;AACA;AACA;AACA;AACA,SAAS,uBAAuB;AAChC;AACA;AACA;AACA;AACA,SAAS,uBAAuB;AAChC;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;;;;;;AChMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,wBAAwB;AAC7B;AACA;AACA,OAAO,qBAAqB;AAC5B,4CAA4C,2BAA2B;AACvE;AACA;AACA;AACA,OAAO,sBAAsB;AAC7B,4CAA4C,4BAA4B;AACxE;AACA;AACA;;AAEA,yC;;;;;;;;;;;;AC1Ea;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,+BAA+B;;AAErC,+CAA+C,uBAAuB;AACtE;;AAEA,yC;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA;AACA;AACA,OAAO,yBAAyB;AAChC,4CAA4C,oBAAoB;AAChE,4CAA4C,wBAAwB;AACpE;AACA;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,wFAAgB;;AAE5C;;AAEA,0BAA0B,mBAAO,CAAC,oGAAsB;;AAExD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,GAAG,6BAA6B;;AAEnC;AACA;AACA,KAAK,gEAAgE;AACrE;AACA;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,mDAAmD;AAC1D;AACA;AACA,SAAS,wBAAwB;AACjC;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS,sBAAsB;AAC/B;AACA,8CAA8C,4BAA4B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iD;;;;;;;;;;;;ACjMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,6BAA6B;;AAEnC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK,iDAAiD;AACtD;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA,gBAAgB,2CAA2C;AAC3D;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA,gBAAgB,2CAA2C;AAC3D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA,gBAAgB,2CAA2C;AAC3D;AACA;AACA;AACA;AACA;AA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CA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,gDAAgD,sBAAsB;AACtE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA,mD;;;;;;;;;;;;ACrHa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,KAAK;AACL;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,SAAS,SAAS,gCAAgC,wBAAwB;AAC1E,+CAA+C,+DAA+D;AAC9G;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AC1Ga;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,qBAAqB,mBAAO,CAAC,4FAAiB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,sBAAsB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA,gC;;;;;;;;;;;;AC3Da;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK,+DAA+D;AACpE,0CAA0C,+BAA+B;AACzE,0CAA0C,yBAAyB;AACnE;AACA;AACA,OAAO,qBAAqB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS,qBAAqB;AAC9B;AACA;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA,OAAO;AACP,4CAA4C,sBAAsB;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kD;;;;;;;;;;;;ACtMa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACpCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,YAAY,mBAAO,CAAC,kDAAa;;AAEjC;;AAEA,iBAAiB,mBAAO,CAAC,0DAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAA2B;AACnC;AACA,QAAQ,2BAA2B;AACnC,QAAQ;AACR,E;;;;;;;;;;;;ACjFa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACxDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;;;AAG9e;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,qEAAqE,aAAa;AAClF;AACA;;AAEA,+LAA+L,eAAe;AAC9M,+BAA+B,cAAc;AAC7C,OAAO;AACP,+BAA+B,eAAe;AAC9C,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,8DAA8D;AAC9D;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH,E;;;;;;;;;;;;AC5Da;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACrCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,0FAA0B;;AAE/C;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,0FAA0B;;AAE/C;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,eAAe,mBAAO,CAAC,kGAA8B;;AAErD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,WAAW,mBAAO,CAAC,kFAAsB;;AAEzC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,sGAAgC;;AAExD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,0GAAkC;;AAE3D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,sGAAgC;;AAExD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,eAAe,mBAAO,CAAC,kGAA8B;;AAErD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,oGAA+B;;AAExD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,mC;;;;;;;;;;;;ACzIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0B;AACS;AACC;AACc;AACtB;AAC8B;;AAE1D;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;AAUA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AAQD;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;AAYA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,kCAAkC,4CAAK;AACvC;AACA,aAAa,uDAAuD;AACpE;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,OAAO;AACP,wBAAwB,4CAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU,4CAAK,qBAAqB,6HAA6H;AACjK;AACA;;AAEA;AACA;AACA,OAAO;AACP,qBAAqB,4CAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU,4CAAK,qBAAqB,6HAA6H;AACjK;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,iDAAU;AAClC;AACA;AACA,KAAK;;AAEL,WAAW,4CAAK;AAChB;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,0BAA0B,iDAAS;AACnC,QAAQ,iDAAS;AACjB,0BAA0B,iDAAS;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,UAAU,6CAAM,8BAA8B,6CAAM;AACpD;AACA;;AAEA;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+CAA+C,6CAAM;AACrD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,YAAY,6CAA6C;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;AAMA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA,uCAAuC,6CAAM;AAC7C;;;;;;;;AAQA;AACA;AACA;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,oFAAoF;AACpF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA,oFAAoF;AACpF;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,6CAAM;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oFAAoF;AACpF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,oFAAoF;AACpF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,6CAAM;AACjB;AACA,KAAK;AACL,GAAG;AACH,WAAW,6CAAM;AACjB,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,6CAAM;AACjB;AACA,KAAK;AACL,GAAG;AACH,WAAW,6CAAM;AACjB,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,mDAAmD,UAAU;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,oEAAc;;AAE/C;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,2BAA2B,cAAc;AACzC,qBAAqB,4CAAK;AAC1B;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK,wBAAwB,4DAA4D;AACjG,QAAQ,4CAAK;AACb;AACA,WAAW,+DAA+D;AAC1E;AACA;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,sBAAsB,iDAAS;AAC/B,gBAAgB,iDAAS;AACzB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,YAAY,iDAAS;AACrB,0BAA0B,iDAAS;AACnC,QAAQ,iDAAS;AACjB,0BAA0B,iDAAS;AACnC,QAAQ,iDAAS;AACjB,YAAY,iDAAS;AACrB,WAAW,iDAAS;AACpB;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,oCAAoC,4CAAK;AACzC;AACA,aAAa,wDAAwD;AACrE;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,WAAW,4CAAK;AAChB;AACA,OAAO,gDAAgD;AACvD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,SAAS,iDAAS;AAClB,cAAc,iDAAS,SAAS,iDAAS;AACzC;;AAEA,kCAAkC,oEAAc;;AAEhD;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,eAAe,4CAAK;AACpB;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA,OAAO;AACP,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA,SAAS;AACT,QAAQ,4CAAK,wBAAwB,6DAA6D;AAClG,QAAQ,4CAAK;AACb;AACA,WAAW,iEAAiE;AAC5E;AACA;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,wDAAwD,OAAO;AAC/D,KAAK;AACL,mDAAmD,OAAO;AAC1D,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,gBAAgB,iDAAS;AACzB,UAAU,iDAAS;AACnB,cAAc,iDAAS;AACvB,SAAS,iDAAS;AAClB,YAAY,iDAAS;AACrB,2BAA2B,iDAAS;AACpC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,4BAA4B,4CAAK;AACjC;AACA,aAAa,6DAA6D;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,iDAAU;AAClC;AACA;AACA,KAAK;;AAEL,WAAW,4CAAK;AAChB;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,+BAA+B,iDAAS;AACxC,QAAQ,iDAAS;AACjB,cAAc,iDAAS;AACvB;;AAEA,sCAAsC,oEAAc;;AAEpD;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,4CAAK;AAC1B;AACA,WAAW,mCAAmC;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK,wBAAwB,kEAAkE;AACvG,QAAQ,4CAAK;AACb;AACA,WAAW,2EAA2E;AACtF;AACA;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,gBAAgB,iDAAS;AACzB,cAAc,iDAAS;AACvB,UAAU,iDAAS;AACnB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,QAAQ,iDAAS;AACjB,YAAY,iDAAS;AACrB,+BAA+B,iDAAS;AACxC;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,aAAa,iDAAU;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,WAAW,4CAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,8BAA8B,iDAAS;AACvC,OAAO,iDAAS;AAChB,gBAAgB,iD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AAS;AACpB,cAAc,iDAAS;AACvB,mBAAmB,iDAAS;AAC5B,gBAAgB,iDAAS;AACzB,gBAAgB,iDAAS;AACzB,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,YAAY,iDAAS;AACrB,iBAAiB,iDAAS;AAC1B,cAAc,iDAAS;AACvB,gBAAgB,iDAAS;AACzB,mBAAmB,iDAAS;AAC5B,aAAa,iDAAS;AACtB,aAAa,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AAC7D,qBAAqB,iDAAS;AAC9B;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,qBAAqB,gBAAgB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP,MAAM,4CAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK;AACb;AACA,WAAW,6CAA6C;AACxD;AACA;AACA;AACA,MAAM,4CAAK;AACX;AACA,SAAS,sCAAsC;AAC/C,QAAQ,4CAAK;AACb;AACA,WAAW,0CAA0C;AACrD,UAAU,4CAAK;AACf;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,+BAA+B,iBAAiB;AAChD,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,UAAU,iDAAS;AACnB,gBAAgB,iDAAS;AACzB,aAAa,iDAAS;AACtB,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,eAAe,iDAAS;AACxB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,gBAAgB,iDAAS;AACzB,YAAY,iDAAS;AACrB,eAAe,iDAAS;AACxB,eAAe,iDAAS;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD,SAAS,4CAAK;AACd;AACA,KAAK,uBAAuB;AAC5B,IAAI,4CAAK,gCAAgC,0CAA0C;AACnF;AACA;AACA;;AAEA;AACA,aAAa,iDAAS;AACtB,YAAY,iDAAS;AACrB,cAAc,iDAAS;AACvB;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,qBAAqB;AAClD;;AAEA;AACA,6BAA6B,sBAAsB;AACnD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,4CAAK;AAC3B;AACA,WAAW,oDAAoD;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,4CAAK;AACpB;AACA,WAAW,uDAAuD;AAClE;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA,SAAS,+BAA+B;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA,SAAS,wCAAwC;AACjD;AACA,QAAQ,4CAAK;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,QAAQ,4CAAK;AACb;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA,SAAS;AACT,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK;AACb;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA,uBAAuB,4CAAK;AAC5B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX,qEAAqE,6BAA6B,+BAA+B,6BAA6B;AAC9J,UAAU,4CAAK;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wCAAwC;AACjE,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA,mBAAmB,iDAAU;AAC7B;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,sBAAsB,iDAAS;AAC/B,aAAa,iDAAS;AACtB,YAAY,iDAAS;AACrB,aAAa,iDAAS;AACtB,cAAc,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AAC9D,gBAAgB,iDAAS;AACzB,8BAA8B,iDAAS;AACvC,gBAAgB,iDAAS;AACzB,WAAW,iDAAS;AACpB,gBAAgB,iDAAS;AACzB,cAAc,iDAAS;AACvB,eAAe,iDAAS;AACxB,oBAAoB,iDAAS;AAC7B,kBAAkB,iDAAS;AAC3B,gBAAgB,iDAAS;AACzB,gBAAgB,iDAAS;AACzB,eAAe,iDAAS;AACxB,UAAU,iDAAS;AACnB,UAAU,iDAAS;AACnB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,eAAe,iDAAS;AACxB,kBAAkB,iDAAS;AAC3B,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,4BAA4B,iDAAS;AACrC,mBAAmB,iDAAS;AAC5B,YAAY,iDAAS;AACrB,gBAAgB,iDAAS;AACzB,kBAAkB,iDAAS;AAC3B,sBAAsB,iDAAS;AAC/B,cAAc,iDAAS;AACvB,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,gBAAgB,iDAAS;AACzB,eAAe,iDAAS;AACxB,cAAc,iDAAS;AACvB,iBAAiB,iDAAS;AAC1B,0BAA0B,iDAAS;AACnC,+BAA+B,iDAAS;AACxC,gBAAgB,iDAAS;AACzB,YAAY,iDAAS;AACrB,cAAc,iDAAS;AACvB,gBAAgB,iDAAS;AACzB,qBAAqB,iDAAS;AAC9B,yBAAyB,iDAAS;AAClC,mBAAmB,iDAAS;AAC5B,oBAAoB,iDAAS;AAC7B,aAAa,iDAAS;AACtB,eAAe,iDAAS;AACxB,oBAAoB,iDAAS;AAC7B,iBAAiB,iDAAS;AAC1B,cAAc,iDAAS;AACvB,aAAa,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AAC7D,aAAa,iDAAS;AACtB,0BAA0B,iDAAS;AACnC,WAAW,iDAAS;AACpB,2BAA2B,iDAAS;AACpC,+BAA+B,iDAAS;AACxC,4BAA4B,iDAAS;AACrC,wBAAwB,iDAAS;AACjC,sBAAsB,iDAAS;AAC/B,qBAAqB,iDAAS;AAC9B;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA,oBAAoB,iDAAU;AAC9B,eAAe,4CAAK;AACpB,QAAQ,mDAAM;AACd;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB,4CAAK;AACtB;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA,aAAa;AACb,YAAY,4CAAK,gCAAgC,yBAAyB;AAC1E;AACA;AACA;AACA;;AAEA;AACA,eAAe,4CAAK,6CAA6C;AACjE;;AAEA,WAAW,4CAAK;AAChB,MAAM,oDAAO;AACb;AACA,MAAM,4CAAK;AACX,QAAQ,sDAAS;AACjB;AACA;AACA;AACA,iBAAiB,4CAAK;AACtB;AACA,aAAa,kDAAkD;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,aAAa,iDAAS;AACtB,cAAc,iDAAS;AACvB,mBAAmB,iDAAS;AAC5B,mBAAmB,iDAAS;AAC5B,mBAAmB,iDAAS;AAC5B,mBAAmB,iDAAS;AAC5B,eAAe,iDAAS;AACxB,mBAAmB,iDAAS;AAC5B;;AAEA;AACA,sBAAsB,oEAAc;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,sCAAsC;AACtC,oCAAoC;AACpC,0CAA0C;AAC1C,gDAAgD;AAChD,wCAAwC;AACxC,uDAAuD;AACvD,kDAAkD;;AAElD;AACA,gDAAgD;AAChD,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA,4BAA4B,mBAAmB;AAC/C,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,qBAAqB;AAC3C;AACA,iCAAiC,sBAAsB;AACvD,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,oCAAoC,4BAA4B;AAChE;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,4BAA4B;AAClE;AACA,iBAAiB;AACjB;AACA;AACA,wBAAwB,qDAAqD;AAC7E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,iDAAU,yCAAyC;;AAEzE,mDAAmD,4CAAK,yBAAyB,eAAe;AAChG;AACA;;AAEA,aAAa,4CAAK,oDAAoD;AACtE;AACA,OAAO;AACP;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,4CAAK;AAClB;AACA;AACA,6BAA6B,4CAAK;AAClC;AACA,WAAW,iDAAiD;AAC5D;AACA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CA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,6DAAW;AACtC;AACA;;AAEA;AACA,2BAA2B,6DAAW;AACtC;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,aAAa,2DAAa;AAC1B;;AAEA;AACA,GAAG,CAAC,+CAAS;AACb;AACA;AACA;AA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AAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC,OAAO;AACP;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,+B;;;;;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AC1CA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,IAAI,KAA6B;AACjC;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,mCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA,KAAK,EAEJ;;AAED,CAAC;;;;;;;;;;;;AC1qCD;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACjCA,UAAU,mBAAO,CAAC,yDAAW;AAC7B,kBAAkB,mBAAO,CAAC,iEAAmB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,aAAoB;;AAElC;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACrBA,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,sCAAsC,EAAE,I;;;;;;;;;;;ACArD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,+CAA+C,EAAE,I;;;;;;;;;;;ACA9D,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,gCAAgC,EAAE,I;;;;;;;;;;;ACA/C,aAAa,mCAAmC,EAAE,I","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/@wordpress/components/build-module/index.js\");\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escapeRegExp, find, map, debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, renderToString } from '@wordpress/element';\nimport { ENTER, ESCAPE, UP, DOWN, LEFT, RIGHT, SPACE } from '@wordpress/keycodes';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport {\n\tcreate,\n\tslice,\n\tinsert,\n\tisCollapsed,\n\tgetTextContent,\n} from '@wordpress/rich-text';\nimport { getRectangleFromRange } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport Button from '../button';\nimport Popover from '../popover';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\n/**\n * A raw completer option.\n * @typedef {*} CompleterOption\n */\n\n/**\n * @callback FnGetOptions\n *\n * @returns {(CompleterOption[]|Promise.<CompleterOption[]>)} The completer options or a promise for them.\n */\n\n/**\n * @callback FnGetOptionKeywords\n * @param {CompleterOption} option a completer option.\n *\n * @returns {string[]} list of key words to search.\n */\n\n/**\n * @callback FnIsOptionDisabled\n * @param {CompleterOption} option a completer option.\n *\n * @returns {string[]} whether or not the given option is disabled.\n */\n\n/**\n * @callback FnGetOptionLabel\n * @param {CompleterOption} option a completer option.\n *\n * @returns {(string|Array.<(string|Component)>)} list of react components to render.\n */\n\n/**\n * @callback FnAllowNode\n * @param {Node} textNode check if the completer can handle this text node.\n *\n * @returns {boolean} true if the completer can handle this text node.\n */\n\n/**\n * @callback FnAllowContext\n * @param {Range} before the range before the auto complete trigger and query.\n * @param {Range} after the range after the autocomplete trigger and query.\n *\n * @returns {boolean} true if the completer can handle these ranges.\n */\n\n/**\n * @typedef {Object} OptionCompletion\n * @property {('insert-at-caret', 'replace')} action the intended placement of the completion.\n * @property {OptionCompletionValue} value the completion value.\n */\n\n/**\n * A completion value.\n * @typedef {(String|WPElement|Object)} OptionCompletionValue\n */\n\n/**\n * @callback FnGetOptionCompletion\n * @param {CompleterOption} value the value of the completer option.\n * @param {Range} range the nodes included in the autocomplete trigger and query.\n * @param {String} query the text value of the autocomplete query.\n *\n * @returns {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an\n * \t\t\t\t\t\t\t\t\t\t\t\t\t OptionCompletionValue is returned, the\n * \t\t\t\t\t\t\t\t\t\t\t\t\t completion action defaults to `insert-at-caret`.\n */\n\n/**\n * @typedef {Object} Completer\n * @property {String} name a way to identify a completer, useful for selective overriding.\n * @property {?String} className A class to apply to the popup menu.\n * @property {String} triggerPrefix the prefix that will display the menu.\n * @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.\n * @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.\n * @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.\n * @property {FnGetOptionLabel} getOptionLabel get the label for a given option.\n * @property {?FnAllowNode} allowNode filter the allowed text nodes in the autocomplete.\n * @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.\n * @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.\n */\n\nfunction filterOptions( search, options = [], maxResults = 10 ) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) => search.test( keyword ) );\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nfunction getCaretRect() {\n\tconst range = window.getSelection().getRangeAt( 0 );\n\n\tif ( range ) {\n\t\treturn getRectangleFromRange( range );\n\t}\n}\n\nexport class Autocomplete extends Component {\n\tstatic getInitialState() {\n\t\treturn {\n\t\t\tsearch: /./,\n\t\t\tselectedIndex: 0,\n\t\t\tsuppress: undefined,\n\t\t\topen: undefined,\n\t\t\tquery: undefined,\n\t\t\tfilteredOptions: [],\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.select = this.select.bind( this );\n\t\tthis.reset = this.reset.bind( this );\n\t\tthis.resetWhenSuppressed = this.resetWhenSuppressed.bind( this );\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t\tthis.debouncedLoadOptions = debounce( this.loadOptions, 250 );\n\n\t\tthis.state = this.constructor.getInitialState();\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\tinsertCompletion( replacement ) {\n\t\tconst { open, query } = this.state;\n\t\tconst { record, onChange } = this.props;\n\t\tconst end = record.start;\n\t\tconst start = end - open.triggerPrefix.length - query.length;\n\t\tconst toInsert = create( { html: renderToString( replacement ) } );\n\n\t\tonChange( insert( record, toInsert, start, end ) );\n\t}\n\n\tselect( option ) {\n\t\tconst { onReplace } = this.props;\n\t\tconst { open, query } = this.state;\n\t\tconst { getOptionCompletion } = open || {};\n\n\t\tif ( option.isDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( getOptionCompletion ) {\n\t\t\tconst completion = getOptionCompletion( option.value, query );\n\n\t\t\tconst { action, value } =\n\t\t\t\t( undefined === completion.action || undefined === completion.value ) ?\n\t\t\t\t\t{ action: 'insert-at-caret', value: completion } :\n\t\t\t\t\tcompletion;\n\n\t\t\tif ( 'replace' === action ) {\n\t\t\t\tonReplace( [ value ] );\n\t\t\t} else if ( 'insert-at-caret' === action ) {\n\t\t\t\tthis.insertCompletion( value );\n\t\t\t}\n\t\t}\n\n\t\t// Reset autocomplete state after insertion rather than before\n\t\t// so insertion events don't cause the completion menu to redisplay.\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tconst isMounted = !! this.node;\n\n\t\t// Autocompletions may replace the block containing this component,\n\t\t// so we make sure it is mounted before resetting the state.\n\t\tif ( isMounted ) {\n\t\t\tthis.setState( this.constructor.getInitialState() );\n\t\t}\n\t}\n\n\tresetWhenSuppressed() {\n\t\tconst { open, suppress } = this.state;\n\t\tif ( open && suppress === open.idx ) {\n\t\t\tthis.reset();\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.reset();\n\t}\n\n\tannounce( filteredOptions ) {\n\t\tconst { debouncedSpeak } = this.props;\n\t\tif ( ! debouncedSpeak ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( !! filteredOptions.length ) {\n\t\t\tdebouncedSpeak( sprintf( _n(\n\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\tfilteredOptions.length\n\t\t\t), filteredOptions.length ), 'assertive' );\n\t\t} else {\n\t\t\tdebouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t}\n\t}\n\n\t/**\n\t * Load options for an autocompleter.\n\t *\n\t * @param {Completer} completer The autocompleter.\n\t * @param {string} query The query, if any.\n\t */\n\tloadOptions( completer, query ) {\n\t\tconst { options } = completer;\n\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tconst promise = this.activePromise = Promise.resolve(\n\t\t\ttypeof options === 'function' ? options( query ) : options\n\t\t).then( ( optionsData ) => {\n\t\t\tif ( promise !== this.activePromise ) {\n\t\t\t\t// Another promise has become active since this one was asked to resolve, so do nothing,\n\t\t\t\t// or else we might end triggering a race condition updating the state.\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst keyedOptions = optionsData.map( ( optionData, optionIndex ) => ( {\n\t\t\t\tkey: `${ completer.idx }-${ optionIndex }`,\n\t\t\t\tvalue: optionData,\n\t\t\t\tlabel: completer.getOptionLabel( optionData ),\n\t\t\t\tkeywords: completer.getOptionKeywords ? completer.getOptionKeywords( optionData ) : [],\n\t\t\t\tisDisabled: completer.isOptionDisabled ? completer.isOptionDisabled( optionData ) : false,\n\t\t\t} ) );\n\n\t\t\tconst filteredOptions = filterOptions( this.state.search, keyedOptions );\n\t\t\tconst selectedIndex = filteredOptions.length === this.state.filteredOptions.length ? this.state.selectedIndex : 0;\n\t\t\tthis.setState( {\n\t\t\t\t[ 'options_' + completer.idx ]: keyedOptions,\n\t\t\t\tfilteredOptions,\n\t\t\t\tselectedIndex,\n\t\t\t} );\n\t\t\tthis.announce( filteredOptions );\n\t\t} );\n\t}\n\n\thandleKeyDown( event ) {\n\t\tconst { open, suppress, selectedIndex, filteredOptions } = this.state;\n\t\tif ( ! open ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( suppress === open.idx ) {\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t// cancel popup suppression on CTRL+SPACE\n\t\t\t\tcase SPACE:\n\t\t\t\t\tconst { ctrlKey, shiftKey, altKey, metaKey } = event;\n\t\t\t\t\tif ( ctrlKey && ! ( shiftKey || altKey || metaKey ) ) {\n\t\t\t\t\t\tthis.setState( { suppress: undefined } );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\t// reset on cursor movement\n\t\t\t\tcase UP:\n\t\t\t\tcase DOWN:\n\t\t\t\tcase LEFT:\n\t\t\t\tcase RIGHT:\n\t\t\t\t\tthis.reset();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif ( filteredOptions.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tlet nextSelectedIndex;\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP:\n\t\t\t\tnextSelectedIndex = ( selectedIndex === 0 ? filteredOptions.length : selectedIndex ) - 1;\n\t\t\t\tthis.setState( { selectedIndex: nextSelectedIndex } );\n\t\t\t\tbreak;\n\n\t\t\tcase DOWN:\n\t\t\t\tnextSelectedIndex = ( selectedIndex + 1 ) % filteredOptions.length;\n\t\t\t\tthis.setState( { selectedIndex: nextSelectedIndex } );\n\t\t\t\tbreak;\n\n\t\t\tcase ESCAPE:\n\t\t\t\tthis.setState( { suppress: open.idx } );\n\t\t\t\tbreak;\n\n\t\t\tcase ENTER:\n\t\t\t\tthis.select( filteredOptions[ selectedIndex ] );\n\t\t\t\tbreak;\n\n\t\t\tcase LEFT:\n\t\t\tcase RIGHT:\n\t\t\t\tthis.reset();\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Any handled keycode should prevent original behavior. This relies on\n\t\t// the early return in the default case.\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n\n\ttoggleKeyEvents( isListening ) {\n\t\t// This exists because we must capture ENTER key presses before RichText.\n\t\t// It seems that react fires the simulated capturing events after the\n\t\t// native browser event has already bubbled so we can't stopPropagation\n\t\t// and avoid RichText getting the event from TinyMCE, hence we must\n\t\t// register a native event handler.\n\t\tconst handler = isListening ? 'addEventListener' : 'removeEventListener';\n\t\tthis.node[ handler ]( 'keydown', this.handleKeyDown, true );\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { record, completers } = this.props;\n\t\tconst { record: prevRecord } = prevProps;\n\t\tconst { open: prevOpen } = prevState;\n\n\t\tif ( ( ! this.state.open ) !== ( ! prevOpen ) ) {\n\t\t\tthis.toggleKeyEvents( ! ! this.state.open );\n\t\t}\n\n\t\tif ( isCollapsed( record ) ) {\n\t\t\tconst text = getTextContent( slice( record, 0 ) );\n\t\t\tconst prevText = getTextContent( slice( prevRecord, 0 ) );\n\n\t\t\tif ( text !== prevText ) {\n\t\t\t\tconst textAfterSelection = getTextContent( slice( record, undefined, getTextContent( record ).length ) );\n\t\t\t\tconst allCompleters = map( completers, ( completer, idx ) => ( { ...completer, idx } ) );\n\t\t\t\tconst open = find( allCompleters, ( { triggerPrefix, allowContext } ) => {\n\t\t\t\t\tconst index = text.lastIndexOf( triggerPrefix );\n\n\t\t\t\t\tif ( index === -1 ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( allowContext && ! allowContext( text.slice( 0, index ), textAfterSelection ) ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn /^\\w*$/.test( text.slice( index + triggerPrefix.length ) );\n\t\t\t\t} );\n\n\t\t\t\tif ( ! open ) {\n\t\t\t\t\tthis.reset();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst match = text.match( new RegExp( `${ open.triggerPrefix }(\\\\w*)$` ) );\n\t\t\t\tconst query = match && match[ 1 ];\n\t\t\t\tconst { open: wasOpen, suppress: wasSuppress, query: wasQuery } = this.state;\n\n\t\t\t\tif ( open && ( ! wasOpen || open.idx !== wasOpen.idx || query !== wasQuery ) ) {\n\t\t\t\t\tif ( open.isDebounced ) {\n\t\t\t\t\t\tthis.debouncedLoadOptions( open, query );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.loadOptions( open, query );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// create a regular expression to filter the options\n\t\t\t\tconst search = open ? new RegExp( '(?:\\\\b|\\\\s|^)' + escapeRegExp( query ), 'i' ) : /./;\n\t\t\t\t// filter the options we already have\n\t\t\t\tconst filteredOptions = open ? filterOptions( search, this.state[ 'options_' + open.idx ] ) : [];\n\t\t\t\t// check if we should still suppress the popover\n\t\t\t\tconst suppress = ( open && wasSuppress === open.idx ) ? wasSuppress : undefined;\n\t\t\t\t// update the state\n\t\t\t\tif ( wasOpen || open ) {\n\t\t\t\t\tthis.setState( { selectedIndex: 0, filteredOptions, suppress, search, open, query } );\n\t\t\t\t}\n\t\t\t\t// announce the count of filtered options but only if they have loaded\n\t\t\t\tif ( open && this.state[ 'options_' + open.idx ] ) {\n\t\t\t\t\tthis.announce( filteredOptions );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleKeyEvents( false );\n\t\tthis.debouncedLoadOptions.cancel();\n\t}\n\n\trender() {\n\t\tconst { children, instanceId } = this.props;\n\t\tconst { open, suppress, selectedIndex, filteredOptions } = this.state;\n\t\tconst { key: selectedKey = '' } = filteredOptions[ selectedIndex ] || {};\n\t\tconst { className, idx } = open || {};\n\t\tconst isExpanded = suppress !== idx && filteredOptions.length > 0;\n\t\tconst listBoxId = isExpanded ? `components-autocomplete-listbox-${ instanceId }` : null;\n\t\tconst activeId = isExpanded ? `components-autocomplete-item-${ instanceId }-${ selectedKey }` : null;\n\n\t\t// Disable reason: Clicking the editor should reset the autocomplete when the menu is suppressed\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ this.bindNode }\n\t\t\t\tonClick={ this.resetWhenSuppressed }\n\t\t\t\tclassName=\"components-autocomplete\"\n\t\t\t>\n\t\t\t\t{ children( { isExpanded, listBoxId, activeId } ) }\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tonClose={ this.reset }\n\t\t\t\t\t\tposition=\"top right\"\n\t\t\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\t\t\tgetAnchorRect={ getCaretRect }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={ listBoxId }\n\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isExpanded && map( filteredOptions, ( option, index ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\t\t\t\tclassName={ classnames( 'components-autocomplete__result', className, {\n\t\t\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonClick={ () => this.select( option ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t}\n}\n\nexport default compose( [\n\twithSpokenMessages,\n\twithInstanceId,\n\twithFocusOutside, // this MUST be the innermost HOC as it calls handleFocusOutside\n] )( Autocomplete );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction BaseControl( { id, label, help, className, children } ) {\n\treturn (\n\t\t<div className={ classnames( 'components-base-control', className ) }>\n\t\t\t<div className=\"components-base-control__field\">\n\t\t\t\t{ label && id && <label className=\"components-base-control__label\" htmlFor={ id }>{ label }</label> }\n\t\t\t\t{ label && ! id && <span className=\"components-base-control__label\">{ label }</span> }\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ !! help && <p id={ id + '__help' } className=\"components-base-control__help\">{ help }</p> }\n\t\t</div>\n\t);\n}\n\nexport default BaseControl;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction ButtonGroup( { className, ...props } ) {\n\tconst classes = classnames( 'components-button-group', className );\n\n\treturn (\n\t\t<div { ...props } className={ classes } role=\"group\" />\n\t);\n}\n\nexport default ButtonGroup;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createElement, forwardRef } from '@wordpress/element';\n\nexport function Button( props, ref ) {\n\tconst {\n\t\thref,\n\t\ttarget,\n\t\tisPrimary,\n\t\tisLarge,\n\t\tisSmall,\n\t\tisToggled,\n\t\tisBusy,\n\t\tisDefault,\n\t\tisLink,\n\t\tisDestructive,\n\t\tclassName,\n\t\tdisabled,\n\t\t...additionalProps\n\t} = props;\n\n\tconst classes = classnames( 'components-button', className, {\n\t\t'is-button': isDefault || isPrimary || isLarge || isSmall,\n\t\t'is-default': isDefault || isLarge || isSmall,\n\t\t'is-primary': isPrimary,\n\t\t'is-large': isLarge,\n\t\t'is-small': isSmall,\n\t\t'is-toggled': isToggled,\n\t\t'is-busy': isBusy,\n\t\t'is-link': isLink,\n\t\t'is-destructive': isDestructive,\n\t} );\n\n\tconst tag = href !== undefined && ! disabled ? 'a' : 'button';\n\tconst tagProps = tag === 'a' ? { href, target } : { type: 'button', disabled };\n\n\treturn createElement( tag, {\n\t\t...tagProps,\n\t\t...additionalProps,\n\t\tclassName: classes,\n\t\tref,\n\t} );\n}\n\nexport default forwardRef( Button );\n","/**\n * External dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction CheckboxControl( { label, className, heading, checked, help, instanceId, onChange, ...props } ) {\n\tconst id = `inspector-checkbox-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.checked );\n\n\treturn (\n\t\t<BaseControl label={ heading } id={ id } help={ help } className={ className }>\n\t\t\t<input\n\t\t\t\tid={ id }\n\t\t\t\tclassName=\"components-checkbox-control__input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tvalue=\"1\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\tchecked={ checked }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<label className=\"components-checkbox-control__label\" htmlFor={ id }>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( CheckboxControl );\n","/**\n * External dependencies\n */\nimport Clipboard from 'clipboard';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport Button from '../button';\n\nclass ClipboardButton extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.getText = this.getText.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { container, getText, onCopy } = this;\n\t\tconst button = container.firstChild;\n\n\t\tthis.clipboard = new Clipboard( button,\t{\n\t\t\ttext: getText,\n\t\t\tcontainer,\n\t\t} );\n\n\t\tthis.clipboard.on( 'success', onCopy );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clipboard.destroy();\n\t\tdelete this.clipboard;\n\t\tclearTimeout( this.onCopyTimeout );\n\t}\n\n\tbindContainer( container ) {\n\t\tthis.container = container;\n\t}\n\n\tonCopy( args ) {\n\t\t// Clearing selection will move focus back to the triggering button,\n\t\t// ensuring that it is not reset to the body, and further that it is\n\t\t// kept within the rendered node.\n\t\targs.clearSelection();\n\n\t\tconst { onCopy, onFinishCopy } = this.props;\n\t\tif ( onCopy ) {\n\t\t\tonCopy();\n\t\t\t// For convenience and consistency, ClipboardButton offers to call\n\t\t\t// a secondary callback with delay. This is useful to reset\n\t\t\t// consumers' state, e.g. to revert a label from \"Copied\" to\n\t\t\t// \"Copy\".\n\t\t\tif ( onFinishCopy ) {\n\t\t\t\tclearTimeout( this.onCopyTimeout );\n\t\t\t\tthis.onCopyTimeout = setTimeout( onFinishCopy, 4000 );\n\t\t\t}\n\t\t}\n\t}\n\n\tgetText() {\n\t\tlet text = this.props.text;\n\t\tif ( 'function' === typeof text ) {\n\t\t\ttext = text();\n\t\t}\n\n\t\treturn text;\n\t}\n\n\trender() {\n\t\t// Disable reason: Exclude from spread props passed to Button\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { className, children, onCopy, onFinishCopy, text, ...buttonProps } = this.props;\n\t\tconst { icon } = buttonProps;\n\t\tconst classes = classnames( 'components-clipboard-button', className );\n\t\tconst ComponentToUse = icon ? IconButton : Button;\n\n\t\t// Workaround for inconsistent behavior in Safari, where <textarea> is not\n\t\t// the document.activeElement at the moment when the copy event fires.\n\t\t// This causes documentHasSelection() in the copy-handler component to\n\t\t// mistakenly override the ClipboardButton, and copy a serialized string\n\t\t// of the current block instead.\n\t\tconst focusOnCopyEventTarget = ( event ) => {\n\t\t\tevent.target.focus();\n\t\t};\n\n\t\treturn (\n\t\t\t<span ref={ this.bindContainer } onCopy={ focusOnCopyEventTarget }>\n\t\t\t\t<ComponentToUse { ...buttonProps } className={ classes }>\n\t\t\t\t\t{ children }\n\t\t\t\t</ComponentToUse>\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nexport default ClipboardButton;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst ColorIndicator = ( { className, colorValue, ...props } ) => (\n\t<span\n\t\tclassName={ classnames( 'component-color-indicator', className ) }\n\t\tstyle={ { background: colorValue } }\n\t\t{ ...props }\n\t/>\n);\n\nexport default ColorIndicator;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { ChromePicker } from 'react-color';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport Tooltip from '../tooltip';\n\nexport default function ColorPalette( { colors, disableCustomColors = false, value, onChange, className } ) {\n\tfunction applyOrUnset( color ) {\n\t\treturn () => onChange( value === color ? undefined : color );\n\t}\n\tconst customColorPickerLabel = __( 'Custom color picker' );\n\tconst classes = classnames( 'components-color-palette', className );\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ map( colors, ( { color, name } ) => {\n\t\t\t\tconst style = { color: color };\n\t\t\t\tconst itemClasses = classnames( 'components-color-palette__item', { 'is-active': value === color } );\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={ color } className=\"components-color-palette__item-wrapper\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ name ||\n\t\t\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclassName={ itemClasses }\n\t\t\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t\t\t\tonClick={ applyOrUnset( color ) }\n\t\t\t\t\t\t\t\taria-label={ name ?\n\t\t\t\t\t\t\t\t\t// translators: %s: The name of the color e.g: \"vivid red\".\n\t\t\t\t\t\t\t\t\tsprintf( __( 'Color: %s' ), name ) :\n\t\t\t\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color ) }\n\t\t\t\t\t\t\t\taria-pressed={ value === color }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ ! disableCustomColors &&\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"components-color-palette__item-wrapper components-color-palette__custom-color\"\n\t\t\t\t\tcontentClassName=\"components-color-palette__picker\"\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Tooltip text={ customColorPickerLabel }>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__item\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-label={ customColorPickerLabel }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"components-color-palette__custom-color-gradient\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tonChangeComplete={ ( color ) => onChange( color.hex ) }\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<Button\n\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\tisSmall\n\t\t\t\tisDefault\n\t\t\t>\n\t\t\t\t{ __( 'Clear' ) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n","/* !!!\nIF YOU ARE EDITING dashicon/index.jsx\nTHEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!\nDO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead\nOR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)\n!!! */\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Path, SVG } from '../primitives';\n\nexport default class Dashicon extends Component {\n\tshouldComponentUpdate( nextProps ) {\n\t\treturn (\n\t\t\tthis.props.icon !== nextProps.icon ||\n\t\t\tthis.props.size !== nextProps.size ||\n\t\t\tthis.props.className !== nextProps.className\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { icon, className, size = 20 } = this.props;\n\t\tlet path;\n\n\t\tswitch ( icon ) {\n\t\t\tcase 'admin-appearance':\n\t\t\t\tpath = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-collapse':\n\t\t\t\tpath = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-comments':\n\t\t\t\tpath = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-customizer':\n\t\t\t\tpath = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-generic':\n\t\t\t\tpath = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-home':\n\t\t\t\tpath = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-links':\n\t\t\t\tpath = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-media':\n\t\t\t\tpath = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-multisite':\n\t\t\t\tpath = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-network':\n\t\t\t\tpath = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-page':\n\t\t\t\tpath = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-plugins':\n\t\t\t\tpath = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-post':\n\t\t\t\tpath = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-settings':\n\t\t\t\tpath = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt2':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt3':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-tools':\n\t\t\t\tpath = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-users':\n\t\t\t\tpath = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';\n\t\t\t\tbreak;\n\t\t\tcase 'album':\n\t\t\t\tpath = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-center':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-full-width':\n\t\t\t\tpath = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-left':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-none':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-pull-left':\n\t\t\t\tpath = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-pull-right':\n\t\t\t\tpath = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-right':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-wide':\n\t\t\t\tpath = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'analytics':\n\t\t\t\tpath = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'archive':\n\t\t\t\tpath = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down-alt':\n\t\t\t\tpath = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down-alt2':\n\t\t\t\tpath = 'M5 6l5 5 5-5 2 1-7 7-7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down':\n\t\t\t\tpath = 'M15 8l-4.03 6L7 8h8z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left-alt':\n\t\t\t\tpath = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left-alt2':\n\t\t\t\tpath = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left':\n\t\t\t\tpath = 'M13 14L7 9.97 13 6v8z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right-alt':\n\t\t\t\tpath = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right-alt2':\n\t\t\t\tpath = 'M6 15l5-5-5-5 1-2 7 7-7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right':\n\t\t\t\tpath = 'M8 6l6 4.03L8 14V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up-alt':\n\t\t\t\tpath = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up-alt2':\n\t\t\t\tpath = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up':\n\t\t\t\tpath = 'M7 13l4.03-6L15 13H7z';\n\t\t\t\tbreak;\n\t\t\tcase 'art':\n\t\t\t\tpath = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';\n\t\t\t\tbreak;\n\t\t\tcase 'awards':\n\t\t\t\tpath = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'backup':\n\t\t\t\tpath = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'block-default':\n\t\t\t\tpath = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'book-alt':\n\t\t\t\tpath = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'book':\n\t\t\t\tpath = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-activity':\n\t\t\t\tpath = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-bbpress-logo':\n\t\t\t\tpath = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-buddypress-logo':\n\t\t\t\tpath = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-community':\n\t\t\t\tpath = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-forums':\n\t\t\t\tpath = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-friends':\n\t\t\t\tpath = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-groups':\n\t\t\t\tpath = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-pm':\n\t\t\t\tpath = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-replies':\n\t\t\t\tpath = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-topics':\n\t\t\t\tpath = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-tracking':\n\t\t\t\tpath = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';\n\t\t\t\tbreak;\n\t\t\tcase 'building':\n\t\t\t\tpath = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'businessman':\n\t\t\t\tpath = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';\n\t\t\t\tbreak;\n\t\t\tcase 'button':\n\t\t\t\tpath = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';\n\t\t\t\tbreak;\n\t\t\tcase 'calendar-alt':\n\t\t\t\tpath = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'calendar':\n\t\t\t\tpath = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'camera':\n\t\t\t\tpath = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';\n\t\t\t\tbreak;\n\t\t\tcase 'carrot':\n\t\t\t\tpath = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'cart':\n\t\t\t\tpath = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'category':\n\t\t\t\tpath = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-area':\n\t\t\t\tpath = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-bar':\n\t\t\t\tpath = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-line':\n\t\t\t\tpath = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-pie':\n\t\t\t\tpath = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'clipboard':\n\t\t\t\tpath = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';\n\t\t\t\tbreak;\n\t\t\tcase 'clock':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud-saved':\n\t\t\t\tpath = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud-upload':\n\t\t\t\tpath = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud':\n\t\t\t\tpath = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'columns':\n\t\t\t\tpath = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-back':\n\t\t\t\tpath = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-forward':\n\t\t\t\tpath = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-pause':\n\t\t\t\tpath = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-play':\n\t\t\t\tpath = 'M5 4l10 6-10 6V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-repeat':\n\t\t\t\tpath = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-skipback':\n\t\t\t\tpath = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-skipforward':\n\t\t\t\tpath = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-volumeoff':\n\t\t\t\tpath = 'M2 7h4l5-4v14l-5-4H2V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-volumeon':\n\t\t\t\tpath = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';\n\t\t\t\tbreak;\n\t\t\tcase 'cover-image':\n\t\t\t\tpath = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';\n\t\t\t\tbreak;\n\t\t\tcase 'dashboard':\n\t\t\t\tpath = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'desktop':\n\t\t\t\tpath = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'dismiss':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'download':\n\t\t\t\tpath = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'edit':\n\t\t\t\tpath = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-aligncenter':\n\t\t\t\tpath = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-alignleft':\n\t\t\t\tpath = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-alignright':\n\t\t\t\tpath = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-bold':\n\t\t\t\tpath = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-break':\n\t\t\t\tpath = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-code':\n\t\t\t\tpath = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-contract':\n\t\t\t\tpath = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-customchar':\n\t\t\t\tpath = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-expand':\n\t\t\t\tpath = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-help':\n\t\t\t\tpath = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-indent':\n\t\t\t\tpath = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-insertmore':\n\t\t\t\tpath = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-italic':\n\t\t\t\tpath = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-justify':\n\t\t\t\tpath = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-kitchensink':\n\t\t\t\tpath = 'M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ltr':\n\t\t\t\tpath = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ol-rtl':\n\t\t\t\tpath = 'M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ol':\n\t\t\t\tpath = 'M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-outdent':\n\t\t\t\tpath = 'M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paragraph':\n\t\t\t\tpath = 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paste-text':\n\t\t\t\tpath = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paste-word':\n\t\t\t\tpath = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-quote':\n\t\t\t\tpath = 'M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-removeformatting':\n\t\t\t\tpath = 'M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-rtl':\n\t\t\t\tpath = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-spellcheck':\n\t\t\t\tpath = 'M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-strikethrough':\n\t\t\t\tpath = 'M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-table':\n\t\t\t\tpath = 'M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-textcolor':\n\t\t\t\tpath = 'M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ul':\n\t\t\t\tpath = 'M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-underline':\n\t\t\t\tpath = 'M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-unlink':\n\t\t\t\tpath = 'M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-video':\n\t\t\t\tpath = 'M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z';\n\t\t\t\tbreak;\n\t\t\tcase 'ellipsis':\n\t\t\t\tpath = 'M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'email-alt':\n\t\t\t\tpath = 'M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z';\n\t\t\t\tbreak;\n\t\t\tcase 'email-alt2':\n\t\t\t\tpath = 'M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z';\n\t\t\t\tbreak;\n\t\t\tcase 'email':\n\t\t\t\tpath = 'M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-audio':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-generic':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-photo':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-post':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-video':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'excerpt-view':\n\t\t\t\tpath = 'M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'exit':\n\t\t\t\tpath = 'M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z';\n\t\t\t\tbreak;\n\t\t\tcase 'external':\n\t\t\t\tpath = 'M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'facebook-alt':\n\t\t\t\tpath = 'M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z';\n\t\t\t\tbreak;\n\t\t\tcase 'facebook':\n\t\t\t\tpath = 'M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z';\n\t\t\t\tbreak;\n\t\t\tcase 'feedback':\n\t\t\t\tpath = 'M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z';\n\t\t\t\tbreak;\n\t\t\tcase 'filter':\n\t\t\t\tpath = 'M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z';\n\t\t\t\tbreak;\n\t\t\tcase 'flag':\n\t\t\t\tpath = 'M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-aside':\n\t\t\t\tpath = 'M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-audio':\n\t\t\t\tpath = 'M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-chat':\n\t\t\t\tpath = 'M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-gallery':\n\t\t\t\tpath = 'M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-image':\n\t\t\t\tpath = 'M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-quote':\n\t\t\t\tpath = 'M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-status':\n\t\t\t\tpath = 'M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-video':\n\t\t\t\tpath = 'M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'forms':\n\t\t\t\tpath = 'M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'googleplus':\n\t\t\t\tpath = 'M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z';\n\t\t\t\tbreak;\n\t\t\tcase 'grid-view':\n\t\t\t\tpath = 'M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'groups':\n\t\t\t\tpath = 'M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z';\n\t\t\t\tbreak;\n\t\t\tcase 'hammer':\n\t\t\t\tpath = 'M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'heading':\n\t\t\t\tpath = 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4';\n\t\t\t\tbreak;\n\t\t\tcase 'heart':\n\t\t\t\tpath = 'M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z';\n\t\t\t\tbreak;\n\t\t\tcase 'hidden':\n\t\t\t\tpath = 'M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z';\n\t\t\t\tbreak;\n\t\t\tcase 'html':\n\t\t\t\tpath = 'M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z';\n\t\t\t\tbreak;\n\t\t\tcase 'id-alt':\n\t\t\t\tpath = 'M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'id':\n\t\t\t\tpath = 'M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-crop':\n\t\t\t\tpath = 'M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-filter':\n\t\t\t\tpath = 'M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-flip-horizontal':\n\t\t\t\tpath = 'M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-flip-vertical':\n\t\t\t\tpath = 'M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate-left':\n\t\t\t\tpath = 'M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate-right':\n\t\t\t\tpath = 'M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate':\n\t\t\t\tpath = 'M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'images-alt':\n\t\t\t\tpath = 'M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z';\n\t\t\t\tbreak;\n\t\t\tcase 'images-alt2':\n\t\t\t\tpath = 'M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'index-card':\n\t\t\t\tpath = 'M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'info-outline':\n\t\t\t\tpath = 'M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'info':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert-after':\n\t\t\t\tpath = 'M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert-before':\n\t\t\t\tpath = 'M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert':\n\t\t\t\tpath = 'M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'instagram':\n\t\t\t\tpath = 'M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z';\n\t\t\t\tbreak;\n\t\t\tcase 'laptop':\n\t\t\t\tpath = 'M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'layout':\n\t\t\t\tpath = 'M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z';\n\t\t\t\tbreak;\n\t\t\tcase 'leftright':\n\t\t\t\tpath = 'M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'lightbulb':\n\t\t\t\tpath = 'M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z';\n\t\t\t\tbreak;\n\t\t\tcase 'list-view':\n\t\t\t\tpath = 'M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'location-alt':\n\t\t\t\tpath = 'M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'location':\n\t\t\t\tpath = 'M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z';\n\t\t\t\tbreak;\n\t\t\tcase 'lock':\n\t\t\t\tpath = 'M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'marker':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-archive':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-audio':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-code':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-default':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-document':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-interactive':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-spreadsheet':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-text':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-video':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'megaphone':\n\t\t\t\tpath = 'M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z';\n\t\t\t\tbreak;\n\t\t\tcase 'menu-alt':\n\t\t\t\tpath = 'M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'menu':\n\t\t\t\tpath = 'M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'microphone':\n\t\t\t\tpath = 'M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'migrate':\n\t\t\t\tpath = 'M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'minus':\n\t\t\t\tpath = 'M4 9h12v2H4V9z';\n\t\t\t\tbreak;\n\t\t\tcase 'money':\n\t\t\t\tpath = 'M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'move':\n\t\t\t\tpath = 'M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'nametag':\n\t\t\t\tpath = 'M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z';\n\t\t\t\tbreak;\n\t\t\tcase 'networking':\n\t\t\t\tpath = 'M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'no-alt':\n\t\t\t\tpath = 'M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z';\n\t\t\t\tbreak;\n\t\t\tcase 'no':\n\t\t\t\tpath = 'M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z';\n\t\t\t\tbreak;\n\t\t\tcase 'palmtree':\n\t\t\t\tpath = 'M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'paperclip':\n\t\t\t\tpath = 'M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'performance':\n\t\t\t\tpath = 'M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'phone':\n\t\t\t\tpath = 'M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z';\n\t\t\t\tbreak;\n\t\t\tcase 'playlist-audio':\n\t\t\t\tpath = 'M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'playlist-video':\n\t\t\t\tpath = 'M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus-alt':\n\t\t\t\tpath = 'M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus-light':\n\t\t\t\tpath = 'M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus':\n\t\t\t\tpath = 'M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z';\n\t\t\t\tbreak;\n\t\t\tcase 'portfolio':\n\t\t\t\tpath = 'M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'post-status':\n\t\t\t\tpath = 'M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'pressthis':\n\t\t\t\tpath = 'M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z';\n\t\t\t\tbreak;\n\t\t\tcase 'products':\n\t\t\t\tpath = 'M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z';\n\t\t\t\tbreak;\n\t\t\tcase 'randomize':\n\t\t\t\tpath = 'M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'redo':\n\t\t\t\tpath = 'M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'rest-api':\n\t\t\t\tpath = 'M3 4h2v12H3z';\n\t\t\t\tbreak;\n\t\t\tcase 'rss':\n\t\t\t\tpath = 'M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z';\n\t\t\t\tbreak;\n\t\t\tcase 'saved':\n\t\t\t\tpath = 'M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2';\n\t\t\t\tbreak;\n\t\t\tcase 'schedule':\n\t\t\t\tpath = 'M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z';\n\t\t\t\tbreak;\n\t\t\tcase 'screenoptions':\n\t\t\t\tpath = 'M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'search':\n\t\t\t\tpath = 'M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'share-alt':\n\t\t\t\tpath = 'M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z';\n\t\t\t\tbreak;\n\t\t\tcase 'share-alt2':\n\t\t\t\tpath = 'M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z';\n\t\t\t\tbreak;\n\t\t\tcase 'share':\n\t\t\t\tpath = 'M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z';\n\t\t\t\tbreak;\n\t\t\tcase 'shield-alt':\n\t\t\t\tpath = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'shield':\n\t\t\t\tpath = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'shortcode':\n\t\t\t\tpath = 'M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4';\n\t\t\t\tbreak;\n\t\t\tcase 'slides':\n\t\t\t\tpath = 'M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'smartphone':\n\t\t\t\tpath = 'M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'smiley':\n\t\t\t\tpath = 'M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z';\n\t\t\t\tbreak;\n\t\t\tcase 'sort':\n\t\t\t\tpath = 'M11 7H1l5 7zm-2 7h10l-5-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'sos':\n\t\t\t\tpath = 'M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-empty':\n\t\t\t\tpath = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-filled':\n\t\t\t\tpath = 'M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-half':\n\t\t\t\tpath = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z';\n\t\t\t\tbreak;\n\t\t\tcase 'sticky':\n\t\t\t\tpath = 'M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z';\n\t\t\t\tbreak;\n\t\t\tcase 'store':\n\t\t\t\tpath = 'M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-after':\n\t\t\t\tpath = 'M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-before':\n\t\t\t\tpath = 'M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-delete':\n\t\t\t\tpath = 'M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-after':\n\t\t\t\tpath = 'M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-before':\n\t\t\t\tpath = 'M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-delete':\n\t\t\t\tpath = 'M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'tablet':\n\t\t\t\tpath = 'M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'tag':\n\t\t\t\tpath = 'M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'tagcloud':\n\t\t\t\tpath = 'M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'testimonial':\n\t\t\t\tpath = 'M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tpath = 'M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'thumbs-down':\n\t\t\t\tpath = 'M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z';\n\t\t\t\tbreak;\n\t\t\tcase 'thumbs-up':\n\t\t\t\tpath = 'M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'tickets-alt':\n\t\t\t\tpath = 'M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'tickets':\n\t\t\t\tpath = 'M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'tide':\n\t\t\t\tpath = 'M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z';\n\t\t\t\tbreak;\n\t\t\tcase 'translation':\n\t\t\t\tpath = 'M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'trash':\n\t\t\t\tpath = 'M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'twitter':\n\t\t\t\tpath = 'M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z';\n\t\t\t\tbreak;\n\t\t\tcase 'undo':\n\t\t\t\tpath = 'M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'universal-access-alt':\n\t\t\t\tpath = 'M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n\t\t\t\tbreak;\n\t\t\tcase 'universal-access':\n\t\t\t\tpath = 'M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n\t\t\t\tbreak;\n\t\t\tcase 'unlock':\n\t\t\t\tpath = 'M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'update':\n\t\t\t\tpath = 'M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'upload':\n\t\t\t\tpath = 'M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z';\n\t\t\t\tbreak;\n\t\t\tcase 'vault':\n\t\t\t\tpath = 'M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt':\n\t\t\t\tpath = 'M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt2':\n\t\t\t\tpath = 'M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt3':\n\t\t\t\tpath = 'M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z';\n\t\t\t\tbreak;\n\t\t\tcase 'visibility':\n\t\t\t\tpath = 'M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'warning':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-add-page':\n\t\t\t\tpath = 'M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-comments':\n\t\t\t\tpath = 'M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-learn-more':\n\t\t\t\tpath = 'M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-view-site':\n\t\t\t\tpath = 'M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-widgets-menus':\n\t\t\t\tpath = 'M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-write-blog':\n\t\t\t\tpath = 'M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z';\n\t\t\t\tbreak;\n\t\t\tcase 'wordpress-alt':\n\t\t\t\tpath = 'M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'wordpress':\n\t\t\t\tpath = 'M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'yes-alt':\n\t\t\t\tpath = 'M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'yes':\n\t\t\t\tpath = 'M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( ! path ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst iconClass = [ 'dashicon', 'dashicons-' + icon, className ].filter( Boolean ).join( ' ' );\n\n\t\treturn (\n\t\t\t<SVG\n\t\t\t\taria-hidden\n\t\t\t\trole=\"img\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tclassName={ iconClass }\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth={ size }\n\t\t\t\theight={ size }\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t>\n\t\t\t\t<Path d={ path } />\n\t\t\t</SVG>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport ReactDatePicker from 'react-datepicker';\nimport moment from 'moment';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nfunction DatePicker( { currentDate, onChange, ...args } ) {\n\tconst momentDate = currentDate ? moment( currentDate ) : moment();\n\tconst onChangeMoment = ( newDate ) => onChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\n\treturn <ReactDatePicker\n\t\tinline\n\t\tselected={ momentDate }\n\t\tonChange={ onChangeMoment }\n\t\t{ ...args }\n\t/>;\n}\n\nexport default DatePicker;\n","/**\n * Internal dependencies\n */\nimport { default as DatePicker } from './date';\nimport { default as TimePicker } from './time';\n\nexport { DatePicker, TimePicker };\n\nexport function DateTimePicker( { currentDate, onChange, is12Hour, ...args } ) {\n\treturn [\n\t\t<DatePicker\n\t\t\tkey=\"date-picker\"\n\t\t\tcurrentDate={ currentDate }\n\t\t\tonChange={ onChange }\n\t\t\t{ ...args }\n\t\t/>,\n\t\t<TimePicker\n\t\t\tkey=\"time-picker\"\n\t\t\tcurrentTime={ currentDate }\n\t\t\tonChange={ onChange }\n\t\t\tis12Hour={ is12Hour }\n\t\t/>,\n\t];\n}\n","/**\n * External dependencies\n */\nimport { isInteger } from 'lodash';\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nclass TimePicker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\thours: '',\n\t\t\tminutes: '',\n\t\t\tam: true,\n\t\t\tdate: null,\n\t\t};\n\t\tthis.updateHours = this.updateHours.bind( this );\n\t\tthis.updateMinutes = this.updateMinutes.bind( this );\n\t\tthis.onChangeHours = this.onChangeHours.bind( this );\n\t\tthis.onChangeMinutes = this.onChangeMinutes.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.syncState( this.props );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { currentTime, is12Hour } = this.props;\n\t\tif (\n\t\t\tcurrentTime !== prevProps.currentTime ||\n\t\t\tis12Hour !== prevProps.is12Hour\n\t\t) {\n\t\t\tthis.syncState( this.props );\n\t\t}\n\t}\n\n\tsyncState( { currentTime, is12Hour } ) {\n\t\tconst selected = currentTime ? moment( currentTime ) : moment();\n\t\tconst minutes = selected.format( 'mm' );\n\t\tconst am = selected.format( 'A' );\n\t\tconst hours = selected.format( is12Hour ? 'hh' : 'HH' );\n\t\tconst date = currentTime ? moment( currentTime ) : moment();\n\t\tthis.setState( { minutes, hours, am, date } );\n\t}\n\n\tupdateHours() {\n\t\tconst { is12Hour, onChange } = this.props;\n\t\tconst { am, hours, date } = this.state;\n\t\tconst value = parseInt( hours, 10 );\n\t\tif (\n\t\t\t! isInteger( value ) ||\n\t\t\t( is12Hour && ( value < 1 || value > 12 ) ) ||\n\t\t\t( ! is12Hour && ( value < 0 || value > 23 ) )\n\t\t) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\n\t\tconst newDate = is12Hour ?\n\t\t\tdate.clone().hours( am === 'AM' ? value % 12 : ( ( ( value % 12 ) + 12 ) % 24 ) ) :\n\t\t\tdate.clone().hours( value );\n\t\tthis.setState( { date: newDate } );\n\t\tconst formattedDate = newDate.format( TIMEZONELESS_FORMAT );\n\t\tonChange( formattedDate );\n\t}\n\n\tupdateMinutes() {\n\t\tconst { onChange } = this.props;\n\t\tconst { minutes, date } = this.state;\n\t\tconst value = parseInt( minutes, 10 );\n\t\tif ( ! isInteger( value ) || value < 0 || value > 59 ) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\t\tconst newDate = date.clone().minutes( value );\n\t\tthis.setState( { date: newDate } );\n\t\tconst formattedDate = newDate.format( TIMEZONELESS_FORMAT );\n\t\tonChange( formattedDate );\n\t}\n\n\tupdateAmPm( value ) {\n\t\treturn () => {\n\t\t\tconst { onChange } = this.props;\n\t\t\tconst { am, date, hours } = this.state;\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet newDate;\n\t\t\tif ( value === 'PM' ) {\n\t\t\t\tnewDate = date.clone().hours( ( ( parseInt( hours, 10 ) % 12 ) + 12 ) % 24 );\n\t\t\t} else {\n\t\t\t\tnewDate = date.clone().hours( parseInt( hours, 10 ) % 12 );\n\t\t\t}\n\t\t\tthis.setState( { date: newDate } );\n\t\t\tconst formattedDate = newDate.format( TIMEZONELESS_FORMAT );\n\t\t\tonChange( formattedDate );\n\t\t};\n\t}\n\n\tonChangeHours( event ) {\n\t\tthis.setState( { hours: event.target.value } );\n\t}\n\n\tonChangeMinutes( event ) {\n\t\tthis.setState( { minutes: event.target.value } );\n\t}\n\n\trender() {\n\t\tconst { is12Hour } = this.props;\n\t\tconst { minutes, hours, am } = this.state;\n\n\t\treturn (\n\t\t\t<div className=\"components-time-picker\">\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"components-time-picker__input\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={ hours }\n\t\t\t\t\tonChange={ this.onChangeHours }\n\t\t\t\t\tonBlur={ this.updateHours }\n\t\t\t\t/>\n\t\t\t\t<span className=\"components-time-picker__separator\">:</span>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"components-time-picker__input\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\tonChange={ this.onChangeMinutes }\n\t\t\t\t\tonBlur={ this.updateMinutes }\n\t\t\t\t/>\n\t\t\t\t{ is12Hour && <div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisDefault\n\t\t\t\t\t\tclassName=\"components-time-picker__am-button\"\n\t\t\t\t\t\tisToggled={ am === 'AM' }\n\t\t\t\t\t\tonClick={ this.updateAmPm( 'AM' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisDefault\n\t\t\t\t\t\tclassName=\"components-time-picker__pm-button\"\n\t\t\t\t\t\tisToggled={ am === 'PM' }\n\t\t\t\t\t\tonClick={ this.updateAmPm( 'PM' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div> }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimePicker;\n","/**\n * External dependencies\n */\nimport { includes, debounce } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, Component } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\nconst { Consumer, Provider } = createContext( false );\n\n/**\n * Names of control nodes which qualify for disabled behavior.\n *\n * See WHATWG HTML Standard: 4.10.18.5: \"Enabling and disabling form controls: the disabled attribute\".\n *\n * @link https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute\n *\n * @type {string[]}\n */\nconst DISABLED_ELIGIBLE_NODE_NAMES = [\n\t'BUTTON',\n\t'FIELDSET',\n\t'INPUT',\n\t'OPTGROUP',\n\t'OPTION',\n\t'SELECT',\n\t'TEXTAREA',\n];\n\nclass Disabled extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.disable = this.disable.bind( this );\n\n\t\t// Debounce re-disable since disabling process itself will incur\n\t\t// additional mutations which should be ignored.\n\t\tthis.debouncedDisable = debounce( this.disable, { leading: true } );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.disable();\n\n\t\tthis.observer = new window.MutationObserver( this.debouncedDisable );\n\t\tthis.observer.observe( this.node, {\n\t\t\tchildList: true,\n\t\t\tattributes: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.observer.disconnect();\n\t\tthis.debouncedDisable.cancel();\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\tdisable() {\n\t\tfocus.focusable.find( this.node ).forEach( ( focusable ) => {\n\t\t\tif ( includes( DISABLED_ELIGIBLE_NODE_NAMES, focusable.nodeName ) ) {\n\t\t\t\tfocusable.setAttribute( 'disabled', '' );\n\t\t\t}\n\n\t\t\tif ( focusable.hasAttribute( 'tabindex' ) ) {\n\t\t\t\tfocusable.removeAttribute( 'tabindex' );\n\t\t\t}\n\n\t\t\tif ( focusable.hasAttribute( 'contenteditable' ) ) {\n\t\t\t\tfocusable.setAttribute( 'contenteditable', 'false' );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { className, ...props } = this.props;\n\t\treturn (\n\t\t\t<Provider value={ true }>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindNode }\n\t\t\t\t\tclassName={ classnames( className, 'components-disabled' ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ this.props.children }\n\t\t\t\t</div>\n\t\t\t</Provider>\n\t\t);\n\t}\n}\n\nDisabled.Consumer = Consumer;\n\nexport default Disabled;\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSafeTimeout } from '@wordpress/compose';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst cloneHeightTransformationBreakpoint = 700;\nconst clonePadding = 20;\n\nconst isChromeUA = ( ) => /Chrome/i.test( window.navigator.userAgent );\nconst documentHasIframes = ( ) => [ ...document.getElementById( 'editor' ).querySelectorAll( 'iframe' ) ].length > 0;\n\nclass Draggable extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onDragStart = this.onDragStart.bind( this );\n\t\tthis.onDragOver = this.onDragOver.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\t\tthis.onDragEnd = this.onDragEnd.bind( this );\n\t\tthis.resetDragState = this.resetDragState.bind( this );\n\n\t\tthis.isChromeAndHasIframes = false;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.resetDragState();\n\t}\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t * @param {Object} event The non-custom DragEvent.\n\t */\n\tonDragEnd( event ) {\n\t\tconst { onDragEnd = noop } = this.props;\n\t\tif ( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tthis.resetDragState();\n\t\tthis.props.setTimeout( onDragEnd );\n\t}\n\n\t/*\n\t * Updates positioning of element clone based on mouse movement during dragging.\n\t * @param {Object} event The non-custom DragEvent.\n\t */\n\tonDragOver( event ) {\n\t\tthis.cloneWrapper.style.top =\n\t\t\t`${ parseInt( this.cloneWrapper.style.top, 10 ) + event.clientY - this.cursorTop }px`;\n\t\tthis.cloneWrapper.style.left =\n\t\t\t`${ parseInt( this.cloneWrapper.style.left, 10 ) + event.clientX - this.cursorLeft }px`;\n\n\t\t// Update cursor coordinates.\n\t\tthis.cursorLeft = event.clientX;\n\t\tthis.cursorTop = event.clientY;\n\t}\n\n\tonDrop( ) {\n\t\t// As per https://html.spec.whatwg.org/multipage/dnd.html#dndevents\n\t\t// the target node for the dragend is the source node that started the drag operation,\n\t\t// while drop event's target is the current target element.\n\t\tthis.onDragEnd( null );\n\t}\n\n\t/**\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t * @param {Object} event\t\t\t\t\tThe non-custom DragEvent.\n\t * @param {string} elementId\t\t\t\tThe HTML id of the element to be dragged.\n\t * @param {Object} transferData\t\t\tThe data to be set to the event's dataTransfer - to be accessible in any later drop logic.\n\t */\n\tonDragStart( event ) {\n\t\tconst { elementId, transferData, onDragStart = noop } = this.props;\n\t\tconst element = document.getElementById( elementId );\n\t\tif ( ! element ) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tconst dragImage = document.createElement( 'div' );\n\t\t\tdragImage.id = `drag-image-${ elementId }`;\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\tdocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t\tthis.props.setTimeout( () => {\n\t\t\t\tdocument.body.removeChild( dragImage );\n\t\t\t} );\n\t\t}\n\n\t\tevent.dataTransfer.setData( 'text', JSON.stringify( transferData ) );\n\n\t\t// Prepare element clone and append to element wrapper.\n\t\tconst elementRect = element.getBoundingClientRect();\n\t\tconst elementWrapper = element.parentNode;\n\t\tconst elementTopOffset = parseInt( elementRect.top, 10 );\n\t\tconst elementLeftOffset = parseInt( elementRect.left, 10 );\n\t\tconst clone = element.cloneNode( true );\n\t\tclone.id = `clone-${ elementId }`;\n\t\tthis.cloneWrapper = document.createElement( 'div' );\n\t\tthis.cloneWrapper.classList.add( cloneWrapperClass );\n\t\tthis.cloneWrapper.style.width = `${ elementRect.width + ( clonePadding * 2 ) }px`;\n\n\t\tif ( elementRect.height > cloneHeightTransformationBreakpoint ) {\n\t\t\t// Scale down clone if original element is larger than 700px.\n\t\t\tthis.cloneWrapper.style.transform = 'scale(0.5)';\n\t\t\tthis.cloneWrapper.style.transformOrigin = 'top left';\n\t\t\t// Position clone near the cursor.\n\t\t\tthis.cloneWrapper.style.top = `${ event.clientY - 100 }px`;\n\t\t\tthis.cloneWrapper.style.left = `${ event.clientX }px`;\n\t\t} else {\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tthis.cloneWrapper.style.top = `${ elementTopOffset - clonePadding }px`;\n\t\t\tthis.cloneWrapper.style.left = `${ elementLeftOffset - clonePadding }px`;\n\t\t}\n\n\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze\n\t\t[ ...clone.querySelectorAll( 'iframe' ) ].forEach( ( child ) => child.parentNode.removeChild( child ) );\n\n\t\tthis.cloneWrapper.appendChild( clone );\n\t\telementWrapper.appendChild( this.cloneWrapper );\n\n\t\t// Mark the current cursor coordinates.\n\t\tthis.cursorLeft = event.clientX;\n\t\tthis.cursorTop = event.clientY;\n\t\t// Update cursor to 'grabbing', document wide.\n\t\tdocument.body.classList.add( 'is-dragging-components-draggable' );\n\t\tdocument.addEventListener( 'dragover', this.onDragOver );\n\n\t\t// Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=737691#c8\n\t\t// dragend event won't be dispatched in the chrome browser\n\t\t// when iframes are affected by the drag operation. So, in that case,\n\t\t// we use the drop event to wrap up the dragging operation.\n\t\t// This way the hack is contained to a specific use case and the external API\n\t\t// still relies mostly on the dragend event.\n\t\tif ( isChromeUA() && documentHasIframes() ) {\n\t\t\tthis.isChromeAndHasIframes = true;\n\t\t\tdocument.addEventListener( 'drop', this.onDrop );\n\t\t}\n\n\t\tthis.props.setTimeout( onDragStart );\n\t}\n\n\t/**\n\t * Cleans up drag state when drag has completed, or component unmounts\n\t * while dragging.\n\t */\n\tresetDragState() {\n\t\t// Remove drag clone\n\t\tdocument.removeEventListener( 'dragover', this.onDragOver );\n\t\tif ( this.cloneWrapper && this.cloneWrapper.parentNode ) {\n\t\t\tthis.cloneWrapper.parentNode.removeChild( this.cloneWrapper );\n\t\t\tthis.cloneWrapper = null;\n\t\t}\n\n\t\tif ( this.isChromeAndHasIframes ) {\n\t\t\tthis.isChromeAndHasIframes = false;\n\t\t\tdocument.removeEventListener( 'drop', this.onDrop );\n\t\t}\n\n\t\t// Reset cursor.\n\t\tdocument.body.classList.remove( 'is-dragging-components-draggable' );\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\n\t\treturn children( {\n\t\t\tonDraggableStart: this.onDragStart,\n\t\t\tonDraggableEnd: this.onDragEnd,\n\t\t} );\n\t}\n}\n\nexport default withSafeTimeout( Draggable );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\nclass DropZone extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.setZoneNode = this.setZoneNode.bind( this );\n\n\t\tthis.state = {\n\t\t\tisDraggingOverDocument: false,\n\t\t\tisDraggingOverElement: false,\n\t\t\tposition: null,\n\t\t\ttype: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.context.dropzones.add( {\n\t\t\telement: this.zone,\n\t\t\tupdateState: this.setState.bind( this ),\n\t\t\tonDrop: this.props.onDrop,\n\t\t\tonFilesDrop: this.props.onFilesDrop,\n\t\t\tonHTMLDrop: this.props.onHTMLDrop,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.context.dropzones.remove( this.zone );\n\t}\n\n\tsetZoneNode( node ) {\n\t\tthis.zone = node;\n\t}\n\n\trender() {\n\t\tconst { className, label } = this.props;\n\t\tconst { isDraggingOverDocument, isDraggingOverElement, position, type } = this.state;\n\t\tconst classes = classnames( 'components-drop-zone', className, {\n\t\t\t'is-active': isDraggingOverDocument || isDraggingOverElement,\n\t\t\t'is-dragging-over-document': isDraggingOverDocument,\n\t\t\t'is-dragging-over-element': isDraggingOverElement,\n\t\t\t'is-close-to-top': position && position.y === 'top',\n\t\t\t'is-close-to-bottom': position && position.y === 'bottom',\n\t\t\t'is-close-to-left': position && position.x === 'left',\n\t\t\t'is-close-to-right': position && position.x === 'right',\n\t\t\t[ `is-dragging-${ type }` ]: !! type,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div ref={ this.setZoneNode } className={ classes }>\n\t\t\t\t<div className=\"components-drop-zone__content\">\n\t\t\t\t\t{ [\n\t\t\t\t\t\t<Dashicon\n\t\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\t\ticon=\"upload\"\n\t\t\t\t\t\t\tsize=\"40\"\n\t\t\t\t\t\t\tclassName=\"components-drop-zone__content-icon\"\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey=\"text\"\n\t\t\t\t\t\t\tclassName=\"components-drop-zone__content-text\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label ? label : __( 'Drop files to upload' ) }\n\t\t\t\t\t\t</span>,\n\t\t\t\t\t] }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDropZone.contextTypes = {\n\tdropzones: noop,\n};\n\nexport default DropZone;\n\n","/**\n * External dependencies\n */\nimport { isEqual, find, some, filter, noop, throttle, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, findDOMNode } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\nclass DropZoneProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.resetDragState = this.resetDragState.bind( this );\n\t\tthis.toggleDraggingOverDocument = throttle( this.toggleDraggingOverDocument.bind( this ), 200 );\n\t\tthis.dragOverListener = this.dragOverListener.bind( this );\n\t\tthis.isWithinZoneBounds = this.isWithinZoneBounds.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\n\t\tthis.state = {\n\t\t\tisDraggingOverDocument: false,\n\t\t\thoveredDropZone: -1,\n\t\t\tposition: null,\n\t\t};\n\t\tthis.dropzones = [];\n\t}\n\n\tdragOverListener( event ) {\n\t\tthis.toggleDraggingOverDocument( event, this.getDragEventType( event ) );\n\t\tevent.preventDefault();\n\t}\n\n\tgetChildContext() {\n\t\treturn {\n\t\t\tdropzones: {\n\t\t\t\tadd: ( { element, updateState, onDrop, onFilesDrop, onHTMLDrop } ) => {\n\t\t\t\t\tthis.dropzones.push( { element, updateState, onDrop, onFilesDrop, onHTMLDrop } );\n\t\t\t\t},\n\t\t\t\tremove: ( element ) => {\n\t\t\t\t\tthis.dropzones = filter( this.dropzones, ( dropzone ) => dropzone.element !== element );\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener( 'dragover', this.dragOverListener );\n\t\twindow.addEventListener( 'drop', this.onDrop );\n\t\twindow.addEventListener( 'mouseup', this.resetDragState );\n\n\t\t// Disable reason: Can't use a ref since this component just renders its children\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tthis.container = findDOMNode( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener( 'dragover', this.dragOverListener );\n\t\twindow.removeEventListener( 'drop', this.onDrop );\n\t\twindow.removeEventListener( 'mouseup', this.resetDragState );\n\t}\n\n\tresetDragState() {\n\t\t// Avoid throttled drag over handler calls\n\t\tthis.toggleDraggingOverDocument.cancel();\n\n\t\tconst { isDraggingOverDocument, hoveredDropZone } = this.state;\n\t\tif ( ! isDraggingOverDocument && hoveredDropZone === -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisDraggingOverDocument: false,\n\t\t\thoveredDropZone: -1,\n\t\t\tposition: null,\n\t\t} );\n\n\t\tthis.dropzones.forEach( ( { updateState } ) => {\n\t\t\tupdateState( {\n\t\t\t\tisDraggingOverDocument: false,\n\t\t\t\tisDraggingOverElement: false,\n\t\t\t\tposition: null,\n\t\t\t\ttype: null,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tgetDragEventType( event ) {\n\t\tif ( event.dataTransfer ) {\n\t\t\t// Use lodash `includes` here as in the Edge browser `types` is implemented\n\t\t\t// as a DomStringList, whereas in other browsers it's an array. `includes`\n\t\t\t// happily works with both types.\n\t\t\tif ( includes( event.dataTransfer.types, 'Files' ) ) {\n\t\t\t\treturn 'file';\n\t\t\t}\n\n\t\t\tif ( includes( event.dataTransfer.types, 'text/html' ) ) {\n\t\t\t\treturn 'html';\n\t\t\t}\n\t\t}\n\n\t\treturn 'default';\n\t}\n\n\tdoesDropzoneSupportType( dropzone, type ) {\n\t\treturn (\n\t\t\t( type === 'file' && dropzone.onFilesDrop ) ||\n\t\t\t( type === 'html' && dropzone.onHTMLDrop ) ||\n\t\t\t( type === 'default' && dropzone.onDrop )\n\t\t);\n\t}\n\n\ttoggleDraggingOverDocument( event, dragEventType ) {\n\t\t// In some contexts, it may be necessary to capture and redirect the\n\t\t// drag event (e.g. atop an `iframe`). To accommodate this, you can\n\t\t// create an instance of CustomEvent with the original event specified\n\t\t// as the `detail` property.\n\t\t//\n\t\t// See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events\n\t\tconst detail = window.CustomEvent && event instanceof window.CustomEvent ? event.detail : event;\n\n\t\t// Index of hovered dropzone.\n\n\t\tconst hoveredDropZones = filter( this.dropzones, ( dropzone ) =>\n\t\t\tthis.doesDropzoneSupportType( dropzone, dragEventType ) &&\n\t\t\tthis.isWithinZoneBounds( dropzone.element, detail.clientX, detail.clientY )\n\t\t);\n\n\t\t// Find the leaf dropzone not containing another dropzone\n\t\tconst hoveredDropZone = find( hoveredDropZones, ( zone ) => (\n\t\t\t! some( hoveredDropZones, ( subZone ) => subZone !== zone && zone.element.parentElement.contains( subZone.element ) )\n\t\t) );\n\n\t\tconst hoveredDropZoneIndex = this.dropzones.indexOf( hoveredDropZone );\n\n\t\tlet position = null;\n\n\t\tif ( hoveredDropZone ) {\n\t\t\tconst rect = hoveredDropZone.element.getBoundingClientRect();\n\n\t\t\tposition = {\n\t\t\t\tx: detail.clientX - rect.left < rect.right - detail.clientX ? 'left' : 'right',\n\t\t\t\ty: detail.clientY - rect.top < rect.bottom - detail.clientY ? 'top' : 'bottom',\n\t\t\t};\n\t\t}\n\n\t\t// Optimisation: Only update the changed dropzones\n\t\tlet dropzonesToUpdate = [];\n\n\t\tif ( ! this.state.isDraggingOverDocument ) {\n\t\t\tdropzonesToUpdate = this.dropzones;\n\t\t} else if ( hoveredDropZoneIndex !== this.state.hoveredDropZone ) {\n\t\t\tif ( this.state.hoveredDropZone !== -1 ) {\n\t\t\t\tdropzonesToUpdate.push( this.dropzones[ this.state.hoveredDropZone ] );\n\t\t\t}\n\t\t\tif ( hoveredDropZone ) {\n\t\t\t\tdropzonesToUpdate.push( hoveredDropZone );\n\t\t\t}\n\t\t} else if (\n\t\t\thoveredDropZone &&\n\t\t\thoveredDropZoneIndex === this.state.hoveredDropZone &&\n\t\t\t! isEqual( position, this.state.position )\n\t\t) {\n\t\t\tdropzonesToUpdate.push( hoveredDropZone );\n\t\t}\n\n\t\t// Notifying the dropzones\n\t\tdropzonesToUpdate.map( ( dropzone ) => {\n\t\t\tconst index = this.dropzones.indexOf( dropzone );\n\t\t\tconst isDraggingOverDropZone = index === hoveredDropZoneIndex;\n\t\t\tdropzone.updateState( {\n\t\t\t\tisDraggingOverElement: isDraggingOverDropZone,\n\t\t\t\tposition: isDraggingOverDropZone ? position : null,\n\t\t\t\tisDraggingOverDocument: this.doesDropzoneSupportType( dropzone, dragEventType ),\n\t\t\t\ttype: isDraggingOverDropZone ? dragEventType : null,\n\t\t\t} );\n\t\t} );\n\n\t\tconst newState = {\n\t\t\tisDraggingOverDocument: true,\n\t\t\thoveredDropZone: hoveredDropZoneIndex,\n\t\t\tposition,\n\t\t};\n\t\tif ( ! isShallowEqual( newState, this.state ) ) {\n\t\t\tthis.setState( newState );\n\t\t}\n\t}\n\n\tisWithinZoneBounds( dropzone, x, y ) {\n\t\tconst isWithinElement = ( element ) => {\n\t\t\tconst rect = element.getBoundingClientRect();\n\t\t\t/// make sure the rect is a valid rect\n\t\t\tif ( rect.bottom === rect.top || rect.left === rect.right ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tx >= rect.left && x <= rect.right &&\n\t\t\t\ty >= rect.top && y <= rect.bottom\n\t\t\t);\n\t\t};\n\n\t\treturn isWithinElement( dropzone );\n\t}\n\n\tonDrop( event ) {\n\t\t// This seemingly useless line has been shown to resolve a Safari issue\n\t\t// where files dragged directly from the dock are not recognized\n\t\tevent.dataTransfer && event.dataTransfer.files.length; // eslint-disable-line no-unused-expressions\n\n\t\tconst { position, hoveredDropZone } = this.state;\n\t\tconst dragEventType = this.getDragEventType( event );\n\t\tconst dropzone = this.dropzones[ hoveredDropZone ];\n\t\tconst isValidDropzone = !! dropzone && this.container.contains( event.target );\n\t\tthis.resetDragState();\n\n\t\tif ( isValidDropzone ) {\n\t\t\tswitch ( dragEventType ) {\n\t\t\t\tcase 'file':\n\t\t\t\t\tdropzone.onFilesDrop( [ ...event.dataTransfer.files ], position );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'html':\n\t\t\t\t\tdropzone.onHTMLDrop( event.dataTransfer.getData( 'text/html' ), position );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'default':\n\t\t\t\t\tdropzone.onDrop( event, position );\n\t\t\t}\n\t\t}\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\t\treturn children;\n\t}\n}\n\nDropZoneProvider.childContextTypes = {\n\tdropzones: noop,\n};\n\nexport default DropZoneProvider;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { flatMap } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { DOWN } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport Dropdown from '../dropdown';\nimport { NavigableMenu } from '../navigable-container';\n\nfunction DropdownMenu( {\n\ticon = 'menu',\n\tlabel,\n\tmenuLabel,\n\tcontrols,\n\tclassName,\n} ) {\n\tif ( ! controls || ! controls.length ) {\n\t\treturn null;\n\t}\n\n\t// Normalize controls to nested array of objects (sets of controls)\n\tlet controlSets = controls;\n\tif ( ! Array.isArray( controlSets[ 0 ] ) ) {\n\t\tcontrolSets = [ controlSets ];\n\t}\n\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName={ classnames( 'components-dropdown-menu', className ) }\n\t\t\tcontentClassName=\"components-dropdown-menu__popover\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\treturn (\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tclassName=\"components-dropdown-menu__toggle\"\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ttooltip={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"components-dropdown-menu__indicator\" />\n\t\t\t\t\t</IconButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<NavigableMenu\n\t\t\t\t\t\tclassName=\"components-dropdown-menu__menu\"\n\t\t\t\t\t\trole=\"menu\"\n\t\t\t\t\t\taria-label={ menuLabel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ flatMap( controlSets, ( controlSet, indexOfSet ) => (\n\t\t\t\t\t\t\tcontrolSet.map( ( control, indexOfControl ) => (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tkey={ [ indexOfSet, indexOfControl ].join() }\n\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\tif ( control.onClick ) {\n\t\t\t\t\t\t\t\t\t\t\tcontrol.onClick();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'has-separator': indexOfSet > 0 && indexOfControl === 0,\n\t\t\t\t\t\t\t\t\t\t\t'is-active': control.isActive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\ticon={ control.icon }\n\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t\tdisabled={ control.isDisabled }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ control.title }\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default DropdownMenu;\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\n\nclass Dropdown extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.toggle = this.toggle.bind( this );\n\t\tthis.close = this.close.bind( this );\n\t\tthis.clickOutside = this.clickOutside.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.refresh = this.refresh.bind( this );\n\t\tthis.popoverRef = createRef();\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { isOpen } = this.state;\n\t\tconst { onToggle } = this.props;\n\t\tif ( isOpen && onToggle ) {\n\t\t\tonToggle( false );\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isOpen } = this.state;\n\t\tconst { onToggle } = this.props;\n\t\tif ( prevState.isOpen !== isOpen && onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\t/**\n\t * When contents change height due to user interaction,\n\t * `refresh` can be called to re-render Popover with correct\n\t * attributes which allow scroll, if need be.\n\t */\n\trefresh() {\n\t\tif ( this.popoverRef.current ) {\n\t\t\tthis.popoverRef.current.refresh();\n\t\t}\n\t}\n\n\ttoggle() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tisOpen: ! state.isOpen,\n\t\t} ) );\n\t}\n\n\tclickOutside( event ) {\n\t\tif ( ! this.container.contains( event.target ) ) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tclose() {\n\t\tthis.setState( { isOpen: false } );\n\t}\n\n\trender() {\n\t\tconst { isOpen } = this.state;\n\t\tconst {\n\t\t\trenderContent,\n\t\t\trenderToggle,\n\t\t\tposition = 'bottom',\n\t\t\tclassName,\n\t\t\tcontentClassName,\n\t\t\texpandOnMobile,\n\t\t\theaderTitle,\n\t\t} = this.props;\n\n\t\tconst args = { isOpen, onToggle: this.toggle, onClose: this.close };\n\n\t\treturn (\n\t\t\t<div className={ className } ref={ this.bindContainer }>\n\t\t\t\t{ renderToggle( args ) }\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tclassName={ contentClassName }\n\t\t\t\t\t\tref={ this.popoverRef }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\tonClose={ this.close }\n\t\t\t\t\t\tonClickOutside={ this.clickOutside }\n\t\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Dropdown;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { compact, uniq } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\nexport function ExternalLink( { href, children, className, rel = '', ...additionalProps }, ref ) {\n\trel = uniq( compact( [\n\t\t...rel.split( ' ' ),\n\t\t'external',\n\t\t'noreferrer',\n\t\t'noopener',\n\t] ) ).join( ' ' );\n\tconst classes = classnames( 'components-external-link', className );\n\treturn (\n\t\t<a { ...additionalProps } className={ classes } href={ href } target=\"_blank\" rel={ rel } ref={ ref }>\n\t\t\t{ children }\n\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t{\n\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t__( '(opens in a new window)' )\n\t\t\t\t}\n\t\t\t</span>\n\t\t\t<Dashicon icon=\"external\" className=\"components-external-link__icon\" />\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ExternalLink );\n","/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Browser dependencies\n */\n\nconst { FocusEvent } = window;\n\nclass FocusableIframe extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.checkFocus = this.checkFocus.bind( this );\n\n\t\tthis.node = props.iframeRef || createRef();\n\t}\n\n\t/**\n\t * Checks whether the iframe is the activeElement, inferring that it has\n\t * then received focus, and calls the `onFocus` prop callback.\n\t */\n\tcheckFocus() {\n\t\tconst iframe = this.node.current;\n\n\t\tif ( document.activeElement !== iframe ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusEvent = new FocusEvent( 'focus', { bubbles: true } );\n\t\tiframe.dispatchEvent( focusEvent );\n\n\t\tconst { onFocus } = this.props;\n\t\tif ( onFocus ) {\n\t\t\tonFocus( focusEvent );\n\t\t}\n\t}\n\n\trender() {\n\t\t// Disable reason: The rendered iframe is a pass-through component,\n\t\t// assigning props inherited from the rendering parent. It's the\n\t\t// responsibility of the parent to assign a title.\n\n\t\t/* eslint-disable jsx-a11y/iframe-has-title */\n\t\treturn (\n\t\t\t<iframe\n\t\t\t\tref={ this.node }\n\t\t\t\t{ ...omit( this.props, [ 'iframeRef', 'onFocus' ] ) }\n\t\t\t/>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/iframe-has-title */\n\t}\n}\n\nexport default withGlobalEvents( {\n\tblur: 'checkFocus',\n} )( FocusableIframe );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport RangeControl from '../range-control';\nimport { NavigableMenu } from '../navigable-container';\n\nfunction FontSizePicker( {\n\tfallbackFontSize,\n\tfontSizes = [],\n\tonChange,\n\tvalue,\n\twithSlider,\n} ) {\n\tconst onChangeValue = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tif ( newValue === '' ) {\n\t\t\tonChange( undefined );\n\t\t\treturn;\n\t\t}\n\t\tonChange( Number( newValue ) );\n\t};\n\n\tconst currentFont = fontSizes.find( ( font ) => font.size === value );\n\n\treturn (\n\t\t<BaseControl label={ __( 'Font Size' ) }>\n\t\t\t<div className=\"components-font-size-picker__buttons\">\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"components-font-size-picker__dropdown\"\n\t\t\t\t\tcontentClassName=\"components-font-size-picker__dropdown-content\"\n\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-font-size-picker__selector\"\n\t\t\t\t\t\t\tisLarge\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ __( 'Custom font size' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( currentFont && currentFont.name ) || ( ! value && 'Normal' ) || 'Custom' }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t{ map( fontSizes, ( { name, size, slug } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => onChange( slug === 'normal' ? undefined : size ) }\n\t\t\t\t\t\t\t\t\tclassName={ 'is-font-' + slug }\n\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ ( value === size || ( ! value && slug === 'normal' ) ) &&\t<Dashicon icon=\"saved\" /> }\n\t\t\t\t\t\t\t\t\t<span className=\"components-font-size-picker__dropdown-text-size\" style={ { fontSize: size } }>\n\t\t\t\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\taria-label={ __( 'Custom font size' ) }\n\t\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t\tisSmall\n\t\t\t\t\tisDefault\n\t\t\t\t\taria-label={ __( 'Reset font size' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ withSlider &&\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName=\"components-font-size-picker__custom-input\"\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tbeforeIcon=\"editor-textcolor\"\n\t\t\t\t\tafterIcon=\"editor-textcolor\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( FontSizePicker );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nclass FormFileUpload extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.openFileDialog = this.openFileDialog.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t}\n\n\topenFileDialog() {\n\t\tthis.input.click();\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\trender() {\n\t\tconst { children, multiple = false, accept, onChange, icon = 'upload', ...props } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"components-form-file-upload\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tonClick={ this.openFileDialog }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</IconButton>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\tref={ this.bindInput }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\taccept={ accept }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FormFileUpload;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { Path, SVG } from '../primitives';\n\nfunction FormToggle( { className, checked, id, onChange = noop, ...props } ) {\n\tconst wrapperClasses = classnames(\n\t\t'components-form-toggle',\n\t\tclassName,\n\t\t{ 'is-checked': checked },\n\t);\n\n\treturn (\n\t\t<span className={ wrapperClasses }>\n\t\t\t<input\n\t\t\t\tclassName=\"components-form-toggle__input\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={ checked }\n\t\t\t\tonChange={ onChange }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<span className=\"components-form-toggle__track\"></span>\n\t\t\t<span className=\"components-form-toggle__thumb\"></span>\n\t\t\t{ checked ?\n\t\t\t\t<SVG className=\"components-form-toggle__on\" width=\"2\" height=\"6\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 2 6\"><Path d=\"M0 0h2v6H0z\" /></SVG> :\n\t\t\t\t<SVG className=\"components-form-toggle__off\" width=\"6\" height=\"6\" aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 6 6\"><Path d=\"M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z\" /></SVG>\n\t\t\t}\n\t\t</span>\n\t);\n}\n\nexport default FormToggle;\n","/**\n * External dependencies\n */\nimport { last, take, clone, uniq, map, difference, each, identity, some } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { BACKSPACE, ENTER, UP, DOWN, LEFT, RIGHT, SPACE, DELETE, ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( { isActive: true } );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey( this.deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey( this.deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.handleEscapeKey( event );\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // comma\n\t\t\t\tpreventDefault = this.handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonContainerTouched( event ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\t\tconst inputHasMinimumChars = tokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions( tokenValue );\n\t\tconst hasVisibleSuggestions = inputHasMinimumChars && !! matchingSuggestions.length;\n\n\t\tif ( items.length > 1 ) {\n\t\t\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: tokenValue,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: false,\n\t\t} );\n\n\t\tthis.props.onInputChange( tokenValue );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tthis.setState( {\n\t\t\t\tisExpanded: hasVisibleSuggestions,\n\t\t\t} );\n\n\t\t\tif ( !! matchingSuggestions.length ) {\n\t\t\t\tthis.props.debouncedSpeak( sprintf( _n(\n\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t), matchingSuggestions.length ), 'assertive' );\n\t\t\t} else {\n\t\t\t\tthis.props.debouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t\t}\n\t\t}\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex: (\n\t\t\t\t( state.selectedSuggestionIndex === 0 ? this.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length : state.selectedSuggestionIndex ) - 1\n\t\t\t),\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex: (\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) % this.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length\n\t\t\t),\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // preventDefault\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // preventDefault\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min( state.inputOffsetFromEnd + 1, props.value.length ),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// update input offset since it's the offset from the last token\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: false,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform,\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[ this.state.selectedSuggestionIndex ];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn this.props.saveTransform( this.state.incompleteTokenValue ).length > 0;\n\t}\n\n\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst { autoCapitalize, autoComplete, maxLength, value, placeholder, instanceId } = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( value.length === 0 && placeholder ) {\n\t\t\tprops.placeholder = placeholder;\n\t\t}\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn (\n\t\t\t<TokenInput { ...props } />\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tplaceholder = __( 'Add item.' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames( className, 'components-form-token-field', {\n\t\t\t'is-active': this.state.isActive,\n\t\t\t'is-disabled': disabled,\n\t\t} );\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: classes,\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps } >\n\t\t\t\t<label htmlFor={ `components-form-token-input-${ instanceId }` } className=\"screen-reader-text\">\n\t\t\t\t\t{ placeholder }\n\t\t\t\t</label>\n\t\t\t\t<div ref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName=\"components-form-token-field__input-container\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t</div>\n\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ this.props.saveTransform( this.state.incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ this.state.selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div id={ `components-form-token-suggestions-howto-${ instanceId }` } className=\"screen-reader-text\">\n\t\t\t\t\t{ __( 'Separate with commas' ) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tplaceholder: '',\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t},\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass SuggestionsList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.handleMouseDown = this.handleMouseDown.bind( this );\n\t\tthis.bindList = this.bindList.bind( this );\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// only have to worry about scrolling selected suggestion into view\n\t\t// when already expanded\n\t\tif ( this.props.selectedIndex > -1 && this.props.scrollIntoView ) {\n\t\t\tthis.scrollingIntoView = true;\n\t\t\tscrollIntoView( this.list.children[ this.props.selectedIndex ], this.list, {\n\t\t\t\tonlyScrollIfNeeded: true,\n\t\t\t} );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.scrollingIntoView = false;\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\tbindList( ref ) {\n\t\tthis.list = ref;\n\t}\n\n\thandleHover( suggestion ) {\n\t\treturn () => {\n\t\t\tif ( ! this.scrollingIntoView ) {\n\t\t\t\tthis.props.onHover( suggestion );\n\t\t\t}\n\t\t};\n\t}\n\n\thandleClick( suggestion ) {\n\t\treturn () => {\n\t\t\tthis.props.onSelect( suggestion );\n\t\t};\n\t}\n\n\thandleMouseDown( e ) {\n\t\t// By preventing default here, we will not lose focus of <input> when clicking a suggestion\n\t\te.preventDefault();\n\t}\n\n\tcomputeSuggestionMatch( suggestion ) {\n\t\tconst match = this.props.displayTransform( this.props.match || '' ).toLocaleLowerCase();\n\t\tif ( match.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsuggestion = this.props.displayTransform( suggestion );\n\t\tconst indexOfMatch = suggestion.toLocaleLowerCase().indexOf( match );\n\n\t\treturn {\n\t\t\tsuggestionBeforeMatch: suggestion.substring( 0, indexOfMatch ),\n\t\t\tsuggestionMatch: suggestion.substring( indexOfMatch, indexOfMatch + match.length ),\n\t\t\tsuggestionAfterMatch: suggestion.substring( indexOfMatch + match.length ),\n\t\t};\n\t}\n\n\trender() {\n\t\t// We set `tabIndex` here because otherwise Firefox sets focus on this\n\t\t// div when tabbing off of the input in `TokenField` -- not really sure\n\t\t// why, since usually a div isn't focusable by default\n\t\t// TODO does this still apply now that it's a <ul> and not a <div>?\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tref={ this.bindList }\n\t\t\t\tclassName=\"components-form-token-field__suggestions-list\"\n\t\t\t\tid={ `components-form-token-suggestions-${ this.props.instanceId }` }\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tmap( this.props.suggestions, ( suggestion, index ) => {\n\t\t\t\t\t\tconst match = this.computeSuggestionMatch( suggestion );\n\t\t\t\t\t\tconst classeName = classnames( 'components-form-token-field__suggestion', {\n\t\t\t\t\t\t\t'is-selected': index === this.props.selectedIndex,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tid={ `components-form-token-suggestions-${ this.props.instanceId }-${ index }` }\n\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\tclassName={ classeName }\n\t\t\t\t\t\t\t\tkey={ suggestion }\n\t\t\t\t\t\t\t\tonMouseDown={ this.handleMouseDown }\n\t\t\t\t\t\t\t\tonClick={ this.handleClick( suggestion ) }\n\t\t\t\t\t\t\t\tonMouseEnter={ this.handleHover( suggestion ) }\n\t\t\t\t\t\t\t\taria-selected={ index === this.props.selectedIndex }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ match ?\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t<span aria-label={ this.props.displayTransform( suggestion ) }>\n\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionBeforeMatch }\n\t\t\t\t\t\t\t\t\t\t\t<strong className=\"components-form-token-field__suggestion-match\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionMatch }\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionAfterMatch }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t\t\tthis.props.displayTransform( suggestion )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nSuggestionsList.defaultProps = {\n\tmatch: '',\n\tonHover: () => {},\n\tonSelect: () => {},\n\tsuggestions: Object.freeze( [] ),\n};\n\nexport default SuggestionsList;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass TokenInput extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t}\n\n\tfocus() {\n\t\tthis.input.focus();\n\t}\n\n\thasFocus() {\n\t\treturn this.input === document.activeElement;\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tonChange( event ) {\n\t\tthis.props.onChange( {\n\t\t\tvalue: event.target.value,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { value, placeholder, isExpanded, instanceId, selectedSuggestionIndex, ...props } = this.props;\n\t\tconst size = ( ( value.length === 0 && placeholder && placeholder.length ) || value.length ) + 1;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tref={ this.bindInput }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\ttype=\"text\"\n\t\t\t\t{ ...props }\n\t\t\t\tvalue={ value }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tonChange={ this.onChange }\n\t\t\t\tsize={ size }\n\t\t\t\tclassName=\"components-form-token-field__input\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-expanded={ isExpanded }\n\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\taria-owns={ isExpanded ? `components-form-token-suggestions-${ instanceId }` : undefined }\n\t\t\t\taria-activedescendant={ selectedSuggestionIndex !== -1 ? `components-form-token-suggestions-${ instanceId }-${ selectedSuggestionIndex }` : undefined }\n\t\t\t\taria-describedby={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default TokenInput;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nfunction Token( {\n\tvalue,\n\tstatus,\n\ttitle,\n\tdisplayTransform,\n\tisBorderless = false,\n\tdisabled = false,\n\tonClickRemove = noop,\n\tonMouseEnter,\n\tonMouseLeave,\n\tmessages,\n\ttermPosition,\n\ttermsCount,\n\tinstanceId,\n} ) {\n\tconst tokenClasses = classnames( 'components-form-token-field__token', {\n\t\t'is-error': 'error' === status,\n\t\t'is-success': 'success' === status,\n\t\t'is-validating': 'validating' === status,\n\t\t'is-borderless': isBorderless,\n\t\t'is-disabled': disabled,\n\t} );\n\n\tconst onClick = () => onClickRemove( { value } );\n\n\tconst transformedValue = displayTransform( value );\n\tconst termPositionAndCount = sprintf(\n\t\t/* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n\t\t__( '%1$s (%2$s of %3$s)' ),\n\t\ttransformedValue,\n\t\ttermPosition,\n\t\ttermsCount\n\t);\n\n\treturn (\n\t\t<span\n\t\t\tclassName={ tokenClasses }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"components-form-token-field__token-text\"\n\t\t\t\tid={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t>\n\t\t\t\t<span className=\"screen-reader-text\">{ termPositionAndCount }</span>\n\t\t\t\t<span aria-hidden=\"true\">{ transformedValue }</span>\n\t\t\t</span>\n\n\t\t\t<IconButton\n\t\t\t\tclassName=\"components-form-token-field__remove-token\"\n\t\t\t\ticon=\"dismiss\"\n\t\t\t\tonClick={ ! disabled && onClick }\n\t\t\t\tlabel={ messages.remove }\n\t\t\t\taria-describedby={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t/>\n\t\t</span>\n\t);\n}\n\nexport default withInstanceId( Token );\n","/**\n * External Dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal Dependencies\n */\nimport KeyboardShortcuts from '../../keyboard-shortcuts';\n\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\t\t\tthis.focusNextRegion = this.focusRegion.bind( this, 1 );\n\t\t\t\tthis.focusPreviousRegion = this.focusRegion.bind( this, -1 );\n\t\t\t\tthis.onClick = this.onClick.bind( this );\n\t\t\t\tthis.state = {\n\t\t\t\t\tisFocusingRegions: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tbindContainer( ref ) {\n\t\t\t\tthis.container = ref;\n\t\t\t}\n\n\t\t\tfocusRegion( offset ) {\n\t\t\t\tconst regions = [ ...this.container.querySelectorAll( '[role=\"region\"]' ) ];\n\t\t\t\tif ( ! regions.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet nextRegion = regions[ 0 ];\n\t\t\t\tconst selectedIndex = regions.indexOf( document.activeElement );\n\t\t\t\tif ( selectedIndex !== -1 ) {\n\t\t\t\t\tlet nextIndex = selectedIndex + offset;\n\t\t\t\t\tnextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;\n\t\t\t\t\tnextIndex = nextIndex === regions.length ? 0 : nextIndex;\n\t\t\t\t\tnextRegion = regions[ nextIndex ];\n\t\t\t\t}\n\n\t\t\t\tnextRegion.focus();\n\t\t\t\tthis.setState( { isFocusingRegions: true } );\n\t\t\t}\n\n\t\t\tonClick() {\n\t\t\t\tthis.setState( { isFocusingRegions: false } );\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst className = classnames( 'components-navigate-regions', {\n\t\t\t\t\t'is-focusing-regions': this.state.isFocusingRegions,\n\t\t\t\t} );\n\n\t\t\t\t// Disable reason: Clicking the editor should dismiss the regions focus style\n\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\t\t\treturn (\n\t\t\t\t\t<div ref={ this.bindContainer } className={ className } onClick={ this.onClick }>\n\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\tbindGlobal\n\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t'ctrl+`': this.focusNextRegion,\n\t\t\t\t\t\t\t\t'shift+alt+n': this.focusNextRegion,\n\t\t\t\t\t\t\t\t'ctrl+shift+`': this.focusPreviousRegion,\n\t\t\t\t\t\t\t\t'shift+alt+p': this.focusPreviousRegion,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\t\t}\n\t\t};\n\t}, 'navigateRegions'\n);\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { TAB } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\n\nconst withConstrainedTabbing = createHigherOrderComponent(\n\t( WrappedComponent ) => class extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.focusContainRef = createRef();\n\t\t\tthis.handleTabBehaviour = this.handleTabBehaviour.bind( this );\n\t\t}\n\n\t\thandleTabBehaviour( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst tabbables = focus.tabbable.find( this.focusContainRef.current );\n\t\t\tif ( ! tabbables.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst firstTabbable = tabbables[ 0 ];\n\t\t\tconst lastTabbable = tabbables[ tabbables.length - 1 ];\n\n\t\t\tif ( event.shiftKey && event.target === firstTabbable ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlastTabbable.focus();\n\t\t\t} else if ( ! event.shiftKey && event.target === lastTabbable ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstTabbable.focus();\n\t\t\t/*\n\t\t\t * When pressing Tab and none of the tabbables has focus, the keydown\n\t\t\t * event happens on the wrapper div: move focus on the first tabbable.\n\t\t\t */\n\t\t\t} else if ( ! tabbables.includes( event.target ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstTabbable.focus();\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\t// Disable reason: this component is non-interactive, but must capture\n\t\t\t// events from the wrapped component to determine when the Tab key is used.\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tonKeyDown={ this.handleTabBehaviour }\n\t\t\t\t\tref={ this.focusContainRef }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t</div>\n\t\t\t);\n\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t\t}\n\t},\n\t'withConstrainedTabbing'\n);\n\nexport default withConstrainedTabbing;\n","/**\n * External dependencies\n */\nimport { every, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nexport default ( mapNodeToProps ) => createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.nodeRef = this.props.node;\n\t\t\t\tthis.state = {\n\t\t\t\t\tfallbackStyles: undefined,\n\t\t\t\t\tgrabStylesCompleted: false,\n\t\t\t\t};\n\n\t\t\t\tthis.bindRef = this.bindRef.bind( this );\n\t\t\t}\n\n\t\t\tbindRef( node ) {\n\t\t\t\tif ( ! node ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.nodeRef = node;\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tcomponentDidUpdate() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tgrabFallbackStyles() {\n\t\t\t\tconst { grabStylesCompleted, fallbackStyles } = this.state;\n\t\t\t\tif ( this.nodeRef && ! grabStylesCompleted ) {\n\t\t\t\t\tconst newFallbackStyles = mapNodeToProps( this.nodeRef, this.props );\n\t\t\t\t\tif ( ! isEqual( newFallbackStyles, fallbackStyles ) ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tfallbackStyles: newFallbackStyles,\n\t\t\t\t\t\t\tgrabStylesCompleted: !! every( newFallbackStyles ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst wrappedComponent = <WrappedComponent { ...this.props } { ...this.state.fallbackStyles } />;\n\t\t\t\treturn this.props.node ? wrappedComponent : <div ref={ this.bindRef }> { wrappedComponent } </div>;\n\t\t\t}\n\t\t};\n\t},\n\t'withFallbackStyles'\n);\n","/**\n * External dependencies\n */\nimport { debounce, uniqueId } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { addAction, applyFilters, removeAction } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst ANIMATION_FRAME_PERIOD = 16;\n\n/**\n * Creates a higher-order component which adds filtering capability to the\n * wrapped component. Filters get applied when the original component is about\n * to be mounted. When a filter is added or removed that matches the hook name,\n * the wrapped component re-renders.\n *\n * @param {string} hookName Hook name exposed to be used by filters.\n *\n * @return {Function} Higher-order component factory.\n */\nexport default function withFilters( hookName ) {\n\treturn createHigherOrderComponent( ( OriginalComponent ) => {\n\t\treturn class FilteredComponent extends Component {\n\t\t\t/** @inheritdoc */\n\t\t\tconstructor( props ) {\n\t\t\t\tsuper( props );\n\n\t\t\t\tthis.onHooksUpdated = this.onHooksUpdated.bind( this );\n\t\t\t\tthis.Component = applyFilters( hookName, OriginalComponent );\n\t\t\t\tthis.namespace = uniqueId( 'core/with-filters/component-' );\n\t\t\t\tthis.throttledForceUpdate = debounce( () => {\n\t\t\t\t\tthis.Component = applyFilters( hookName, OriginalComponent );\n\t\t\t\t\tthis.forceUpdate();\n\t\t\t\t}, ANIMATION_FRAME_PERIOD );\n\n\t\t\t\taddAction( 'hookRemoved', this.namespace, this.onHooksUpdated );\n\t\t\t\taddAction( 'hookAdded', this.namespace, this.onHooksUpdated );\n\t\t\t}\n\n\t\t\t/** @inheritdoc */\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tthis.throttledForceUpdate.cancel();\n\t\t\t\tremoveAction( 'hookRemoved', this.namespace );\n\t\t\t\tremoveAction( 'hookAdded', this.namespace );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * When a filter is added or removed for the matching hook name, the wrapped component should re-render.\n\t\t\t *\n\t\t\t * @param {string} updatedHookName Name of the hook that was updated.\n\t\t\t */\n\t\t\tonHooksUpdated( updatedHookName ) {\n\t\t\t\tif ( updatedHookName === hookName ) {\n\t\t\t\t\tthis.throttledForceUpdate();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @inheritdoc */\n\t\t\trender() {\n\t\t\t\treturn <this.Component { ...this.props } />;\n\t\t\t}\n\t\t};\n\t}, 'withFilters' );\n}\n","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Input types which are classified as button types, for use in considering\n * whether element is a (focus-normalized) button.\n *\n * @type {string[]}\n */\nconst INPUT_BUTTON_TYPES = [\n\t'button',\n\t'submit',\n];\n\n/**\n * Returns true if the given element is a button element subject to focus\n * normalization, or false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is a button.\n */\nfunction isFocusNormalizedButton( element ) {\n\tswitch ( element.nodeName ) {\n\t\tcase 'A':\n\t\tcase 'BUTTON':\n\t\t\treturn true;\n\n\t\tcase 'INPUT':\n\t\t\treturn includes( INPUT_BUTTON_TYPES, element.type );\n\t}\n\n\treturn false;\n}\n\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.bindNode = this.bindNode.bind( this );\n\t\t\t\tthis.cancelBlurCheck = this.cancelBlurCheck.bind( this );\n\t\t\t\tthis.queueBlurCheck = this.queueBlurCheck.bind( this );\n\t\t\t\tthis.normalizeButtonFocus = this.normalizeButtonFocus.bind( this );\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tthis.cancelBlurCheck();\n\t\t\t}\n\n\t\t\tbindNode( node ) {\n\t\t\t\tif ( node ) {\n\t\t\t\t\tthis.node = node;\n\t\t\t\t} else {\n\t\t\t\t\tdelete this.node;\n\t\t\t\t\tthis.cancelBlurCheck();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tqueueBlurCheck( event ) {\n\t\t\t\t// React does not allow using an event reference asynchronously\n\t\t\t\t// due to recycling behavior, except when explicitly persisted.\n\t\t\t\tevent.persist();\n\n\t\t\t\t// Skip blur check if clicking button. See `normalizeButtonFocus`.\n\t\t\t\tif ( this.preventBlurCheck ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.blurCheckTimeout = setTimeout( () => {\n\t\t\t\t\tif ( 'function' === typeof this.node.handleFocusOutside ) {\n\t\t\t\t\t\tthis.node.handleFocusOutside( event );\n\t\t\t\t\t}\n\t\t\t\t}, 0 );\n\t\t\t}\n\n\t\t\tcancelBlurCheck() {\n\t\t\t\tclearTimeout( this.blurCheckTimeout );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles a mousedown or mouseup event to respectively assign and\n\t\t\t * unassign a flag for preventing blur check on button elements. Some\n\t\t\t * browsers, namely Firefox and Safari, do not emit a focus event on\n\t\t\t * button elements when clicked, while others do. The logic here\n\t\t\t * intends to normalize this as treating click on buttons as focus.\n\t\t\t *\n\t\t\t * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\t *\n\t\t\t * @param {MouseEvent} event Event for mousedown or mouseup.\n\t\t\t */\n\t\t\tnormalizeButtonFocus( event ) {\n\t\t\t\tconst { type, target } = event;\n\n\t\t\t\tconst isInteractionEnd = includes( [ 'mouseup', 'touchend' ], type );\n\n\t\t\t\tif ( isInteractionEnd ) {\n\t\t\t\t\tthis.preventBlurCheck = false;\n\t\t\t\t} else if ( isFocusNormalizedButton( target ) ) {\n\t\t\t\t\tthis.preventBlurCheck = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\t// Disable reason: See `normalizeButtonFocus` for browser-specific\n\t\t\t\t// focus event normalization.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tonFocus={ this.cancelBlurCheck }\n\t\t\t\t\t\tonMouseDown={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonMouseUp={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonTouchStart={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonTouchEnd={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonBlur={ this.queueBlurCheck }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\tref={ this.bindNode }\n\t\t\t\t\t\t\t{ ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t\t\t}\n\t\t};\n\t}, 'withFocusOutside'\n);\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param {WPElement} WrappedComponent The disposable component.\n *\n * @return {Component} Component with the focus restauration behaviour.\n */\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.setIsFocusedTrue = () => this.isFocused = true;\n\t\t\t\tthis.setIsFocusedFalse = () => this.isFocused = false;\n\t\t\t\tthis.activeElementOnMount = document.activeElement;\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tconst { activeElementOnMount, isFocused } = this;\n\t\t\t\tif ( ! activeElementOnMount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { body, activeElement } = document;\n\t\t\t\tif ( isFocused || null === activeElement || body === activeElement ) {\n\t\t\t\t\tactiveElementOnMount.focus();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tonFocus={ this.setIsFocusedTrue }\n\t\t\t\t\t\tonBlur={ this.setIsFocusedFalse }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}, 'withFocusReturn'\n);\n","/**\n * External dependencies\n */\nimport uuid from 'uuid/v4';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NoticeList from '../../notice/list';\n\n/**\n * Override the default edit UI to include notices if supported.\n *\n * @param {function|Component} OriginalComponent Original component.\n * @return {Component} Wrapped component.\n */\nexport default createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn class WrappedBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.createNotice = this.createNotice.bind( this );\n\t\t\tthis.createErrorNotice = this.createErrorNotice.bind( this );\n\t\t\tthis.removeNotice = this.removeNotice.bind( this );\n\t\t\tthis.removeAllNotices = this.removeAllNotices.bind( this );\n\n\t\t\tthis.state = {\n\t\t\t\tnoticeList: [],\n\t\t\t};\n\n\t\t\tthis.noticeOperations = {\n\t\t\t\tcreateNotice: this.createNotice,\n\t\t\t\tcreateErrorNotice: this.createErrorNotice,\n\t\t\t\tremoveAllNotices: this.removeAllNotices,\n\t\t\t\tremoveNotice: this.removeNotice,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t* Function passed down as a prop that adds a new notice.\n\t\t*\n\t\t* @param {Object} notice Notice to add.\n\t\t*/\n\t\tcreateNotice( notice ) {\n\t\t\tconst noticeToAdd = notice.id ? notice : { ...notice, id: uuid() };\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tnoticeList: [ ...state.noticeList, noticeToAdd ],\n\t\t\t} ) );\n\t\t}\n\n\t\t/**\n\t\t* Function passed as a prop that adds a new error notice.\n\t\t*\n\t\t* @param {string} msg Error message of the notice.\n\t\t*/\n\t\tcreateErrorNotice( msg ) {\n\t\t\tthis.createNotice( { status: 'error', content: msg } );\n\t\t}\n\n\t\t/**\n\t\t* Removes a notice by id.\n\t\t*\n\t\t* @param {string} id Id of the notice to remove.\n\t\t*/\n\t\tremoveNotice( id ) {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tnoticeList: state.noticeList.filter( ( notice ) => notice.id !== id ),\n\t\t\t} ) );\n\t\t}\n\n\t\t/**\n\t\t* Removes all notices\n\t\t*/\n\t\tremoveAllNotices() {\n\t\t\tthis.setState( {\n\t\t\t\tnoticeList: [],\n\t\t\t} );\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<OriginalComponent\n\t\t\t\t\tnoticeList={ this.state.noticeList }\n\t\t\t\t\tnoticeOperations={ this.noticeOperations }\n\t\t\t\t\tnoticeUI={\n\t\t\t\t\t\tthis.state.noticeList.length > 0 && <NoticeList\n\t\t\t\t\t\t\tclassName=\"components-with-notices-ui\"\n\t\t\t\t\t\t\tnotices={ this.state.noticeList }\n\t\t\t\t\t\t\tonRemove={ this.removeNotice }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ...this.props }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t};\n} );\n","/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPElement} WrappedComponent The wrapped component.\n *\n * @return {Component} Component with an instanceId prop.\n */\nexport default createHigherOrderComponent( ( WrappedComponent ) => {\n\treturn class extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t\tthis.debouncedSpeak = debounce( this.speak.bind( this ), 500 );\n\t\t}\n\n\t\tspeak( message, type = 'polite' ) {\n\t\t\tspeak( message, type );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tthis.debouncedSpeak.cancel();\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<WrappedComponent { ...this.props }\n\t\t\t\t\tspeak={ this.speak }\n\t\t\t\t\tdebouncedSpeak={ this.debouncedSpeak }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t};\n}, 'withSpokenMessages' );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString, isArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Button from '../button';\nimport Dashicon from '../dashicon';\n\n// This is intentionally a Component class, not a function component because it\n// is common to apply a ref to the button element (only supported in class)\nclass IconButton extends Component {\n\trender() {\n\t\tconst { icon, children, label, className, tooltip, shortcut, ...additionalProps } = this.props;\n\t\tconst classes = classnames( 'components-icon-button', className );\n\t\tconst tooltipText = tooltip || label;\n\n\t\t// Should show the tooltip if...\n\t\tconst showTooltip = (\n\t\t\t// an explicit tooltip is passed or...\n\t\t\ttooltip ||\n\t\t\t// there's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t(\n\t\t\t\t// there's a label and...\n\t\t\t\t!! label &&\n\t\t\t\t// the children are empty and...\n\t\t\t\t( ! children || ( isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// the tooltip is not explicitly disabled.\n\t\t\t\tfalse !== tooltip\n\t\t\t)\n\t\t);\n\n\t\tlet element = (\n\t\t\t<Button { ...additionalProps } aria-label={ label } className={ classes }>\n\t\t\t\t{ isString( icon ) ? <Dashicon icon={ icon } /> : icon }\n\t\t\t\t{ children }\n\t\t\t</Button>\n\t\t);\n\n\t\tif ( showTooltip ) {\n\t\t\telement = (\n\t\t\t\t<Tooltip text={ tooltipText } shortcut={ shortcut }>\n\t\t\t\t\t{ element }\n\t\t\t\t</Tooltip>\n\t\t\t);\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\nexport default IconButton;\n","// Components\nexport * from './primitives';\n// eslint-disable-next-line camelcase\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BaseControl } from './base-control';\nexport { default as Button } from './button';\nexport { default as ButtonGroup } from './button-group';\nexport { default as CheckboxControl } from './checkbox-control';\nexport { default as ClipboardButton } from './clipboard-button';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { default as Dashicon } from './dashicon';\nexport { DateTimePicker, DatePicker, TimePicker } from './date-time';\nexport { default as Disabled } from './disabled';\nexport { default as Draggable } from './draggable';\nexport { default as DropZone } from './drop-zone';\nexport { default as DropZoneProvider } from './drop-zone/provider';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as ExternalLink } from './external-link';\nexport { default as FocusableIframe } from './focusable-iframe';\nexport { default as FontSizePicker } from './font-size-picker';\nexport { default as FormFileUpload } from './form-file-upload';\nexport { default as FormToggle } from './form-toggle';\nexport { default as FormTokenField } from './form-token-field';\nexport { default as IconButton } from './icon-button';\nexport { default as KeyboardShortcuts } from './keyboard-shortcuts';\nexport { default as MenuGroup } from './menu-group';\nexport { default as MenuItem } from './menu-item';\nexport { default as MenuItemsChoice } from './menu-items-choice';\nexport { default as Modal } from './modal';\nexport { default as ScrollLock } from './scroll-lock';\nexport { NavigableMenu, TabbableContainer } from './navigable-container';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as Panel } from './panel';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelColor } from './panel/color';\nexport { default as PanelHeader } from './panel/header';\nexport { default as PanelRow } from './panel/row';\nexport { default as Placeholder } from './placeholder';\nexport { default as Popover } from './popover';\nexport { default as QueryControls } from './query-controls';\nexport { default as RadioControl } from './radio-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as ResponsiveWrapper } from './responsive-wrapper';\nexport { default as SandBox } from './sandbox';\nexport { default as SelectControl } from './select-control';\nexport { default as Spinner } from './spinner';\nexport { default as ServerSideRender } from './server-side-render';\nexport { default as TabPanel } from './tab-panel';\nexport { default as TextControl } from './text-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as Toolbar } from './toolbar';\nexport { default as Tooltip } from './tooltip';\nexport { default as TreeSelect } from './tree-select';\nexport { createSlotFill, Slot, Fill, Provider as SlotFillProvider } from './slot-fill';\n\n// Higher-Order Components\nexport { default as navigateRegions } from './higher-order/navigate-regions';\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\n","/**\n * External dependencies\n */\nimport Mousetrap from 'mousetrap';\nimport 'mousetrap/plugins/global-bind/mousetrap-global-bind';\nimport { forEach } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Children } from '@wordpress/element';\n\nclass KeyboardShortcuts extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindKeyTarget = this.bindKeyTarget.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { keyTarget = document } = this;\n\n\t\tthis.mousetrap = new Mousetrap( keyTarget );\n\t\tforEach( this.props.shortcuts, ( callback, key ) => {\n\t\t\tconst { bindGlobal, eventName } = this.props;\n\t\t\tconst bindFn = bindGlobal ? 'bindGlobal' : 'bind';\n\t\t\tthis.mousetrap[ bindFn ]( key, callback, eventName );\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mousetrap.reset();\n\t}\n\n\t/**\n\t * When rendering with children, binds the wrapper node on which events\n\t * will be bound.\n\t *\n\t * @param {Element} node Key event target.\n\t */\n\tbindKeyTarget( node ) {\n\t\tthis.keyTarget = node;\n\t}\n\n\trender() {\n\t\t// Render as non-visual if there are no children pressed. Keyboard\n\t\t// events will be bound to the document instead.\n\t\tconst { children } = this.props;\n\t\tif ( ! Children.count( children ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <div ref={ this.bindKeyTarget }>{ children }</div>;\n\t}\n}\n\nexport default KeyboardShortcuts;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { NavigableMenu } from '../navigable-container';\n\nexport function MenuGroup( {\n\tchildren,\n\tclassName = '',\n\tinstanceId,\n\tlabel,\n} ) {\n\tif ( ! Children.count( children ) ) {\n\t\treturn null;\n\t}\n\n\tconst labelId = `components-menu-group-label-${ instanceId }`;\n\tconst classNames = classnames( className, 'components-menu-group' );\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ label &&\n\t\t\t\t<div className=\"components-menu-group__label\" id={ labelId }>{ label }</div>\n\t\t\t}\n\t\t\t<NavigableMenu orientation=\"vertical\" aria-labelledby={ labelId }>\n\t\t\t\t{ children }\n\t\t\t</NavigableMenu>\n\t\t</div>\n\t);\n}\n\nexport default withInstanceId( MenuGroup );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Shortcut from '../shortcut';\nimport IconButton from '../icon-button';\n\n/**\n * Renders a generic menu item for use inside the more menu.\n *\n * @return {WPElement} More menu item.\n */\nfunction MenuItem( { children, className, icon, shortcut, isSelected, role = 'menuitem', ...props } ) {\n\tclassName = classnames( 'components-menu-item__button', className, {\n\t\t'has-icon': icon,\n\t} );\n\n\tif ( icon ) {\n\t\tif ( ! isString( icon ) ) {\n\t\t\ticon = cloneElement( icon, {\n\t\t\t\tclassName: 'components-menu-items__item-icon',\n\t\t\t\theight: 20,\n\t\t\t\twidth: 20,\n\t\t\t} );\n\t\t}\n\n\t\treturn (\n\t\t\t<IconButton\n\t\t\t\tclassName={ className }\n\t\t\t\ticon={ icon }\n\t\t\t\taria-checked={ isSelected }\n\t\t\t\trole={ role }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t<Shortcut className=\"components-menu-item__shortcut\" shortcut={ shortcut } />\n\t\t\t</IconButton>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\taria-checked={ isSelected }\n\t\t\trole={ role }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t<Shortcut className=\"components-menu-item__shortcut\" shortcut={ shortcut } />\n\t\t</Button>\n\t);\n}\n\nexport default MenuItem;\n","/**\n * Internal dependencies\n */\nimport MenuItem from '../menu-item';\n\nexport default function MenuItemsChoice( {\n\tchoices = [],\n\tonSelect,\n\tvalue,\n} ) {\n\treturn choices.map( ( item ) => {\n\t\tconst isSelected = value === item.value;\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tkey={ item.value }\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\ticon={ isSelected && 'yes' }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tshortcut={ item.shortcut }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelect( item.value );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ item.label }\n\t\t\t</MenuItem>\n\t\t);\n\t} );\n}\n","/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\n\nconst LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nlet hiddenElements = [],\n\tisHidden = false;\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param {Element} unhiddenElement The element that should not be hidden.\n */\nexport function hideApp( unhiddenElement ) {\n\tif ( isHidden ) {\n\t\treturn;\n\t}\n\tconst elements = document.body.children;\n\tforEach( elements, ( element ) => {\n\t\tif (\n\t\t\telement === unhiddenElement\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t} );\n\tisHidden = true;\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param {HTMLElement} element The element that should be checked.\n *\n * @return {boolean} Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\tLIVE_REGION_ARIA_ROLES.has( role )\n\t);\n}\n\n/**\n * Makes all elements in the body that have been hidden by `hideApp`\n * visible again to screen-readers.\n */\nexport function showApp() {\n\tif ( ! isHidden ) {\n\t\treturn;\n\t}\n\tforEach( hiddenElements, ( element ) => {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t} );\n\thiddenElements = [];\n\tisHidden = false;\n}\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { withGlobalEvents, compose } from '@wordpress/compose';\n\n/**\n * External dependencies\n */\nimport clickOutside from 'react-click-outside';\n\n/**\n * Internal dependencies\n */\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\n\nclass ModalFrame extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.containerRef = createRef();\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t\tthis.handleClickOutside = this.handleClickOutside.bind( this );\n\t\tthis.focusFirstTabbable = this.focusFirstTabbable.bind( this );\n\t}\n\n\t/**\n\t * Focuses the first tabbable element when props.focusOnMount is true.\n\t */\n\tcomponentDidMount() {\n\t\t// Focus on mount\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.focusFirstTabbable();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first tabbable element.\n\t */\n\tfocusFirstTabbable() {\n\t\tconst tabbables = focus.tabbable.find( this.containerRef.current );\n\t\tif ( tabbables.length ) {\n\t\t\ttabbables[ 0 ].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Callback function called when clicked outside the modal.\n\t *\n\t * @param {Object} event Mouse click event.\n\t */\n\thandleClickOutside( event ) {\n\t\tif ( this.props.shouldCloseOnClickOutside ) {\n\t\t\tthis.onRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Callback function called when a key is pressed.\n\t *\n\t * @param {KeyboardEvent} event Key down event.\n\t */\n\thandleKeyDown( event ) {\n\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\tthis.handleEscapeKeyDown( event );\n\t\t}\n\t}\n\n\t/**\n\t * Handles a escape key down event.\n\t *\n\t * Calls onRequestClose and prevents default key press behaviour.\n\t *\n\t * @param {Object} event Key down event.\n\t */\n\thandleEscapeKeyDown( event ) {\n\t\tif ( this.props.shouldCloseOnEsc ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.onRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Calls the onRequestClose callback props when it is available.\n\t *\n\t * @param {Object} event Event object.\n\t */\n\tonRequestClose( event ) {\n\t\tconst { onRequestClose } = this.props;\n\t\tif ( onRequestClose ) {\n\t\t\tonRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Renders the modal frame element.\n\t *\n\t * @return {WPElement} The modal frame element.\n\t */\n\trender() {\n\t\tconst {\n\t\t\tcontentLabel,\n\t\t\taria: {\n\t\t\t\tdescribedby,\n\t\t\t\tlabelledby,\n\t\t\t},\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\trole,\n\t\t\tstyle,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ className }\n\t\t\t\tstyle={ style }\n\t\t\t\tref={ this.containerRef }\n\t\t\t\trole={ role }\n\t\t\t\taria-label={ contentLabel }\n\t\t\t\taria-labelledby={ contentLabel ? null : labelledby }\n\t\t\t\taria-describedby={ describedby }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithFocusReturn,\n\twithConstrainedTabbing,\n\tclickOutside,\n\twithGlobalEvents( {\n\t\tkeydown: 'handleKeyDown',\n\t} ),\n] )( ModalFrame );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies.\n */\nimport IconButton from '../icon-button';\n\nconst ModalHeader = ( { icon, title, onClose, closeLabel, headingId, isDismissable } ) => {\n\tconst label = closeLabel ? closeLabel : __( 'Close dialog' );\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"components-modal__header\"\n\t\t>\n\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t{ icon &&\n\t\t\t\t\t<span className=\"components-modal__icon-container\" aria-hidden>\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t\t{ title &&\n\t\t\t\t\t<h1 id={ headingId }\n\t\t\t\t\t\tclassName=\"components-modal__header-heading\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</h1>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{ isDismissable &&\n\t\t\t\t<IconButton\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\ticon=\"no-alt\"\n\t\t\t\t\tlabel={ label }\n\t\t\t\t/>\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default ModalHeader;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createPortal } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModalFrame from './frame';\nimport ModalHeader from './header';\nimport * as ariaHelper from './aria-helper';\n\n// Used to count the number of open modals.\nlet parentElement,\n\topenModalCount = 0;\n\nclass Modal extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.prepareDOM();\n\t\tthis.stopEventPropagationOutsideModal = this.stopEventPropagationOutsideModal.bind( this );\n\t}\n\n\t/**\n\t * Appends the modal's node to the DOM, so the portal can render the\n\t * modal in it. Also calls the openFirstModal when this is the first modal to be\n\t * opened.\n\t */\n\tcomponentDidMount() {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tthis.openFirstModal();\n\t\t}\n\t}\n\n\t/**\n\t * Removes the modal's node from the DOM. Also calls closeLastModal when this is\n\t * the last modal to be closed.\n\t */\n\tcomponentWillUnmount() {\n\t\topenModalCount--;\n\n\t\tif ( openModalCount === 0 ) {\n\t\t\tthis.closeLastModal();\n\t\t}\n\n\t\tthis.cleanDOM();\n\t}\n\n\t/**\n\t * Prepares the DOM for the modals to be rendered.\n\t *\n\t * Every modal is mounted in a separate div appended to a parent div\n\t * that is appended to the document body.\n\t *\n\t * The parent div will be created if it does not yet exist, and the\n\t * separate div for this specific modal will be appended to that.\n\t */\n\tprepareDOM() {\n\t\tif ( ! parentElement ) {\n\t\t\tparentElement = document.createElement( 'div' );\n\t\t\tdocument.body.appendChild( parentElement );\n\t\t}\n\t\tthis.node = document.createElement( 'div' );\n\t\tparentElement.appendChild( this.node );\n\t}\n\n\t/**\n\t * Removes the specific mounting point for this modal from the DOM.\n\t */\n\tcleanDOM() {\n\t\tparentElement.removeChild( this.node );\n\t}\n\n\t/**\n\t * Prepares the DOM for this modal and any additional modal to be mounted.\n\t *\n\t * It appends an additional div to the body for the modals to be rendered in,\n\t * it hides any other elements from screen-readers and adds an additional class\n\t * to the body to prevent scrolling while the modal is open.\n\t */\n\topenFirstModal() {\n\t\tariaHelper.hideApp( parentElement );\n\t\tdocument.body.classList.add( this.props.bodyOpenClassName );\n\t}\n\n\t/**\n\t * Cleans up the DOM after the last modal is closed and makes the app available\n\t * for screen-readers again.\n\t */\n\tcloseLastModal() {\n\t\tdocument.body.classList.remove( this.props.bodyOpenClassName );\n\t\tariaHelper.showApp();\n\t}\n\n\t/**\n\t * Stop all onMouseDown events propagating further - they should only go to the modal\n \t * @param {string} event Event object\n\t */\n\tstopEventPropagationOutsideModal( event ) {\n\t\tevent.stopPropagation();\n\t}\n\n\t/**\n\t * Renders the modal.\n\t *\n\t * @return {WPElement} The modal element.\n\t */\n\trender() {\n\t\tconst {\n\t\t\toverlayClassName,\n\t\t\tclassName,\n\t\t\tonRequestClose,\n\t\t\ttitle,\n\t\t\ticon,\n\t\t\tcloseButtonLabel,\n\t\t\tchildren,\n\t\t\taria,\n\t\t\tinstanceId,\n\t\t\tisDismissable,\n\t\t\t...otherProps\n\t\t} = this.props;\n\n\t\tconst headingId = aria.labelledby || `components-modal-header-${ instanceId }`;\n\n\t\t// Disable reason: this stops mouse events from triggering tooltips and\n\t\t// other elements underneath the modal overlay.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn createPortal(\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'components-modal__screen-overlay', overlayClassName ) }\n\t\t\t\tonMouseDown={ this.stopEventPropagationOutsideModal }\n\t\t\t>\n\t\t\t\t<ModalFrame\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onRequestClose }\n\t\t\t\t\taria={ {\n\t\t\t\t\t\tlabelledby: title ? headingId : null,\n\t\t\t\t\t\tdescribedby: aria.describedby,\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t>\n\t\t\t\t\t<div className={ 'components-modal__content' } tabIndex=\"0\">\n\t\t\t\t\t\t<ModalHeader\n\t\t\t\t\t\t\tcloseLabel={ closeButtonLabel }\n\t\t\t\t\t\t\theadingId={ headingId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisDismissable={ isDismissable }\n\t\t\t\t\t\t\tonClose={ onRequestClose }\n\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</ModalFrame>\n\t\t\t</div>,\n\t\t\tthis.node\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nModal.defaultProps = {\n\tbodyOpenClassName: 'modal-open',\n\trole: 'dialog',\n\ttitle: null,\n\tonRequestClose: noop,\n\tfocusOnMount: true,\n\tshouldCloseOnEsc: true,\n\tshouldCloseOnClickOutside: true,\n\tisDismissable: true,\n\t/* accessibility */\n\taria: {\n\t\tlabelledby: null,\n\t\tdescribedby: null,\n\t},\n};\n\nexport default withInstanceId( Modal );\n","/**\n * External Dependencies\n */\nimport { omit, noop, includes } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { UP, DOWN, LEFT, RIGHT, TAB } from '@wordpress/keycodes';\n\nfunction cycleValue( value, total, offset ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\tgetFocusableContext( target ) {\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables, target ) {\n\t\tconst directIndex = focusables.indexOf( target );\n\t\tif ( directIndex !== -1 ) {\n\t\t\treturn directIndex;\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst { cycle = true, eventToOffset, onNavigate = noop, stopNavigationEvents } = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering\n\t\t\tevent.nativeEvent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling.\n\t\t\tif ( event.target.getAttribute( 'role' ) === 'menuitem' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext( document.activeElement );\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle ? cycleValue( index, focusables.length, offset ) : index + offset;\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { children, ...props } = this.props;\n\n\t\t// Disable reason: Assumed role is applied by parent via props spread.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div ref={ this.bindContainer }\n\t\t\t\t{ ...omit( props, [\n\t\t\t\t\t'stopNavigationEvents',\n\t\t\t\t\t'eventToOffset',\n\t\t\t\t\t'onNavigate',\n\t\t\t\t\t'cycle',\n\t\t\t\t\t'onlyBrowserTabstops',\n\t\t\t\t] ) }\n\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\tonFocus={ this.onFocus }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport class NavigableMenu extends Component {\n\trender() {\n\t\tconst { role = 'menu', orientation = 'vertical', ...rest } = this.props;\n\n\t\tconst eventToOffset = ( evt ) => {\n\t\t\tconst { keyCode } = evt;\n\n\t\t\tlet next = [ DOWN ];\n\t\t\tlet previous = [ UP ];\n\n\t\t\tif ( orientation === 'horizontal' ) {\n\t\t\t\tnext = [ RIGHT ];\n\t\t\t\tprevious = [ LEFT ];\n\t\t\t}\n\n\t\t\tif ( orientation === 'both' ) {\n\t\t\t\tnext = [ RIGHT, DOWN ];\n\t\t\t\tprevious = [ LEFT, UP ];\n\t\t\t}\n\n\t\t\tif ( includes( next, keyCode ) ) {\n\t\t\t\treturn 1;\n\t\t\t} else if ( includes( previous, keyCode ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<NavigableContainer\n\t\t\t\tstopNavigationEvents\n\t\t\t\tonlyBrowserTabstops={ false }\n\t\t\t\trole={ role }\n\t\t\t\taria-orientation={ orientation }\n\t\t\t\teventToOffset={ eventToOffset }\n\t\t\t\t{ ...rest }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport class TabbableContainer extends Component {\n\trender() {\n\t\tconst eventToOffset = ( evt ) => {\n\t\t\tconst { keyCode, shiftKey } = evt;\n\t\t\tif ( TAB === keyCode ) {\n\t\t\t\treturn shiftKey ? -1 : 1;\n\t\t\t}\n\n\t\t\t// Allow custom handling of keys besides Tab.\n\t\t\t//\n\t\t\t// By default, TabbableContainer will move focus forward on Tab and\n\t\t\t// backward on Shift+Tab. The handler below will be used for all other\n\t\t\t// events. The semantics for `this.props.eventToOffset`'s return\n\t\t\t// values are the following:\n\t\t\t//\n\t\t\t// - +1: move focus forward\n\t\t\t// - -1: move focus backward\n\t\t\t// - 0: don't move focus, but acknowledge event and thus stop it\n\t\t\t// - undefined: do nothing, let the event propagate\n\t\t\tif ( this.props.eventToOffset ) {\n\t\t\t\treturn this.props.eventToOffset( evt );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<NavigableContainer\n\t\t\t\tstopNavigationEvents\n\t\t\t\tonlyBrowserTabstops\n\t\t\t\teventToOffset={ eventToOffset }\n\t\t\t\t{ ...this.props }\n\t\t\t/>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport { isString, noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nfunction Notice( { className, status, children, onRemove = noop, isDismissible = true } ) {\n\tconst classNames = classnames( className, 'components-notice', {\n\t\t[ `is-${ status }` ]: ! ! status,\n\t}, {\n\t\t'is-dismissible': isDismissible,\n\t} );\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ isString( children ) ? <div className=\"components-notice__content\">{ children }</div> : children }\n\t\t\t{ isDismissible && (\n\t\t\t\t<IconButton\n\t\t\t\t\tclassName=\"components-notice__dismiss\"\n\t\t\t\t\ticon=\"no\"\n\t\t\t\t\tlabel={ __( 'Dismiss this notice' ) }\n\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\ttooltip={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default Notice;\n","/**\n * External dependencies\n */\nimport { noop, omit } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport Notice from './';\n\n/**\n* Renders a list of notices.\n*\n* @param {Object} $0 Props passed to the component.\n* @param {Array} $0.notices Array of notices to render.\n* @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.\n* @param {Object} $0.className Name of the class used by the component.\n* @param {Object} $0.children Array of children to be rendered inside the notice list.\n* @return {Object} The rendered notices list.\n*/\nfunction NoticeList( { notices, onRemove = noop, className = 'components-notice-list', children } ) {\n\tconst removeNotice = ( id ) => () => onRemove( id );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t{ children }\n\t\t\t{ [ ...notices ].reverse().map( ( notice ) => (\n\t\t\t\t<Notice { ...omit( notice, 'content' ) } key={ notice.id } onRemove={ removeNotice( notice.id ) }>\n\t\t\t\t\t{ notice.content }\n\t\t\t\t</Notice>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nexport default NoticeList;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dashicon from '../dashicon';\nimport { G, Path, SVG } from '../primitives';\n\nclass PanelBody extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\topened: props.initialOpen === undefined ? true : props.initialOpen,\n\t\t};\n\t\tthis.toggle = this.toggle.bind( this );\n\t}\n\n\ttoggle( event ) {\n\t\tevent.preventDefault();\n\t\tif ( this.props.opened === undefined ) {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\topened: ! state.opened,\n\t\t\t} ) );\n\t\t}\n\n\t\tif ( this.props.onToggle ) {\n\t\t\tthis.props.onToggle();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { title, children, opened, className, icon } = this.props;\n\t\tconst isOpened = opened === undefined ? this.state.opened : opened;\n\t\tconst classes = classnames( 'components-panel__body', className, { 'is-opened': isOpened } );\n\n\t\treturn (\n\t\t\t<div className={ classes }>\n\t\t\t\t{ !! title && (\n\t\t\t\t\t<h2 className=\"components-panel__body-title\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-panel__body-toggle\"\n\t\t\t\t\t\t\tonClick={ this.toggle }\n\t\t\t\t\t\t\taria-expanded={ isOpened }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isOpened ?\n\t\t\t\t\t\t\t\t<SVG className=\"components-panel__arrow\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t\t\t<G><Path fill=\"none\" d=\"M0,0h24v24H0V0z\" /></G>\n\t\t\t\t\t\t\t\t\t<G><Path d=\"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z\" /></G>\n\t\t\t\t\t\t\t\t</SVG> :\n\t\t\t\t\t\t\t\t<SVG className=\"components-panel__arrow\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t\t\t<G><Path fill=\"none\" d=\"M0,0h24v24H0V0z\" /></G>\n\t\t\t\t\t\t\t\t\t<G><Path d=\"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z\" /></G>\n\t\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ icon && <Dashicon icon={ icon } className=\"components-panel__icon\" /> }\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</h2>\n\t\t\t\t) }\n\t\t\t\t{ isOpened && children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default PanelBody;\n","/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PanelBody from './body';\nimport ColorIndicator from '../color-indicator';\n\nfunction PanelColor( { colorValue, colorName, title, ...props } ) {\n\t// translators: %s: The name of the color e.g: \"vivid red\" or color hex code if name is not available e.g: \"#f00\".\n\tconst currentColorLabel = sprintf( __( '(current color: %s)' ), colorName || colorValue );\n\treturn (\n\t\t<PanelBody\n\t\t\t{ ...props }\n\t\t\ttitle={ [\n\t\t\t\t<span className=\"components-panel__color-title\" key=\"title\">{ title }</span>,\n\t\t\t\tcolorValue && (\n\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\tkey=\"color\"\n\t\t\t\t\t\tclassName=\"components-panel__color-indicator\"\n\t\t\t\t\t\taria-label={ currentColorLabel }\n\t\t\t\t\t\tcolorValue={ colorValue }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t/>\n\t);\n}\n\nexport default PanelColor;\n","function PanelHeader( { label, children } ) {\n\treturn (\n\t\t<div className=\"components-panel__header\">\n\t\t\t{ label && <h2>{ label }</h2> }\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PanelHeader;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport PanelHeader from './header';\n\nfunction Panel( { header, className, children } ) {\n\tconst classNames = classnames( className, 'components-panel' );\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ header && <PanelHeader label={ header } /> }\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default Panel;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction PanelRow( { className, children } ) {\n\tconst classes = classnames( 'components-panel__row', className );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PanelRow;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\n/**\n* Renders a placeholder. Normally used by blocks to render their empty state.\n*\n* @param {Object} props The component props.\n* @return {Object} The rendered placeholder.\n*/\nfunction Placeholder( { icon, children, label, instructions, className, notices, ...additionalProps } ) {\n\tconst classes = classnames( 'components-placeholder', className );\n\n\treturn (\n\t\t<div { ...additionalProps } className={ classes }>\n\t\t\t{ notices }\n\t\t\t<div className=\"components-placeholder__label\">\n\t\t\t\t{ isString( icon ) ? <Dashicon icon={ icon } /> : icon }\n\t\t\t\t{ label }\n\t\t\t</div>\n\t\t\t{ !! instructions && <div className=\"components-placeholder__instructions\">{ instructions }</div> }\n\t\t\t<div className=\"components-placeholder__fieldset\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default Placeholder;\n","/**\n * External dependencies\n */\nimport clickOutside from 'react-click-outside';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass PopoverDetectOutside extends Component {\n\thandleClickOutside( event ) {\n\t\tconst { onClickOutside } = this.props;\n\t\tif ( onClickOutside ) {\n\t\t\tonClickOutside( event );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nexport default clickOutside( PopoverDetectOutside );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition } from './utils';\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\nimport PopoverDetectOutside from './detect-outside';\nimport IconButton from '../icon-button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill } from '../slot-fill';\n\nconst FocusManaged = withConstrainedTabbing( withFocusReturn( ( { children } ) => children ) );\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {String}\n */\nconst SLOT_NAME = 'Popover';\n\nclass Popover extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.focus = this.focus.bind( this );\n\t\tthis.refresh = this.refresh.bind( this );\n\t\tthis.getAnchorRect = this.getAnchorRect.bind( this );\n\t\tthis.updatePopoverSize = this.updatePopoverSize.bind( this );\n\t\tthis.computePopoverPosition = this.computePopoverPosition.bind( this );\n\t\tthis.throttledComputePopoverPosition = this.throttledComputePopoverPosition.bind( this );\n\t\tthis.maybeClose = this.maybeClose.bind( this );\n\n\t\tthis.contentNode = createRef();\n\t\tthis.anchorNode = createRef();\n\n\t\tthis.state = {\n\t\t\tpopoverLeft: null,\n\t\t\tpopoverTop: null,\n\t\t\tyAxis: 'top',\n\t\t\txAxis: 'center',\n\t\t\tcontentHeight: null,\n\t\t\tcontentWidth: null,\n\t\t\tisMobile: false,\n\t\t\tpopoverSize: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.toggleWindowEvents( true );\n\t\tthis.refresh();\n\n\t\t/*\n\t\t * Without the setTimeout, the dom node is not being focused. Related:\n\t\t * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example\n\t\t *\n\t\t * TODO: Treat the cause, not the symptom.\n\t\t */\n\t\tthis.focusTimeout = setTimeout( () => {\n\t\t\tthis.focus();\n\t\t}, 0 );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.position !== this.props.position ) {\n\t\t\tthis.computePopoverPosition();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleWindowEvents( false );\n\n\t\tclearTimeout( this.focusTimeout );\n\t}\n\n\ttoggleWindowEvents( isListening ) {\n\t\tconst handler = isListening ? 'addEventListener' : 'removeEventListener';\n\n\t\twindow.cancelAnimationFrame( this.rafHandle );\n\t\twindow[ handler ]( 'resize', this.throttledComputePopoverPosition );\n\t\twindow[ handler ]( 'scroll', this.throttledComputePopoverPosition, true );\n\t}\n\n\tthrottledComputePopoverPosition( event ) {\n\t\tif ( event.type === 'scroll' && this.contentNode.current.contains( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.rafHandle = window.requestAnimationFrame( () => this.computePopoverPosition() );\n\t}\n\n\t/**\n\t * Calling `refresh()` will force the Popover to recalculate its size and\n\t * position. This is useful when a DOM change causes the anchor node to change\n\t * position.\n\t *\n\t * @return {void}\n\t */\n\trefresh() {\n\t\tconst popoverSize = this.updatePopoverSize();\n\t\tthis.computePopoverPosition( popoverSize );\n\t}\n\n\tfocus() {\n\t\tconst { focusOnMount } = this.props;\n\n\t\tif ( ! focusOnMount || ! this.contentNode.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( focusOnMount === 'firstElement' ) {\n\t\t\t// Find first tabbable node within content and shift focus, falling\n\t\t\t// back to the popover panel itself.\n\t\t\tconst firstTabbable = focus.tabbable.find( this.contentNode.current )[ 0 ];\n\n\t\t\tif ( firstTabbable ) {\n\t\t\t\tfirstTabbable.focus();\n\t\t\t} else {\n\t\t\t\tthis.contentNode.current.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( focusOnMount === 'container' ) {\n\t\t\t// Focus the popover panel itself so items in the popover are easily\n\t\t\t// accessed via keyboard navigation.\n\t\t\tthis.contentNode.current.focus();\n\t\t}\n\t}\n\n\tgetAnchorRect( anchor ) {\n\t\tif ( ! anchor || ! anchor.parentNode ) {\n\t\t\treturn;\n\t\t}\n\t\tconst rect = anchor.parentNode.getBoundingClientRect();\n\t\t// subtract padding\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle( anchor.parentNode );\n\t\tconst topPad = parseInt( paddingTop, 10 );\n\t\tconst bottomPad = parseInt( paddingBottom, 10 );\n\t\treturn {\n\t\t\tx: rect.left,\n\t\t\ty: rect.top + topPad,\n\t\t\twidth: rect.width,\n\t\t\theight: rect.height - topPad - bottomPad,\n\t\t\tleft: rect.left,\n\t\t\tright: rect.right,\n\t\t\ttop: rect.top + topPad,\n\t\t\tbottom: rect.bottom - bottomPad,\n\t\t};\n\t}\n\n\tupdatePopoverSize() {\n\t\tconst rect = this.contentNode.current.getBoundingClientRect();\n\t\tif (\n\t\t\t! this.state.popoverSize ||\n\t\t\trect.width !== this.state.popoverSize.width ||\n\t\t\trect.height !== this.state.popoverSize.height\n\t\t) {\n\t\t\tconst popoverSize = {\n\t\t\t\theight: rect.height,\n\t\t\t\twidth: rect.width,\n\t\t\t};\n\t\t\tthis.setState( { popoverSize } );\n\t\t\treturn popoverSize;\n\t\t}\n\t\treturn this.state.popoverSize;\n\t}\n\n\tcomputePopoverPosition( popoverSize ) {\n\t\tconst { getAnchorRect = this.getAnchorRect, position = 'top', expandOnMobile } = this.props;\n\t\tconst newPopoverPosition = computePopoverPosition(\n\t\t\tgetAnchorRect( this.anchorNode.current ),\n\t\t\tpopoverSize || this.state.popoverSize,\n\t\t\tposition,\n\t\t\texpandOnMobile\n\t\t);\n\n\t\tif (\n\t\t\tthis.state.yAxis !== newPopoverPosition.yAxis ||\n\t\t\tthis.state.xAxis !== newPopoverPosition.xAxis ||\n\t\t\tthis.state.popoverLeft !== newPopoverPosition.popoverLeft ||\n\t\t\tthis.state.popoverTop !== newPopoverPosition.popoverTop ||\n\t\t\tthis.state.contentHeight !== newPopoverPosition.contentHeight ||\n\t\t\tthis.state.contentWidth !== newPopoverPosition.contentWidth ||\n\t\t\tthis.state.isMobile !== newPopoverPosition.isMobile\n\t\t) {\n\t\t\tthis.setState( newPopoverPosition );\n\t\t}\n\t}\n\n\tmaybeClose( event ) {\n\t\tconst { onKeyDown, onClose } = this.props;\n\n\t\t// Close on escape\n\t\tif ( event.keyCode === ESCAPE && onClose ) {\n\t\t\tevent.stopPropagation();\n\t\t\tonClose();\n\t\t}\n\n\t\t// Preserve original content prop behavior\n\t\tif ( onKeyDown ) {\n\t\t\tonKeyDown( event );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\theaderTitle,\n\t\t\tonClose,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tonClickOutside = onClose,\n\t\t\tnoArrow,\n\t\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t\t// of props which aren't explicitly handled by this component.\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\tposition,\n\t\t\trange,\n\t\t\tfocusOnMount,\n\t\t\tgetAnchorRect,\n\t\t\texpandOnMobile,\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t...contentProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\tpopoverLeft,\n\t\t\tpopoverTop,\n\t\t\tyAxis,\n\t\t\txAxis,\n\t\t\tcontentHeight,\n\t\t\tcontentWidth,\n\t\t\tpopoverSize,\n\t\t\tisMobile,\n\t\t} = this.state;\n\n\t\tconst classes = classnames(\n\t\t\t'components-popover',\n\t\t\tclassName,\n\t\t\t'is-' + yAxis,\n\t\t\t'is-' + xAxis,\n\t\t\t{\n\t\t\t\t'is-mobile': isMobile,\n\t\t\t\t'is-without-arrow': noArrow || ( xAxis === 'center' && yAxis === 'middle' ),\n\t\t\t}\n\t\t);\n\n\t\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t\t// within popover as inferring close intent.\n\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\tlet content = (\n\t\t\t<PopoverDetectOutside onClickOutside={ onClickOutside }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\ttop: ! isMobile && popoverTop ? popoverTop + 'px' : undefined,\n\t\t\t\t\t\tleft: ! isMobile && popoverLeft ? popoverLeft + 'px' : undefined,\n\t\t\t\t\t\tvisibility: popoverSize ? undefined : 'hidden',\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...contentProps }\n\t\t\t\t\tonKeyDown={ this.maybeClose }\n\t\t\t\t>\n\t\t\t\t\t{ isMobile && (\n\t\t\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<IconButton className=\"components-popover__close\" icon=\"no-alt\" onClick={ onClose } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={ this.contentNode }\n\t\t\t\t\t\tclassName=\"components-popover__content\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmaxHeight: ! isMobile && contentHeight ? contentHeight + 'px' : undefined,\n\t\t\t\t\t\t\tmaxWidth: ! isMobile && contentWidth ? contentWidth + 'px' : undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverDetectOutside>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\n\t\t// Apply focus to element as long as focusOnMount is truthy; false is\n\t\t// the only \"disabled\" value.\n\t\tif ( focusOnMount ) {\n\t\t\tcontent = <FocusManaged>{ content }</FocusManaged>;\n\t\t}\n\n\t\t// In case there is no slot context in which to render, default to an\n\t\t// in-place rendering.\n\t\tconst { getSlot } = this.context;\n\t\tif ( getSlot && getSlot( SLOT_NAME ) ) {\n\t\t\tcontent = <Fill name={ SLOT_NAME }>{ content }</Fill>;\n\t\t}\n\n\t\treturn <span ref={ this.anchorNode }>\n\t\t\t{ content }\n\t\t\t{ isMobile && expandOnMobile && <ScrollLock /> }\n\t\t</span>;\n\t}\n}\n\nPopover.defaultProps = {\n\tfocusOnMount: 'firstElement',\n\tnoArrow: false,\n};\n\nconst PopoverContainer = Popover;\n\nPopoverContainer.contextTypes = {\n\tgetSlot: noop,\n};\n\nPopoverContainer.Slot = () => <Slot bubblesVirtually name={ SLOT_NAME } />;\n\nexport default PopoverContainer;\n","\n/**\n * Module constants\n */\nconst HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space\nconst isMobileViewport = () => window.innerWidth < 782;\n\n/**\n * Utility used to compute the popover position over the xAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} xAxis Desired xAxis.\n * @param {string} chosenYAxis yAxis to be used.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\nexport function computePopoverXAxisPosition( anchorRect, contentSize, xAxis, chosenYAxis ) {\n\tconst { width } = contentSize;\n\n\t// x axis alignment choices\n\tconst anchorMidPoint = Math.round( anchorRect.left + ( anchorRect.width / 2 ) );\n\tconst centerAlignment = {\n\t\tpopoverLeft: anchorMidPoint,\n\t\tcontentWidth: (\n\t\t\t( anchorMidPoint - ( width / 2 ) > 0 ? ( width / 2 ) : anchorMidPoint ) +\n\t\t\t( anchorMidPoint + ( width / 2 ) > window.innerWidth ? window.innerWidth - anchorMidPoint : ( width / 2 ) )\n\t\t),\n\t};\n\tconst leftAlignmentX = chosenYAxis === 'middle' ? anchorRect.left : anchorMidPoint;\n\tconst leftAlignment = {\n\t\tpopoverLeft: leftAlignmentX,\n\t\tcontentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX,\n\t};\n\tconst rightAlignmentX = chosenYAxis === 'middle' ? anchorRect.right : anchorMidPoint;\n\tconst rightAlignment = {\n\t\tpopoverLeft: rightAlignmentX,\n\t\tcontentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width,\n\t};\n\n\t// Choosing the x axis\n\tlet chosenXAxis;\n\tlet contentWidth = null;\n\tif ( xAxis === 'center' && centerAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'center';\n\t} else if ( xAxis === 'left' && leftAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'left';\n\t} else if ( xAxis === 'right' && rightAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'right';\n\t} else {\n\t\tchosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';\n\t\tconst chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;\n\t\tcontentWidth = chosenWidth !== width ? chosenWidth : null;\n\t}\n\n\tlet popoverLeft;\n\tif ( chosenXAxis === 'center' ) {\n\t\tpopoverLeft = centerAlignment.popoverLeft;\n\t} else if ( chosenXAxis === 'left' ) {\n\t\tpopoverLeft = leftAlignment.popoverLeft;\n\t} else {\n\t\tpopoverLeft = rightAlignment.popoverLeft;\n\t}\n\n\treturn {\n\t\txAxis: chosenXAxis,\n\t\tpopoverLeft,\n\t\tcontentWidth,\n\t};\n}\n\n/**\n * Utility used to compute the popover position over the yAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} yAxis Desired yAxis.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\nexport function computePopoverYAxisPosition( anchorRect, contentSize, yAxis ) {\n\tconst { height } = contentSize;\n\n\t// y axis alignment choices\n\tconst anchorMidPoint = anchorRect.top + ( anchorRect.height / 2 );\n\tconst middleAlignment = {\n\t\tpopoverTop: anchorMidPoint,\n\t\tcontentHeight: (\n\t\t\t( anchorMidPoint - ( height / 2 ) > 0 ? ( height / 2 ) : anchorMidPoint ) +\n\t\t\t( anchorMidPoint + ( height / 2 ) > window.innerHeight ? window.innerHeight - anchorMidPoint : ( height / 2 ) )\n\t\t),\n\t};\n\tconst topAlignment = {\n\t\tpopoverTop: anchorRect.top,\n\t\tcontentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET,\n\t};\n\tconst bottomAlignment = {\n\t\tpopoverTop: anchorRect.bottom,\n\t\tcontentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height,\n\t};\n\n\t// Choosing the y axis\n\tlet chosenYAxis;\n\tlet contentHeight = null;\n\tif ( yAxis === 'middle' && middleAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'middle';\n\t} else if ( yAxis === 'top' && topAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'top';\n\t} else if ( yAxis === 'bottom' && bottomAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'bottom';\n\t} else {\n\t\tchosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';\n\t\tconst chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;\n\t\tcontentHeight = chosenHeight !== height ? chosenHeight : null;\n\t}\n\n\tlet popoverTop;\n\tif ( chosenYAxis === 'middle' ) {\n\t\tpopoverTop = middleAlignment.popoverTop;\n\t} else if ( chosenYAxis === 'top' ) {\n\t\tpopoverTop = topAlignment.popoverTop;\n\t} else {\n\t\tpopoverTop = bottomAlignment.popoverTop;\n\t}\n\n\treturn {\n\t\tyAxis: chosenYAxis,\n\t\tpopoverTop,\n\t\tcontentHeight,\n\t};\n}\n\n/**\n * Utility used to compute the popover position and the content max width/height for a popover\n * given its anchor rect and its content size.\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} position Position.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover position and constraints.\n */\nexport function computePopoverPosition( anchorRect, contentSize, position = 'top', expandOnMobile = false ) {\n\tconst [ yAxis, xAxis = 'center' ] = position.split( ' ' );\n\n\tconst yAxisPosition = computePopoverYAxisPosition( anchorRect, contentSize, yAxis );\n\tconst xAxisPosition = computePopoverXAxisPosition( anchorRect, contentSize, xAxis, yAxisPosition.yAxis );\n\n\treturn {\n\t\tisMobile: isMobileViewport() && expandOnMobile,\n\t\t...xAxisPosition,\n\t\t...yAxisPosition,\n\t};\n}\n","export * from './svg';\n","/**\n * External dependencies\n */\nimport { createElement } from '@wordpress/element';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport const G = ( props ) => createElement( 'g', props );\nexport const Path = ( props ) => createElement( 'path', props );\nexport const Polygon = ( props ) => createElement( 'polygon', props );\n\nexport const SVG = ( props ) => {\n\tconst appliedProps = {\n\t\t...props,\n\t\trole: 'img',\n\t\t'aria-hidden': 'true',\n\t\tfocusable: 'false',\n\t};\n\n\treturn <svg { ...appliedProps } />;\n};\n\n// deprecations\nexport const AccessibleSVG = ( props ) => {\n\tdeprecated( 'wp.components.AccessibleSVG', {\n\t\tversion: '4.2',\n\t\talternative: 'wp.components.SVG',\n\t\tplugin: 'Gutenberg',\n\t} );\n\treturn <SVG { ...props } />;\n};\n","/**\n * Internal dependencies\n */\nimport { buildTermsTree } from './terms';\nimport TreeSelect from '../tree-select';\n\nexport default function CategorySelect( { label, noOptionLabel, categoriesList, selectedCategoryId, onChange } ) {\n\tconst termsTree = buildTermsTree( categoriesList );\n\treturn (\n\t\t<TreeSelect\n\t\t\t{ ...{ label, noOptionLabel, onChange } }\n\t\t\ttree={ termsTree }\n\t\t\tselectedId={ selectedCategoryId }\n\t\t/>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { RangeControl, SelectControl } from '../';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nexport default function QueryControls( {\n\tcategoriesList,\n\tselectedCategoryId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonCategoryChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n} ) {\n\treturn [\n\t\t( onOrderChange && onOrderByChange ) && (\n\t\t\t<SelectControl\n\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Newest to Oldest' ),\n\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Oldest to Newest' ),\n\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: label for ordering posts by title in ascending order */\n\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: label for ordering posts by title in descending order */\n\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t\t}\n\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t),\n\t\tonCategoryChange && (\n\t\t\t<CategorySelect\n\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\tnoOptionLabel={ __( 'All' ) }\n\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\tonChange={ onCategoryChange }\n\t\t\t/> ),\n\t\tonNumberOfItemsChange && (\n\t\t\t<RangeControl\n\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\tvalue={ numberOfItems }\n\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\tmin={ minItems }\n\t\t\t\tmax={ maxItems }\n\t\t\t/>\n\t\t),\n\t];\n}\n","/**\n * External dependencies\n */\nimport { groupBy } from 'lodash';\n\n/**\n * Returns terms in a tree form.\n *\n * @param {Array} flatTerms Array of terms in flat format.\n *\n * @return {Array} Array of terms in tree format.\n */\nexport function buildTermsTree( flatTerms ) {\n\tconst termsByParent = groupBy( flatTerms, 'parent' );\n\tconst fillWithChildren = ( terms ) => {\n\t\treturn terms.map( ( term ) => {\n\t\t\tconst children = termsByParent[ term.id ];\n\t\t\treturn {\n\t\t\t\t...term,\n\t\t\t\tchildren: children && children.length ?\n\t\t\t\t\tfillWithChildren( children ) :\n\t\t\t\t\t[],\n\t\t\t};\n\t\t} );\n\t};\n\n\treturn fillWithChildren( termsByParent[ '0' ] || [] );\n}\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction RadioControl( { label, className, selected, help, instanceId, onChange, options = [] } ) {\n\tconst id = `inspector-radio-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn ! isEmpty( options ) && (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ classnames( className, 'components-radio-control' ) }>\n\t\t\t{ options.map( ( option, index ) =>\n\t\t\t\t<div\n\t\t\t\t\tkey={ `${ id }-${ index }` }\n\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={ `${ id }-${ index }` }\n\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor={ `${ id }-${ index }` }>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( RadioControl );\n","/**\n * External dependencies\n */\nimport { isFinite } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { BaseControl, Button, Dashicon } from '../';\n\nfunction RangeControl( {\n\tclassName,\n\tlabel,\n\tvalue,\n\tinstanceId,\n\tonChange,\n\tbeforeIcon,\n\tafterIcon,\n\thelp,\n\tallowReset,\n\tinitialPosition,\n\t...props\n} ) {\n\tconst id = `inspector-range-control-${ instanceId }`;\n\tconst resetValue = () => onChange();\n\tconst onChangeValue = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tif ( newValue === '' ) {\n\t\t\tresetValue();\n\t\t\treturn;\n\t\t}\n\t\tonChange( Number( newValue ) );\n\t};\n\tconst initialSliderValue = isFinite( value ) ? value : initialPosition || '';\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( 'components-range-control', className ) }\n\t\t>\n\t\t\t{ beforeIcon && <Dashicon icon={ beforeIcon } /> }\n\t\t\t<input\n\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"range\"\n\t\t\t\tvalue={ initialSliderValue }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props } />\n\t\t\t{ afterIcon && <Dashicon icon={ afterIcon } /> }\n\t\t\t<input\n\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-label={ label }\n\t\t\t\tvalue={ value }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t{ allowReset &&\n\t\t\t\t<Button onClick={ resetValue } disabled={ value === undefined }>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( RangeControl );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport ReResizableBox from 're-resizable';\n\nfunction ResizableBox( { className, ...props } ) {\n\t// Removes the inline styles in the drag handles.\n\tconst handleStylesOverrides = {\n\t\twidth: null,\n\t\theight: null,\n\t\ttop: null,\n\t\tright: null,\n\t\tbottom: null,\n\t\tleft: null,\n\t};\n\n\tconst handleClassName = 'components-resizable-box__handle';\n\n\treturn (\n\t\t<ReResizableBox\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tclassName,\n\t\t\t) }\n\t\t\thandleClasses={ {\n\t\t\t\ttop: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-top',\n\t\t\t\t),\n\t\t\t\tright: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-right',\n\t\t\t\t),\n\t\t\t\tbottom: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-bottom',\n\t\t\t\t),\n\t\t\t\tleft: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-left',\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleStyles={ {\n\t\t\t\ttop: handleStylesOverrides,\n\t\t\t\tright: handleStylesOverrides,\n\t\t\t\tbottom: handleStylesOverrides,\n\t\t\t\tleft: handleStylesOverrides,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default ResizableBox;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress Dependencies\n */\nimport { cloneElement, Children } from '@wordpress/element';\n\nfunction ResponsiveWrapper( { naturalWidth, naturalHeight, children } ) {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn null;\n\t}\n\tconst imageStyle = {\n\t\tpaddingBottom: ( naturalHeight / naturalWidth * 100 ) + '%',\n\t};\n\treturn (\n\t\t<div className=\"components-responsive-wrapper\">\n\t\t\t<div style={ imageStyle } />\n\t\t\t{ cloneElement( children, {\n\t\t\t\tclassName: classnames( 'components-responsive-wrapper__content', children.props.className ),\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n\nexport default ResponsiveWrapper;\n","/**\n * WordPress dependencies\n */\nimport { Component, renderToString, createRef } from '@wordpress/element';\nimport { withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FocusableIframe from '../focusable-iframe';\n\nclass Sandbox extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.trySandbox = this.trySandbox.bind( this );\n\t\tthis.checkMessageForResize = this.checkMessageForResize.bind( this );\n\n\t\tthis.iframe = createRef();\n\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.trySandbox();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.trySandbox();\n\t}\n\n\tisFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! this.iframe.current.contentDocument.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckMessageForResize( event ) {\n\t\tconst iframe = this.iframe.current;\n\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.data || {};\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {} // eslint-disable-line no-empty\n\t\t}\n\n\t\t// Verify that the mounted element is the source of the message\n\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect, i.e.\n\t\t// as an object with a 'resize' action, width, and height\n\t\tconst { action, width, height } = data;\n\t\tconst { width: oldWidth, height: oldHeight } = this.state;\n\n\t\tif ( 'resize' === action && ( oldWidth !== width || oldHeight !== height ) ) {\n\t\t\tthis.setState( { width, height } );\n\t\t}\n\t}\n\n\ttrySandbox() {\n\t\tif ( ! this.isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst body = this.iframe.current.contentDocument.body;\n\t\tif ( null !== body.getAttribute( 'data-resizable-iframe-connected' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observeAndResizeJS = `\n\t\t\t( function() {\n\t\t\t\tvar observer;\n\n\t\t\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction sendResize() {\n\t\t\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t\t\twindow.parent.postMessage( {\n\t\t\t\t\t\taction: 'resize',\n\t\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t\t}, '*' );\n\t\t\t\t}\n\n\t\t\t\tobserver = new MutationObserver( sendResize );\n\t\t\t\tobserver.observe( document.body, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeOldValue: false,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t\tcharacterDataOldValue: false,\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t} );\n\n\t\t\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t\t\t// the iframe root and interfere with our mechanism for\n\t\t\t\t// determining the unconstrained page bounds.\n\t\t\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\t\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t\t\t} );\n\n\t\t\t\tdocument.body.style.position = 'absolute';\n\t\t\t\tdocument.body.style.width = '100%';\n\t\t\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\t\t\tsendResize();\n\n\t\t\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\t\t\twindow.addEventListener( 'resize', sendResize, true );\n\t\t} )();`;\n\n\t\tconst style = `\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\thtml,\n\t\t\tbody,\n\t\t\tbody > div,\n\t\t\tbody > div > iframe {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\thtml.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio > div,\n\t\t\tbody.wp-has-aspect-ratio > div > iframe {\n\t\t\t\theight: 100%;\n\t\t\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t\t\t}\n\t\t\tbody > div > * {\n\t\t\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t}\n\t\t`;\n\n\t\t// put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ document.documentElement.lang } className={ this.props.type }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ this.props.title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t</head>\n\t\t\t\t<body data-resizable-iframe-connected=\"data-resizable-iframe-connected\" className={ this.props.type }>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: this.props.html } } />\n\t\t\t\t\t<script type=\"text/javascript\" dangerouslySetInnerHTML={ { __html: observeAndResizeJS } } />\n\t\t\t\t\t{ ( this.props.scripts && this.props.scripts.map(\n\t\t\t\t\t\t( src ) => <script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected\n\t\tconst iframeDocument = this.iframe.current.contentWindow.document;\n\t\tiframeDocument.open();\n\t\tiframeDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tiframeDocument.close();\n\t}\n\n\tstatic get defaultProps() {\n\t\treturn {\n\t\t\thtml: '',\n\t\t\ttitle: '',\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { title } = this.props;\n\n\t\treturn (\n\t\t\t<FocusableIframe\n\t\t\t\tiframeRef={ this.iframe }\n\t\t\t\ttitle={ title }\n\t\t\t\tclassName=\"components-sandbox\"\n\t\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\t\tonLoad={ this.trySandbox }\n\t\t\t\twidth={ Math.ceil( this.state.width ) }\n\t\t\t\theight={ Math.ceil( this.state.height ) } />\n\t\t);\n\t}\n}\n\nSandbox = withGlobalEvents( {\n\tmessage: 'checkMessageForResize',\n} )( Sandbox );\n\nexport default Sandbox;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Creates a ScrollLock component bound to the specified document.\n *\n * This function creates a ScrollLock component for the specified document\n * and is exposed so we can create an isolated component for unit testing.\n *\n * @param {Object} args Keyword args.\n * @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.\n * @param {string} args.className The name of the class used to lock scrolling.\n * @return {Component} The bound ScrollLock component.\n */\nexport function createScrollLockComponent( {\n\thtmlDocument = document,\n\tclassName = 'lockscroll',\n} = {} ) {\n\tlet lockCounter = 0;\n\n\t/*\n\t * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n\t * Save scroll top so we can restore it after locking scroll.\n\t *\n\t * NOTE: It would be cleaner and possibly safer to find a localized solution such\n\t * as preventing default on certain touchmove events.\n\t */\n\tlet previousScrollTop = 0;\n\n\t/**\n\t * Locks and unlocks scroll depending on the boolean argument.\n\t *\n\t * @param {boolean} locked Whether or not scroll should be locked.\n\t */\n\tfunction setLocked( locked ) {\n\t\tconst scrollingElement = htmlDocument.scrollingElement || htmlDocument.body;\n\n\t\tif ( locked ) {\n\t\t\tpreviousScrollTop = scrollingElement.scrollTop;\n\t\t}\n\n\t\tconst methodName = locked ? 'add' : 'remove';\n\t\tscrollingElement.classList[ methodName ]( className );\n\n\t\t// Adding the class to the document element seems to be necessary in iOS.\n\t\thtmlDocument.documentElement.classList[ methodName ]( className );\n\n\t\tif ( ! locked ) {\n\t\t\tscrollingElement.scrollTop = previousScrollTop;\n\t\t}\n\t}\n\n\t/**\n\t * Requests scroll lock.\n\t *\n\t * This function tracks requests for scroll lock. It locks scroll on the first\n\t * request and counts each request so `releaseLock` can unlock scroll when\n\t * all requests have been released.\n\t */\n\tfunction requestLock() {\n\t\tif ( lockCounter === 0 ) {\n\t\t\tsetLocked( true );\n\t\t}\n\n\t\t++lockCounter;\n\t}\n\n\t/**\n\t * Releases a request for scroll lock.\n\t *\n\t * This function tracks released requests for scroll lock. When all requests\n\t * have been released, it unlocks scroll.\n\t */\n\tfunction releaseLock() {\n\t\tif ( lockCounter === 1 ) {\n\t\t\tsetLocked( false );\n\t\t}\n\n\t\t--lockCounter;\n\t}\n\n\treturn class ScrollLock extends Component {\n\t\t/**\n\t\t * Requests scroll lock on mount.\n\t\t */\n\t\tcomponentDidMount() {\n\t\t\trequestLock();\n\t\t}\n\t\t/**\n\t\t * Releases scroll lock before unmount.\n\t\t */\n\t\tcomponentWillUnmount() {\n\t\t\treleaseLock();\n\t\t}\n\n\t\t/**\n\t\t * Render nothing as this component is merely a way to declare scroll lock.\n\t\t *\n\t\t * @return {null} Render nothing by returning `null`.\n\t\t */\n\t\trender() {\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\nexport default createScrollLockComponent();\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction SelectControl( {\n\thelp,\n\tinstanceId,\n\tlabel,\n\tmultiple = false,\n\tonChange,\n\toptions = [],\n\tclassName,\n\t...props\n} ) {\n\tconst id = `inspector-select-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => {\n\t\tif ( multiple ) {\n\t\t\tconst selectedOptions = [ ...event.target.options ].filter( ( { selected } ) => selected );\n\t\t\tconst newValues = selectedOptions.map( ( { value } ) => value );\n\t\t\tonChange( newValues );\n\t\t\treturn;\n\t\t}\n\t\tonChange( event.target.value );\n\t};\n\n\t// Disable reason: A select with an onchange throws a warning\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn ! isEmpty( options ) && (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<select\n\t\t\t\tid={ id }\n\t\t\t\tclassName=\"components-select-control__input\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ options.map( ( option, index ) =>\n\t\t\t\t\t<option\n\t\t\t\t\t\tkey={ `${ option.label }-${ option.value }-${ index }` }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</option>\n\t\t\t\t) }\n\t\t\t</select>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nexport default withInstanceId( SelectControl );\n","/**\n * External dependencies.\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies.\n */\nimport {\n\tComponent,\n\tRawHTML,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies.\n */\nimport Placeholder from '../placeholder';\nimport Spinner from '../spinner';\n\nexport function rendererPath( block, attributes = null, urlQueryArgs = {} ) {\n\treturn addQueryArgs( `/gutenberg/v1/block-renderer/${ block }`, {\n\t\tcontext: 'edit',\n\t\t...( null !== attributes ? { attributes } : {} ),\n\t\t...urlQueryArgs,\n\t} );\n}\n\nexport class ServerSideRender extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\tresponse: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetch( this.props );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! isEqual( prevProps, this.props ) ) {\n\t\t\tthis.fetch( this.props );\n\t\t}\n\t}\n\n\tfetch( props ) {\n\t\tif ( null !== this.state.response ) {\n\t\t\tthis.setState( { response: null } );\n\t\t}\n\t\tconst { block, attributes = null, urlQueryArgs = {} } = props;\n\n\t\tconst path = rendererPath( block, attributes, urlQueryArgs );\n\n\t\treturn apiFetch( { path } )\n\t\t\t.then( ( response ) => {\n\t\t\t\tif ( this.isStillMounted && response && response.rendered ) {\n\t\t\t\t\tthis.setState( { response: response.rendered } );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { response: {\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\terrorMsg: error.message,\n\t\t\t\t\t} } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\trender() {\n\t\tconst response = this.state.response;\n\t\tif ( ! response ) {\n\t\t\treturn (\n\t\t\t\t<Placeholder><Spinner /></Placeholder>\n\t\t\t);\n\t\t} else if ( response.error ) {\n\t\t\t// translators: %s: error message describing the problem\n\t\t\tconst errorMessage = sprintf( __( 'Error loading block: %s' ), response.errorMsg );\n\t\t\treturn (\n\t\t\t\t<Placeholder>{ errorMessage }</Placeholder>\n\t\t\t);\n\t\t} else if ( ! response.length ) {\n\t\t\treturn (\n\t\t\t\t<Placeholder>{ __( 'No results found.' ) }</Placeholder>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<RawHTML key=\"html\">{ response }</RawHTML>\n\t\t);\n\t}\n}\n\nexport default ServerSideRender;\n","/**\n * External dependencies\n */\nimport { isString, isObject } from 'lodash';\n\nfunction Shortcut( { shortcut, className } ) {\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( isString( shortcut ) ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( isObject( shortcut ) ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n","/**\n * External dependencies\n */\nimport { noop, isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createPortal } from '@wordpress/element';\n\nlet occurrences = 0;\n\nclass Fill extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.occurrence = ++occurrences;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { registerFill = noop } = this.context;\n\n\t\tregisterFill( this.props.name, this );\n\t}\n\n\tcomponentWillUpdate() {\n\t\tif ( ! this.occurrence ) {\n\t\t\tthis.occurrence = ++occurrences;\n\t\t}\n\t\tconst { getSlot = noop } = this.context;\n\t\tconst slot = getSlot( this.props.name );\n\t\tif ( slot && ! slot.props.bubblesVirtually ) {\n\t\t\tslot.forceUpdate();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { unregisterFill = noop } = this.context;\n\n\t\tunregisterFill( this.props.name, this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { name } = this.props;\n\t\tconst {\n\t\t\tunregisterFill = noop,\n\t\t\tregisterFill = noop,\n\t\t} = this.context;\n\n\t\tif ( prevProps.name !== name ) {\n\t\t\tunregisterFill( prevProps.name, this );\n\t\t\tregisterFill( name, this );\n\t\t}\n\t}\n\n\tresetOccurrence() {\n\t\tthis.occurrence = null;\n\t}\n\n\trender() {\n\t\tconst { getSlot = noop } = this.context;\n\t\tconst { name } = this.props;\n\t\tlet { children } = this.props;\n\t\tconst slot = getSlot( name );\n\n\t\tif ( ! slot || ! slot.props.bubblesVirtually ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// If a function is passed as a child, provide it with the fillProps.\n\t\tif ( isFunction( children ) ) {\n\t\t\tchildren = children( slot.props.fillProps );\n\t\t}\n\n\t\treturn createPortal( children, slot.node );\n\t}\n}\n\nFill.contextTypes = {\n\tgetSlot: noop,\n\tregisterFill: noop,\n\tunregisterFill: noop,\n};\n\nexport default Fill;\n","/**\n * Internal dependencies\n */\nimport Slot from './slot';\nimport Fill from './fill';\nimport Provider from './provider';\n\nexport { Slot };\nexport { Fill };\nexport { Provider };\n\nexport function createSlotFill( name ) {\n\tconst FillComponent = ( { children, ...props } ) => (\n\t\t<Fill name={ name } { ...props }>\n\t\t\t{ children }\n\t\t</Fill>\n\t);\n\tFillComponent.displayName = name + 'Fill';\n\n\tconst SlotComponent = ( { children, ...props } ) => (\n\t\t<Slot name={ name } { ...props }>\n\t\t\t{ children }\n\t\t</Slot>\n\t);\n\tSlotComponent.displayName = name + 'Slot';\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n","/**\n * External dependencies\n */\nimport { pick, sortBy, forEach, without, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass SlotFillProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.registerSlot = this.registerSlot.bind( this );\n\t\tthis.registerFill = this.registerFill.bind( this );\n\t\tthis.unregisterSlot = this.unregisterSlot.bind( this );\n\t\tthis.unregisterFill = this.unregisterFill.bind( this );\n\t\tthis.getSlot = this.getSlot.bind( this );\n\t\tthis.getFills = this.getFills.bind( this );\n\n\t\tthis.slots = {};\n\t\tthis.fills = {};\n\t}\n\n\tgetChildContext() {\n\t\treturn pick( this, [\n\t\t\t'registerSlot',\n\t\t\t'registerFill',\n\t\t\t'unregisterSlot',\n\t\t\t'unregisterFill',\n\t\t\t'getSlot',\n\t\t\t'getFills',\n\t\t] );\n\t}\n\n\tregisterSlot( name, slot ) {\n\t\tthis.slots[ name ] = slot;\n\t\tthis.forceUpdateFills( name );\n\n\t\t// Sometimes the fills are registered after the initial render of slot\n\t\t// But before the registerSlot call, we need to rerender the slot\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tregisterFill( name, instance ) {\n\t\tthis.fills[ name ] = [\n\t\t\t...( this.fills[ name ] || [] ),\n\t\t\tinstance,\n\t\t];\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tunregisterSlot( name ) {\n\t\tdelete this.slots[ name ];\n\t\tthis.forceUpdateFills( name );\n\t}\n\n\tunregisterFill( name, instance ) {\n\t\tthis.fills[ name ] = without(\n\t\t\tthis.fills[ name ],\n\t\t\tinstance\n\t\t);\n\t\tthis.resetFillOccurrence( name );\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tgetSlot( name ) {\n\t\treturn this.slots[ name ];\n\t}\n\n\tgetFills( name ) {\n\t\treturn sortBy( this.fills[ name ], 'occurrence' );\n\t}\n\n\tresetFillOccurrence( name ) {\n\t\tforEach( this.fills[ name ], ( instance ) => {\n\t\t\tinstance.resetOccurrence();\n\t\t} );\n\t}\n\n\tforceUpdateFills( name ) {\n\t\tforEach( this.fills[ name ], ( instance ) => {\n\t\t\tinstance.forceUpdate();\n\t\t} );\n\t}\n\n\tforceUpdateSlot( name ) {\n\t\tconst slot = this.getSlot( name );\n\n\t\tif ( slot ) {\n\t\t\tslot.forceUpdate();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nSlotFillProvider.childContextTypes = {\n\tregisterSlot: noop,\n\tunregisterSlot: noop,\n\tregisterFill: noop,\n\tunregisterFill: noop,\n\tgetSlot: noop,\n\tgetFills: noop,\n};\n\nexport default SlotFillProvider;\n","/**\n * External dependencies\n */\nimport {\n\tisFunction,\n\tisString,\n\tmap,\n\tnegate,\n\tnoop,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tComponent,\n\tcloneElement,\n\tFragment,\n\tisEmptyElement,\n} from '@wordpress/element';\n\nclass Slot extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { registerSlot = noop } = this.context;\n\n\t\tregisterSlot( this.props.name, this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { unregisterSlot = noop } = this.context;\n\n\t\tunregisterSlot( this.props.name, this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { name } = this.props;\n\t\tconst {\n\t\t\tunregisterSlot = noop,\n\t\t\tregisterSlot = noop,\n\t\t} = this.context;\n\n\t\tif ( prevProps.name !== name ) {\n\t\t\tunregisterSlot( prevProps.name );\n\t\t\tregisterSlot( name, this );\n\t\t}\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\trender() {\n\t\tconst { children, name, bubblesVirtually = false, fillProps = {} } = this.props;\n\t\tconst { getFills = noop } = this.context;\n\n\t\tif ( bubblesVirtually ) {\n\t\t\treturn <div ref={ this.bindNode } />;\n\t\t}\n\n\t\tconst fills = map( getFills( name ), ( fill ) => {\n\t\t\tconst fillKey = fill.occurrence;\n\t\t\tconst fillChildren = isFunction( fill.props.children ) ? fill.props.children( fillProps ) : fill.props.children;\n\n\t\t\treturn Children.map( fillChildren, ( child, childIndex ) => {\n\t\t\t\tif ( ! child || isString( child ) ) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\n\t\t\t\tconst childKey = `${ fillKey }---${ child.key || childIndex }`;\n\t\t\t\treturn cloneElement( child, { key: childKey } );\n\t\t\t} );\n\t\t} ).filter(\n\t\t\t// In some cases fills are rendered only when some conditions apply.\n\t\t\t// This ensures that we only use non-empty fills when rendering, i.e.,\n\t\t\t// it allows us to render wrappers only when the fills are actually present.\n\t\t\tnegate( isEmptyElement )\n\t\t);\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{ isFunction( children ) ? children( fills ) : fills }\n\t\t\t</Fragment>\n\t\t);\n\t}\n}\n\nSlot.contextTypes = {\n\tregisterSlot: noop,\n\tunregisterSlot: noop,\n\tgetFills: noop,\n};\n\nexport default Slot;\n","export default () => <span className=\"components-spinner\" />;\n","/**\n * External dependencies\n */\nimport { partial, noop, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { NavigableMenu } from '../navigable-container';\n\nconst TabButton = ( { tabId, onClick, children, selected, ...rest } ) => (\n\t<button role=\"tab\"\n\t\ttabIndex={ selected ? null : -1 }\n\t\taria-selected={ selected }\n\t\tid={ tabId }\n\t\tonClick={ onClick }\n\t\t{ ...rest }\n\t>\n\t\t{ children }\n\t</button>\n);\n\nclass TabPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tconst { tabs, initialTabName } = this.props;\n\n\t\tthis.handleClick = this.handleClick.bind( this );\n\t\tthis.onNavigate = this.onNavigate.bind( this );\n\n\t\tthis.state = {\n\t\t\tselected: initialTabName || ( tabs.length > 0 ? tabs[ 0 ].name : null ),\n\t\t};\n\t}\n\n\thandleClick( tabKey ) {\n\t\tconst { onSelect = noop } = this.props;\n\t\tthis.setState( {\n\t\t\tselected: tabKey,\n\t\t} );\n\t\tonSelect( tabKey );\n\t}\n\n\tonNavigate( childIndex, child ) {\n\t\tchild.click();\n\t}\n\n\trender() {\n\t\tconst { selected } = this.state;\n\t\tconst {\n\t\t\tactiveClass = 'is-active',\n\t\t\tclassName,\n\t\t\tinstanceId,\n\t\t\torientation = 'horizontal',\n\t\t\ttabs,\n\t\t} = this.props;\n\n\t\tconst selectedTab = find( tabs, { name: selected } );\n\t\tconst selectedId = instanceId + '-' + selectedTab.name;\n\n\t\tdeprecated( 'Tab Panel child function argument used as string', {\n\t\t\talternative: 'Argument is now an object, access the name property directly.',\n\t\t\tversion: '4.2.0',\n\t\t\tplugin: 'Gutenberg',\n\t\t\thint: 'This is a global warning, shown regardless of whether the component is used.',\n\t\t} );\n\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t<NavigableMenu\n\t\t\t\t\trole=\"tablist\"\n\t\t\t\t\torientation={ orientation }\n\t\t\t\t\tonNavigate={ this.onNavigate }\n\t\t\t\t\tclassName=\"components-tab-panel__tabs\"\n\t\t\t\t>\n\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t<TabButton className={ `${ tab.className } ${ tab.name === selected ? activeClass : '' }` }\n\t\t\t\t\t\t\ttabId={ instanceId + '-' + tab.name }\n\t\t\t\t\t\t\taria-controls={ instanceId + '-' + tab.name + '-view' }\n\t\t\t\t\t\t\tselected={ tab.name === selected }\n\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\tonClick={ partial( this.handleClick, tab.name ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t</TabButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</NavigableMenu>\n\t\t\t\t{ selectedTab && (\n\t\t\t\t\t<div aria-labelledby={ selectedId }\n\t\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\t\tid={ selectedId + '-view' }\n\t\t\t\t\t\tclassName=\"components-tab-panel__tab-content\"\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.children( Object.assign( new String( selectedTab.name ), selectedTab ) ) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( TabPanel );\n","/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction TextControl( { label, value, help, className, instanceId, onChange, type = 'text', ...props } ) {\n\tconst id = `inspector-text-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<input className=\"components-text-control__input\"\n\t\t\t\ttype={ type }\n\t\t\t\tid={ id }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( TextControl );\n","/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction TextareaControl( { label, value, help, instanceId, onChange, rows = 4, className, ...props } ) {\n\tconst id = `inspector-textarea-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<textarea\n\t\t\t\tclassName=\"components-textarea-control__input\"\n\t\t\t\tid={ id }\n\t\t\t\trows={ rows }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\tvalue={ value }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( TextareaControl );\n","/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FormToggle from '../form-toggle';\nimport BaseControl from './../base-control';\n\nclass ToggleControl extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onChange = this.onChange.bind( this );\n\t}\n\n\tonChange( event ) {\n\t\tif ( this.props.onChange ) {\n\t\t\tthis.props.onChange( event.target.checked );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { label, checked, help, instanceId } = this.props;\n\t\tconst id = `inspector-toggle-control-${ instanceId }`;\n\n\t\tlet describedBy, helpLabel;\n\t\tif ( help ) {\n\t\t\tdescribedBy = id + '__help';\n\t\t\thelpLabel = isFunction( help ) ? help( checked ) : help;\n\t\t}\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ helpLabel }\n\t\t\t\tclassName=\"components-toggle-control\"\n\t\t\t>\n\t\t\t\t<FormToggle\n\t\t\t\t\tid={ id }\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\tonChange={ this.onChange }\n\t\t\t\t\taria-describedby={ describedBy }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( ToggleControl );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { flatMap } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport DropdownMenu from '../dropdown-menu';\nimport ToolbarContainer from './toolbar-container';\nimport ToolbarButtonContainer from './toolbar-button-container';\n\n/**\n * Renders a toolbar with controls.\n *\n * The `controls` prop accepts an array of sets. A set is an array of controls.\n * Controls have the following shape:\n *\n * ```\n * {\n * icon: string,\n * title: string,\n * subscript: string,\n * onClick: Function,\n * isActive: boolean,\n * isDisabled: boolean\n * }\n * ```\n *\n * For convenience it is also possible to pass only an array of controls. It is\n * then assumed this is the only set.\n *\n * Either `controls` or `children` is required, otherwise this components\n * renders nothing.\n *\n * @param {?Array} controls The controls to render in this toolbar.\n * @param {?ReactElement} children Any other things to render inside the\n * toolbar besides the controls.\n * @param {?string} className Class to set on the container div.\n *\n * @return {ReactElement} The rendered toolbar.\n */\nfunction Toolbar( { controls = [], children, className, isCollapsed, icon, label } ) {\n\tif (\n\t\t( ! controls || ! controls.length ) &&\n\t\t! children\n\t) {\n\t\treturn null;\n\t}\n\n\t// Normalize controls to nested array of objects (sets of controls)\n\tlet controlSets = controls;\n\tif ( ! Array.isArray( controlSets[ 0 ] ) ) {\n\t\tcontrolSets = [ controlSets ];\n\t}\n\n\tif ( isCollapsed ) {\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tcontrols={ controlSets }\n\t\t\t\tclassName={ classnames( 'components-toolbar', className ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToolbarContainer className={ classnames( 'components-toolbar', className ) }>\n\t\t\t{ flatMap( controlSets, ( controlSet, indexOfSet ) => (\n\t\t\t\tcontrolSet.map( ( control, indexOfControl ) => (\n\t\t\t\t\t<ToolbarButtonContainer\n\t\t\t\t\t\tkey={ [ indexOfSet, indexOfControl ].join() }\n\t\t\t\t\t\tclassName={ indexOfSet > 0 && indexOfControl === 0 ? 'has-left-divider' : null }\n\t\t\t\t\t>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon={ control.icon }\n\t\t\t\t\t\t\tlabel={ control.title }\n\t\t\t\t\t\t\tshortcut={ control.shortcut }\n\t\t\t\t\t\t\tdata-subscript={ control.subscript }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\tcontrol.onClick();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames( 'components-toolbar__control', control.className, {\n\t\t\t\t\t\t\t\t'is-active': control.isActive,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\taria-pressed={ control.isActive }\n\t\t\t\t\t\t\tdisabled={ control.isDisabled }\n\t\t\t\t\t\t\t{ ...control.extraProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ control.children }\n\t\t\t\t\t</ToolbarButtonContainer>\n\t\t\t\t) )\n\t\t\t) ) }\n\t\t\t{ children }\n\t\t</ToolbarContainer>\n\t);\n}\n\nexport default Toolbar;\n","const ToolbarButtonContainer = ( props ) => (\n\t<div\n\t\tclassName={ props.className }\n\t>\n\t\t{ props.children }\n\t</div>\n);\nexport default ToolbarButtonContainer;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst ToolbarContainer = ( props ) => (\n\t<div className={ classnames( 'components-toolbar', props.className ) }>\n\t\t{ props.children }\n\t</div>\n);\nexport default ToolbarContainer;\n","/**\n * External dependencies\n */\nimport { debounce, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tComponent,\n\tChildren,\n\tcloneElement,\n\tfindDOMNode,\n\tconcatChildren,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {Number}\n */\nconst TOOLTIP_DELAY = 700;\n\nclass Tooltip extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.delayedSetIsOver = debounce(\n\t\t\t( isOver ) => this.setState( { isOver } ),\n\t\t\tTOOLTIP_DELAY\n\t\t);\n\n\t\tthis.state = {\n\t\t\tisOver: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.delayedSetIsOver.cancel();\n\t\tthis.disconnectDisabledAttributeObserver();\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isOver } = this.state;\n\t\tif ( isOver !== prevState.isOver ) {\n\t\t\tif ( isOver ) {\n\t\t\t\tthis.observeDisabledAttribute();\n\t\t\t} else {\n\t\t\t\tthis.disconnectDisabledAttributeObserver();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Assigns DOM node of the rendered component as an instance property.\n\t *\n\t * @param {Element} ref Rendered component reference.\n\t */\n\tbindNode( ref ) {\n\t\t// Disable reason: Because render clones the child, we don't know what\n\t\t// type of element we have, but if it's a DOM node, we want to observe\n\t\t// the disabled attribute.\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tthis.node = findDOMNode( ref );\n\t}\n\n\t/**\n\t * Disconnects any DOM observer attached to the rendered node.\n\t */\n\tdisconnectDisabledAttributeObserver() {\n\t\tif ( this.observer ) {\n\t\t\tthis.observer.disconnect();\n\t\t}\n\t}\n\n\t/**\n\t * Adds a DOM observer to the rendered node, if supported and if the DOM\n\t * node exists, to monitor for application of a disabled attribute.\n\t */\n\tobserveDisabledAttribute() {\n\t\tif ( ! window.MutationObserver || ! this.node ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.observer = new window.MutationObserver( ( [ mutation ] ) => {\n\t\t\tif ( mutation.target.disabled ) {\n\t\t\t\t// We can assume here that isOver is true, because mutation\n\t\t\t\t// observer is only attached for duration of isOver active\n\t\t\t\tthis.setState( { isOver: false } );\n\t\t\t}\n\t\t} );\n\n\t\t// Monitor changes to the disable attribute on the DOM node\n\t\tthis.observer.observe( this.node, {\n\t\t\tsubtree: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'disabled' ],\n\t\t} );\n\t}\n\n\temitToChild( eventName, event ) {\n\t\tconst { children } = this.props;\n\t\tif ( Children.count( children ) !== 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst child = Children.only( children );\n\t\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\t\tchild.props[ eventName ]( event );\n\t\t}\n\t}\n\n\tcreateToggleIsOver( eventName, isDelayed ) {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior\n\t\t\tthis.emitToChild( eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called\n\t\t\tthis.delayedSetIsOver.cancel();\n\n\t\t\tconst isOver = includes( [ 'focus', 'mouseenter' ], event.type );\n\t\t\tif ( isOver === this.state.isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tthis.delayedSetIsOver( isOver );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isOver } );\n\t\t\t}\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { children, position, text, shortcut } = this.props;\n\t\tif ( Children.count( children ) !== 1 ) {\n\t\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( 'Tooltip should be called with only a single child element.' );\n\t\t\t}\n\n\t\t\treturn children;\n\t\t}\n\n\t\tconst child = Children.only( children );\n\t\tconst { isOver } = this.state;\n\t\treturn cloneElement( child, {\n\t\t\tref: this.bindNode,\n\t\t\tonMouseEnter: this.createToggleIsOver( 'onMouseEnter', true ),\n\t\t\tonMouseLeave: this.createToggleIsOver( 'onMouseLeave' ),\n\t\t\tonClick: this.createToggleIsOver( 'onClick' ),\n\t\t\tonFocus: this.createToggleIsOver( 'onFocus' ),\n\t\t\tonBlur: this.createToggleIsOver( 'onBlur' ),\n\t\t\tchildren: concatChildren(\n\t\t\t\tchild.props.children,\n\t\t\t\tisOver && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t<Shortcut className=\"components-tooltip__shortcut\" shortcut={ shortcut } />\n\t\t\t\t\t</Popover>\n\t\t\t\t),\n\t\t\t),\n\t\t} );\n\t}\n}\n\nexport default Tooltip;\n","/**\n * External dependencies\n */\nimport { unescape as unescapeString, repeat, flatMap, compact } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { SelectControl } from '../';\n\nfunction getSelectOptions( tree, level = 0 ) {\n\treturn flatMap( tree, ( treeNode ) => [\n\t\t{\n\t\t\tvalue: treeNode.id,\n\t\t\tlabel: repeat( '\\u00A0', level * 3 ) + unescapeString( treeNode.name ),\n\t\t},\n\t\t...getSelectOptions( treeNode.children || [], level + 1 ),\n\t] );\n}\n\nexport default function TreeSelect( {\n\tlabel,\n\tnoOptionLabel,\n\tonChange,\n\tselectedId,\n\ttree,\n\t...props\n} ) {\n\tconst options = compact( [\n\t\tnoOptionLabel && { value: '', label: noOptionLabel },\n\t\t...getSelectOptions( tree ),\n\t] );\n\treturn (\n\t\t<SelectControl\n\t\t\t{ ...{ label, options, onChange } }\n\t\t\tvalue={ selectedId }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('fbjs/lib/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","var DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n","var closest = require('./closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n arguments: true,\n arity: true\n};\n\nvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n var keys = Object.getOwnPropertyNames(sourceComponent);\n\n /* istanbul ignore else */\n if (isGetOwnPropertySymbolsAvailable) {\n keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n try {\n targetComponent[keys[i]] = sourceComponent[keys[i]];\n } catch (error) {\n\n }\n }\n }\n }\n\n return targetComponent;\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n\n return result;\n }\n\n if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n\n return result;\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","module.exports = require('./forEach');\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n","var baseForOwn = require('./_baseForOwn'),\n castFunction = require('./_castFunction');\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && baseForOwn(object, castFunction(iteratee));\n}\n\nmodule.exports = forOwn;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","export var red = {\"50\":\"#ffebee\",\"100\":\"#ffcdd2\",\"200\":\"#ef9a9a\",\"300\":\"#e57373\",\"400\":\"#ef5350\",\"500\":\"#f44336\",\"600\":\"#e53935\",\"700\":\"#d32f2f\",\"800\":\"#c62828\",\"900\":\"#b71c1c\",\"a100\":\"#ff8a80\",\"a200\":\"#ff5252\",\"a400\":\"#ff1744\",\"a700\":\"#d50000\"};\nexport var pink = {\"50\":\"#fce4ec\",\"100\":\"#f8bbd0\",\"200\":\"#f48fb1\",\"300\":\"#f06292\",\"400\":\"#ec407a\",\"500\":\"#e91e63\",\"600\":\"#d81b60\",\"700\":\"#c2185b\",\"800\":\"#ad1457\",\"900\":\"#880e4f\",\"a100\":\"#ff80ab\",\"a200\":\"#ff4081\",\"a400\":\"#f50057\",\"a700\":\"#c51162\"};\nexport var purple = {\"50\":\"#f3e5f5\",\"100\":\"#e1bee7\",\"200\":\"#ce93d8\",\"300\":\"#ba68c8\",\"400\":\"#ab47bc\",\"500\":\"#9c27b0\",\"600\":\"#8e24aa\",\"700\":\"#7b1fa2\",\"800\":\"#6a1b9a\",\"900\":\"#4a148c\",\"a100\":\"#ea80fc\",\"a200\":\"#e040fb\",\"a400\":\"#d500f9\",\"a700\":\"#aa00ff\"};\nexport var deepPurple = {\"50\":\"#ede7f6\",\"100\":\"#d1c4e9\",\"200\":\"#b39ddb\",\"300\":\"#9575cd\",\"400\":\"#7e57c2\",\"500\":\"#673ab7\",\"600\":\"#5e35b1\",\"700\":\"#512da8\",\"800\":\"#4527a0\",\"900\":\"#311b92\",\"a100\":\"#b388ff\",\"a200\":\"#7c4dff\",\"a400\":\"#651fff\",\"a700\":\"#6200ea\"};\nexport var indigo = {\"50\":\"#e8eaf6\",\"100\":\"#c5cae9\",\"200\":\"#9fa8da\",\"300\":\"#7986cb\",\"400\":\"#5c6bc0\",\"500\":\"#3f51b5\",\"600\":\"#3949ab\",\"700\":\"#303f9f\",\"800\":\"#283593\",\"900\":\"#1a237e\",\"a100\":\"#8c9eff\",\"a200\":\"#536dfe\",\"a400\":\"#3d5afe\",\"a700\":\"#304ffe\"};\nexport var blue = {\"50\":\"#e3f2fd\",\"100\":\"#bbdefb\",\"200\":\"#90caf9\",\"300\":\"#64b5f6\",\"400\":\"#42a5f5\",\"500\":\"#2196f3\",\"600\":\"#1e88e5\",\"700\":\"#1976d2\",\"800\":\"#1565c0\",\"900\":\"#0d47a1\",\"a100\":\"#82b1ff\",\"a200\":\"#448aff\",\"a400\":\"#2979ff\",\"a700\":\"#2962ff\"};\nexport var lightBlue = {\"50\":\"#e1f5fe\",\"100\":\"#b3e5fc\",\"200\":\"#81d4fa\",\"300\":\"#4fc3f7\",\"400\":\"#29b6f6\",\"500\":\"#03a9f4\",\"600\":\"#039be5\",\"700\":\"#0288d1\",\"800\":\"#0277bd\",\"900\":\"#01579b\",\"a100\":\"#80d8ff\",\"a200\":\"#40c4ff\",\"a400\":\"#00b0ff\",\"a700\":\"#0091ea\"};\nexport var cyan = {\"50\":\"#e0f7fa\",\"100\":\"#b2ebf2\",\"200\":\"#80deea\",\"300\":\"#4dd0e1\",\"400\":\"#26c6da\",\"500\":\"#00bcd4\",\"600\":\"#00acc1\",\"700\":\"#0097a7\",\"800\":\"#00838f\",\"900\":\"#006064\",\"a100\":\"#84ffff\",\"a200\":\"#18ffff\",\"a400\":\"#00e5ff\",\"a700\":\"#00b8d4\"};\nexport var teal = {\"50\":\"#e0f2f1\",\"100\":\"#b2dfdb\",\"200\":\"#80cbc4\",\"300\":\"#4db6ac\",\"400\":\"#26a69a\",\"500\":\"#009688\",\"600\":\"#00897b\",\"700\":\"#00796b\",\"800\":\"#00695c\",\"900\":\"#004d40\",\"a100\":\"#a7ffeb\",\"a200\":\"#64ffda\",\"a400\":\"#1de9b6\",\"a700\":\"#00bfa5\"};\nexport var green = {\"50\":\"#e8f5e9\",\"100\":\"#c8e6c9\",\"200\":\"#a5d6a7\",\"300\":\"#81c784\",\"400\":\"#66bb6a\",\"500\":\"#4caf50\",\"600\":\"#43a047\",\"700\":\"#388e3c\",\"800\":\"#2e7d32\",\"900\":\"#1b5e20\",\"a100\":\"#b9f6ca\",\"a200\":\"#69f0ae\",\"a400\":\"#00e676\",\"a700\":\"#00c853\"};\nexport var lightGreen = {\"50\":\"#f1f8e9\",\"100\":\"#dcedc8\",\"200\":\"#c5e1a5\",\"300\":\"#aed581\",\"400\":\"#9ccc65\",\"500\":\"#8bc34a\",\"600\":\"#7cb342\",\"700\":\"#689f38\",\"800\":\"#558b2f\",\"900\":\"#33691e\",\"a100\":\"#ccff90\",\"a200\":\"#b2ff59\",\"a400\":\"#76ff03\",\"a700\":\"#64dd17\"};\nexport var lime = {\"50\":\"#f9fbe7\",\"100\":\"#f0f4c3\",\"200\":\"#e6ee9c\",\"300\":\"#dce775\",\"400\":\"#d4e157\",\"500\":\"#cddc39\",\"600\":\"#c0ca33\",\"700\":\"#afb42b\",\"800\":\"#9e9d24\",\"900\":\"#827717\",\"a100\":\"#f4ff81\",\"a200\":\"#eeff41\",\"a400\":\"#c6ff00\",\"a700\":\"#aeea00\"};\nexport var yellow = {\"50\":\"#fffde7\",\"100\":\"#fff9c4\",\"200\":\"#fff59d\",\"300\":\"#fff176\",\"400\":\"#ffee58\",\"500\":\"#ffeb3b\",\"600\":\"#fdd835\",\"700\":\"#fbc02d\",\"800\":\"#f9a825\",\"900\":\"#f57f17\",\"a100\":\"#ffff8d\",\"a200\":\"#ffff00\",\"a400\":\"#ffea00\",\"a700\":\"#ffd600\"};\nexport var amber = {\"50\":\"#fff8e1\",\"100\":\"#ffecb3\",\"200\":\"#ffe082\",\"300\":\"#ffd54f\",\"400\":\"#ffca28\",\"500\":\"#ffc107\",\"600\":\"#ffb300\",\"700\":\"#ffa000\",\"800\":\"#ff8f00\",\"900\":\"#ff6f00\",\"a100\":\"#ffe57f\",\"a200\":\"#ffd740\",\"a400\":\"#ffc400\",\"a700\":\"#ffab00\"};\nexport var orange = {\"50\":\"#fff3e0\",\"100\":\"#ffe0b2\",\"200\":\"#ffcc80\",\"300\":\"#ffb74d\",\"400\":\"#ffa726\",\"500\":\"#ff9800\",\"600\":\"#fb8c00\",\"700\":\"#f57c00\",\"800\":\"#ef6c00\",\"900\":\"#e65100\",\"a100\":\"#ffd180\",\"a200\":\"#ffab40\",\"a400\":\"#ff9100\",\"a700\":\"#ff6d00\"};\nexport var deepOrange = {\"50\":\"#fbe9e7\",\"100\":\"#ffccbc\",\"200\":\"#ffab91\",\"300\":\"#ff8a65\",\"400\":\"#ff7043\",\"500\":\"#ff5722\",\"600\":\"#f4511e\",\"700\":\"#e64a19\",\"800\":\"#d84315\",\"900\":\"#bf360c\",\"a100\":\"#ff9e80\",\"a200\":\"#ff6e40\",\"a400\":\"#ff3d00\",\"a700\":\"#dd2c00\"};\nexport var brown = {\"50\":\"#efebe9\",\"100\":\"#d7ccc8\",\"200\":\"#bcaaa4\",\"300\":\"#a1887f\",\"400\":\"#8d6e63\",\"500\":\"#795548\",\"600\":\"#6d4c41\",\"700\":\"#5d4037\",\"800\":\"#4e342e\",\"900\":\"#3e2723\"};\nexport var grey = {\"50\":\"#fafafa\",\"100\":\"#f5f5f5\",\"200\":\"#eeeeee\",\"300\":\"#e0e0e0\",\"400\":\"#bdbdbd\",\"500\":\"#9e9e9e\",\"600\":\"#757575\",\"700\":\"#616161\",\"800\":\"#424242\",\"900\":\"#212121\"};\nexport var blueGrey = {\"50\":\"#eceff1\",\"100\":\"#cfd8dc\",\"200\":\"#b0bec5\",\"300\":\"#90a4ae\",\"400\":\"#78909c\",\"500\":\"#607d8b\",\"600\":\"#546e7a\",\"700\":\"#455a64\",\"800\":\"#37474f\",\"900\":\"#263238\"};\nexport var darkText = {\"primary\":\"rgba(0, 0, 0, 0.87)\",\"secondary\":\"rgba(0, 0, 0, 0.54)\",\"disabled\":\"rgba(0, 0, 0, 0.38)\",\"dividers\":\"rgba(0, 0, 0, 0.12)\"};\nexport var lightText = {\"primary\":\"rgba(255, 255, 255, 1)\",\"secondary\":\"rgba(255, 255, 255, 0.7)\",\"disabled\":\"rgba(255, 255, 255, 0.5)\",\"dividers\":\"rgba(255, 255, 255, 0.12)\"};\nexport var darkIcons = {\"active\":\"rgba(0, 0, 0, 0.54)\",\"inactive\":\"rgba(0, 0, 0, 0.38)\"};\nexport var lightIcons = {\"active\":\"rgba(255, 255, 255, 1)\",\"inactive\":\"rgba(255, 255, 255, 0.5)\"};\nexport var white = \"#ffffff\";\nexport var black = \"#000000\";\n\nexport default {\n red: red,\n pink: pink,\n purple: purple,\n deepPurple: deepPurple,\n indigo: indigo,\n blue: blue,\n lightBlue: lightBlue,\n cyan: cyan,\n teal: teal,\n green: green,\n lightGreen: lightGreen,\n lime: lime,\n yellow: yellow,\n amber: amber,\n orange: orange,\n deepOrange: deepOrange,\n brown: brown,\n grey: grey,\n blueGrey: blueGrey,\n darkText: darkText,\n lightText: lightText,\n darkIcons: darkIcons,\n lightIcons: lightIcons,\n white: white,\n black: black\n};\n","/*global define:false */\n/**\n * Copyright 2012-2017 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Mousetrap is a simple keyboard shortcut library for Javascript with\n * no external dependencies\n *\n * @version 1.6.2\n * @url craig.is/killing/mice\n */\n(function(window, document, undefined) {\n\n // Check if mousetrap is used inside browser, if not, return\n if (!window) {\n return;\n }\n\n /**\n * mapping of special keycodes to their corresponding keys\n *\n * everything in this dictionary cannot use keypress events\n * so it has to be here to map to the correct keycodes for\n * keyup/keydown events\n *\n * @type {Object}\n */\n var _MAP = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'capslock',\n 27: 'esc',\n 32: 'space',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 45: 'ins',\n 46: 'del',\n 91: 'meta',\n 93: 'meta',\n 224: 'meta'\n };\n\n /**\n * mapping for special characters so they can support\n *\n * this dictionary is only used incase you want to bind a\n * keyup or keydown event to one of these keys\n *\n * @type {Object}\n */\n var _KEYCODE_MAP = {\n 106: '*',\n 107: '+',\n 109: '-',\n 110: '.',\n 111 : '/',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-',\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\''\n };\n\n /**\n * this is a mapping of keys that require shift on a US keypad\n * back to the non shift equivelents\n *\n * this is so you can use keyup events with these keys\n *\n * note that this will only work reliably on US keyboards\n *\n * @type {Object}\n */\n var _SHIFT_MAP = {\n '~': '`',\n '!': '1',\n '@': '2',\n '#': '3',\n '$': '4',\n '%': '5',\n '^': '6',\n '&': '7',\n '*': '8',\n '(': '9',\n ')': '0',\n '_': '-',\n '+': '=',\n ':': ';',\n '\\\"': '\\'',\n '<': ',',\n '>': '.',\n '?': '/',\n '|': '\\\\'\n };\n\n /**\n * this is a list of special strings you can use to map\n * to modifier keys when you specify your keyboard shortcuts\n *\n * @type {Object}\n */\n var _SPECIAL_ALIASES = {\n 'option': 'alt',\n 'command': 'meta',\n 'return': 'enter',\n 'escape': 'esc',\n 'plus': '+',\n 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'\n };\n\n /**\n * variable to store the flipped version of _MAP from above\n * needed to check if we should use keypress or not when no action\n * is specified\n *\n * @type {Object|undefined}\n */\n var _REVERSE_MAP;\n\n /**\n * loop through the f keys, f1 to f19 and add them to the map\n * programatically\n */\n for (var i = 1; i < 20; ++i) {\n _MAP[111 + i] = 'f' + i;\n }\n\n /**\n * loop through to map numbers on the numeric keypad\n */\n for (i = 0; i <= 9; ++i) {\n\n // This needs to use a string cause otherwise since 0 is falsey\n // mousetrap will never fire for numpad 0 pressed as part of a keydown\n // event.\n //\n // @see https://github.com/ccampbell/mousetrap/pull/258\n _MAP[i + 96] = i.toString();\n }\n\n /**\n * cross browser add event method\n *\n * @param {Element|HTMLDocument} object\n * @param {string} type\n * @param {Function} callback\n * @returns void\n */\n function _addEvent(object, type, callback) {\n if (object.addEventListener) {\n object.addEventListener(type, callback, false);\n return;\n }\n\n object.attachEvent('on' + type, callback);\n }\n\n /**\n * takes the event and returns the key character\n *\n * @param {Event} e\n * @return {string}\n */\n function _characterFromEvent(e) {\n\n // for keypress events we should return the character as is\n if (e.type == 'keypress') {\n var character = String.fromCharCode(e.which);\n\n // if the shift key is not pressed then it is safe to assume\n // that we want the character to be lowercase. this means if\n // you accidentally have caps lock on then your key bindings\n // will continue to work\n //\n // the only side effect that might not be desired is if you\n // bind something like 'A' cause you want to trigger an\n // event when capital A is pressed caps lock will no longer\n // trigger the event. shift+a will though.\n if (!e.shiftKey) {\n character = character.toLowerCase();\n }\n\n return character;\n }\n\n // for non keypress events the special maps are needed\n if (_MAP[e.which]) {\n return _MAP[e.which];\n }\n\n if (_KEYCODE_MAP[e.which]) {\n return _KEYCODE_MAP[e.which];\n }\n\n // if it is not in the special map\n\n // with keydown and keyup events the character seems to always\n // come in as an uppercase character whether you are pressing shift\n // or not. we should make sure it is always lowercase for comparisons\n return String.fromCharCode(e.which).toLowerCase();\n }\n\n /**\n * checks if two arrays are equal\n *\n * @param {Array} modifiers1\n * @param {Array} modifiers2\n * @returns {boolean}\n */\n function _modifiersMatch(modifiers1, modifiers2) {\n return modifiers1.sort().join(',') === modifiers2.sort().join(',');\n }\n\n /**\n * takes a key event and figures out what the modifiers are\n *\n * @param {Event} e\n * @returns {Array}\n */\n function _eventModifiers(e) {\n var modifiers = [];\n\n if (e.shiftKey) {\n modifiers.push('shift');\n }\n\n if (e.altKey) {\n modifiers.push('alt');\n }\n\n if (e.ctrlKey) {\n modifiers.push('ctrl');\n }\n\n if (e.metaKey) {\n modifiers.push('meta');\n }\n\n return modifiers;\n }\n\n /**\n * prevents default for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n return;\n }\n\n e.returnValue = false;\n }\n\n /**\n * stops propogation for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _stopPropagation(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n return;\n }\n\n e.cancelBubble = true;\n }\n\n /**\n * determines if the keycode specified is a modifier key or not\n *\n * @param {string} key\n * @returns {boolean}\n */\n function _isModifier(key) {\n return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';\n }\n\n /**\n * reverses the map lookup so that we can look for specific keys\n * to see what can and can't use keypress\n *\n * @return {Object}\n */\n function _getReverseMap() {\n if (!_REVERSE_MAP) {\n _REVERSE_MAP = {};\n for (var key in _MAP) {\n\n // pull out the numeric keypad from here cause keypress should\n // be able to detect the keys from the character\n if (key > 95 && key < 112) {\n continue;\n }\n\n if (_MAP.hasOwnProperty(key)) {\n _REVERSE_MAP[_MAP[key]] = key;\n }\n }\n }\n return _REVERSE_MAP;\n }\n\n /**\n * picks the best action based on the key combination\n *\n * @param {string} key - character for key\n * @param {Array} modifiers\n * @param {string=} action passed in\n */\n function _pickBestAction(key, modifiers, action) {\n\n // if no action was picked in we should try to pick the one\n // that we think would work best for this key\n if (!action) {\n action = _getReverseMap()[key] ? 'keydown' : 'keypress';\n }\n\n // modifier keys don't work as expected with keypress,\n // switch to keydown\n if (action == 'keypress' && modifiers.length) {\n action = 'keydown';\n }\n\n return action;\n }\n\n /**\n * Converts from a string key combination to an array\n *\n * @param {string} combination like \"command+shift+l\"\n * @return {Array}\n */\n function _keysFromString(combination) {\n if (combination === '+') {\n return ['+'];\n }\n\n combination = combination.replace(/\\+{2}/g, '+plus');\n return combination.split('+');\n }\n\n /**\n * Gets info for a specific key combination\n *\n * @param {string} combination key combination (\"command+s\" or \"a\" or \"*\")\n * @param {string=} action\n * @returns {Object}\n */\n function _getKeyInfo(combination, action) {\n var keys;\n var key;\n var i;\n var modifiers = [];\n\n // take the keys from this pattern and figure out what the actual\n // pattern is all about\n keys = _keysFromString(combination);\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n\n // normalize key names\n if (_SPECIAL_ALIASES[key]) {\n key = _SPECIAL_ALIASES[key];\n }\n\n // if this is not a keypress event then we should\n // be smart about using shift keys\n // this will only work for US keyboards however\n if (action && action != 'keypress' && _SHIFT_MAP[key]) {\n key = _SHIFT_MAP[key];\n modifiers.push('shift');\n }\n\n // if this key is a modifier then add it to the list of modifiers\n if (_isModifier(key)) {\n modifiers.push(key);\n }\n }\n\n // depending on what the key combination is\n // we will try to pick the best event for it\n action = _pickBestAction(key, modifiers, action);\n\n return {\n key: key,\n modifiers: modifiers,\n action: action\n };\n }\n\n function _belongsTo(element, ancestor) {\n if (element === null || element === document) {\n return false;\n }\n\n if (element === ancestor) {\n return true;\n }\n\n return _belongsTo(element.parentNode, ancestor);\n }\n\n function Mousetrap(targetElement) {\n var self = this;\n\n targetElement = targetElement || document;\n\n if (!(self instanceof Mousetrap)) {\n return new Mousetrap(targetElement);\n }\n\n /**\n * element to attach key events to\n *\n * @type {Element}\n */\n self.target = targetElement;\n\n /**\n * a list of all the callbacks setup via Mousetrap.bind()\n *\n * @type {Object}\n */\n self._callbacks = {};\n\n /**\n * direct map of string combinations to callbacks used for trigger()\n *\n * @type {Object}\n */\n self._directMap = {};\n\n /**\n * keeps track of what level each sequence is at since multiple\n * sequences can start out with the same sequence\n *\n * @type {Object}\n */\n var _sequenceLevels = {};\n\n /**\n * variable to store the setTimeout call\n *\n * @type {null|number}\n */\n var _resetTimer;\n\n /**\n * temporary state where we will ignore the next keyup\n *\n * @type {boolean|string}\n */\n var _ignoreNextKeyup = false;\n\n /**\n * temporary state where we will ignore the next keypress\n *\n * @type {boolean}\n */\n var _ignoreNextKeypress = false;\n\n /**\n * are we currently inside of a sequence?\n * type of action (\"keyup\" or \"keydown\" or \"keypress\") or false\n *\n * @type {boolean|string}\n */\n var _nextExpectedAction = false;\n\n /**\n * resets all sequence counters except for the ones passed in\n *\n * @param {Object} doNotReset\n * @returns void\n */\n function _resetSequences(doNotReset) {\n doNotReset = doNotReset || {};\n\n var activeSequences = false,\n key;\n\n for (key in _sequenceLevels) {\n if (doNotReset[key]) {\n activeSequences = true;\n continue;\n }\n _sequenceLevels[key] = 0;\n }\n\n if (!activeSequences) {\n _nextExpectedAction = false;\n }\n }\n\n /**\n * finds all callbacks that match based on the keycode, modifiers,\n * and action\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event|Object} e\n * @param {string=} sequenceName - name of the sequence we are looking for\n * @param {string=} combination\n * @param {number=} level\n * @returns {Array}\n */\n function _getMatches(character, modifiers, e, sequenceName, combination, level) {\n var i;\n var callback;\n var matches = [];\n var action = e.type;\n\n // if there are no events related to this keycode\n if (!self._callbacks[character]) {\n return [];\n }\n\n // if a modifier key is coming up on its own we should allow it\n if (action == 'keyup' && _isModifier(character)) {\n modifiers = [character];\n }\n\n // loop through all callbacks for the key that was pressed\n // and see if any of them match\n for (i = 0; i < self._callbacks[character].length; ++i) {\n callback = self._callbacks[character][i];\n\n // if a sequence name is not specified, but this is a sequence at\n // the wrong level then move onto the next match\n if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {\n continue;\n }\n\n // if the action we are looking for doesn't match the action we got\n // then we should keep going\n if (action != callback.action) {\n continue;\n }\n\n // if this is a keypress event and the meta key and control key\n // are not pressed that means that we need to only look at the\n // character, otherwise check the modifiers as well\n //\n // chrome will not fire a keypress if meta or control is down\n // safari will fire a keypress if meta or meta+shift is down\n // firefox will fire a keypress if meta or control is down\n if ((action == 'keypress' && !e.metaKey && !e.ctrlKey) || _modifiersMatch(modifiers, callback.modifiers)) {\n\n // when you bind a combination or sequence a second time it\n // should overwrite the first one. if a sequenceName or\n // combination is specified in this call it does just that\n //\n // @todo make deleting its own method?\n var deleteCombo = !sequenceName && callback.combo == combination;\n var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;\n if (deleteCombo || deleteSequence) {\n self._callbacks[character].splice(i, 1);\n }\n\n matches.push(callback);\n }\n }\n\n return matches;\n }\n\n /**\n * actually calls the callback function\n *\n * if your callback function returns false this will use the jquery\n * convention - prevent default and stop propogation on the event\n *\n * @param {Function} callback\n * @param {Event} e\n * @returns void\n */\n function _fireCallback(callback, e, combo, sequence) {\n\n // if this event should not happen stop here\n if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {\n return;\n }\n\n if (callback(e, combo) === false) {\n _preventDefault(e);\n _stopPropagation(e);\n }\n }\n\n /**\n * handles a character key event\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event} e\n * @returns void\n */\n self._handleKey = function(character, modifiers, e) {\n var callbacks = _getMatches(character, modifiers, e);\n var i;\n var doNotReset = {};\n var maxLevel = 0;\n var processedSequenceCallback = false;\n\n // Calculate the maxLevel for sequences so we can only execute the longest callback sequence\n for (i = 0; i < callbacks.length; ++i) {\n if (callbacks[i].seq) {\n maxLevel = Math.max(maxLevel, callbacks[i].level);\n }\n }\n\n // loop through matching callbacks for this key event\n for (i = 0; i < callbacks.length; ++i) {\n\n // fire for all sequence callbacks\n // this is because if for example you have multiple sequences\n // bound such as \"g i\" and \"g t\" they both need to fire the\n // callback for matching g cause otherwise you can only ever\n // match the first one\n if (callbacks[i].seq) {\n\n // only fire callbacks for the maxLevel to prevent\n // subsequences from also firing\n //\n // for example 'a option b' should not cause 'option b' to fire\n // even though 'option b' is part of the other sequence\n //\n // any sequences that do not match here will be discarded\n // below by the _resetSequences call\n if (callbacks[i].level != maxLevel) {\n continue;\n }\n\n processedSequenceCallback = true;\n\n // keep a list of which sequences were matches for later\n doNotReset[callbacks[i].seq] = 1;\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);\n continue;\n }\n\n // if there were no sequence matches but we are still here\n // that means this is a regular match so we should fire that\n if (!processedSequenceCallback) {\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo);\n }\n }\n\n // if the key you pressed matches the type of sequence without\n // being a modifier (ie \"keyup\" or \"keypress\") then we should\n // reset all sequences that were not matched by this event\n //\n // this is so, for example, if you have the sequence \"h a t\" and you\n // type \"h e a r t\" it does not match. in this case the \"e\" will\n // cause the sequence to reset\n //\n // modifier keys are ignored because you can have a sequence\n // that contains modifiers such as \"enter ctrl+space\" and in most\n // cases the modifier key will be pressed before the next key\n //\n // also if you have a sequence such as \"ctrl+b a\" then pressing the\n // \"b\" key will trigger a \"keypress\" and a \"keydown\"\n //\n // the \"keydown\" is expected when there is a modifier, but the\n // \"keypress\" ends up matching the _nextExpectedAction since it occurs\n // after and that causes the sequence to reset\n //\n // we ignore keypresses in a sequence that directly follow a keydown\n // for the same character\n var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;\n if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {\n _resetSequences(doNotReset);\n }\n\n _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';\n };\n\n /**\n * handles a keydown event\n *\n * @param {Event} e\n * @returns void\n */\n function _handleKeyEvent(e) {\n\n // normalize e.which for key events\n // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion\n if (typeof e.which !== 'number') {\n e.which = e.keyCode;\n }\n\n var character = _characterFromEvent(e);\n\n // no character found then stop\n if (!character) {\n return;\n }\n\n // need to use === for the character check because the character can be 0\n if (e.type == 'keyup' && _ignoreNextKeyup === character) {\n _ignoreNextKeyup = false;\n return;\n }\n\n self.handleKey(character, _eventModifiers(e), e);\n }\n\n /**\n * called to set a 1 second timeout on the specified sequence\n *\n * this is so after each key press in the sequence you have 1 second\n * to press the next key before you have to start over\n *\n * @returns void\n */\n function _resetSequenceTimer() {\n clearTimeout(_resetTimer);\n _resetTimer = setTimeout(_resetSequences, 1000);\n }\n\n /**\n * binds a key sequence to an event\n *\n * @param {string} combo - combo specified in bind call\n * @param {Array} keys\n * @param {Function} callback\n * @param {string=} action\n * @returns void\n */\n function _bindSequence(combo, keys, callback, action) {\n\n // start off by adding a sequence level record for this combination\n // and setting the level to 0\n _sequenceLevels[combo] = 0;\n\n /**\n * callback to increase the sequence level for this sequence and reset\n * all other sequences that were active\n *\n * @param {string} nextAction\n * @returns {Function}\n */\n function _increaseSequence(nextAction) {\n return function() {\n _nextExpectedAction = nextAction;\n ++_sequenceLevels[combo];\n _resetSequenceTimer();\n };\n }\n\n /**\n * wraps the specified callback inside of another function in order\n * to reset all sequence counters as soon as this sequence is done\n *\n * @param {Event} e\n * @returns void\n */\n function _callbackAndReset(e) {\n _fireCallback(callback, e, combo);\n\n // we should ignore the next key up if the action is key down\n // or keypress. this is so if you finish a sequence and\n // release the key the final key will not trigger a keyup\n if (action !== 'keyup') {\n _ignoreNextKeyup = _characterFromEvent(e);\n }\n\n // weird race condition if a sequence ends with the key\n // another sequence begins with\n setTimeout(_resetSequences, 10);\n }\n\n // loop through keys one at a time and bind the appropriate callback\n // function. for any key leading up to the final one it should\n // increase the sequence. after the final, it should reset all sequences\n //\n // if an action is specified in the original bind call then that will\n // be used throughout. otherwise we will pass the action that the\n // next key in the sequence should match. this allows a sequence\n // to mix and match keypress and keydown events depending on which\n // ones are better suited to the key provided\n for (var i = 0; i < keys.length; ++i) {\n var isFinal = i + 1 === keys.length;\n var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);\n _bindSingle(keys[i], wrappedCallback, action, combo, i);\n }\n }\n\n /**\n * binds a single keyboard combination\n *\n * @param {string} combination\n * @param {Function} callback\n * @param {string=} action\n * @param {string=} sequenceName - name of sequence if part of sequence\n * @param {number=} level - what part of the sequence the command is\n * @returns void\n */\n function _bindSingle(combination, callback, action, sequenceName, level) {\n\n // store a direct mapped reference for use with Mousetrap.trigger\n self._directMap[combination + ':' + action] = callback;\n\n // make sure multiple spaces in a row become a single space\n combination = combination.replace(/\\s+/g, ' ');\n\n var sequence = combination.split(' ');\n var info;\n\n // if this pattern is a sequence of keys then run through this method\n // to reprocess each pattern one key at a time\n if (sequence.length > 1) {\n _bindSequence(combination, sequence, callback, action);\n return;\n }\n\n info = _getKeyInfo(combination, action);\n\n // make sure to initialize array if this is the first time\n // a callback is added for this key\n self._callbacks[info.key] = self._callbacks[info.key] || [];\n\n // remove an existing match if there is one\n _getMatches(info.key, info.modifiers, {type: info.action}, sequenceName, combination, level);\n\n // add this call back to the array\n // if it is a sequence put it at the beginning\n // if not put it at the end\n //\n // this is important because the way these are processed expects\n // the sequence ones to come first\n self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({\n callback: callback,\n modifiers: info.modifiers,\n action: info.action,\n seq: sequenceName,\n level: level,\n combo: combination\n });\n }\n\n /**\n * binds multiple combinations to the same callback\n *\n * @param {Array} combinations\n * @param {Function} callback\n * @param {string|undefined} action\n * @returns void\n */\n self._bindMultiple = function(combinations, callback, action) {\n for (var i = 0; i < combinations.length; ++i) {\n _bindSingle(combinations[i], callback, action);\n }\n };\n\n // start!\n _addEvent(targetElement, 'keypress', _handleKeyEvent);\n _addEvent(targetElement, 'keydown', _handleKeyEvent);\n _addEvent(targetElement, 'keyup', _handleKeyEvent);\n }\n\n /**\n * binds an event to mousetrap\n *\n * can be a single key, a combination of keys separated with +,\n * an array of keys, or a sequence of keys separated by spaces\n *\n * be sure to list the modifier keys first to make sure that the\n * correct key ends up getting bound (the last key in the pattern)\n *\n * @param {string|Array} keys\n * @param {Function} callback\n * @param {string=} action - 'keypress', 'keydown', or 'keyup'\n * @returns void\n */\n Mousetrap.prototype.bind = function(keys, callback, action) {\n var self = this;\n keys = keys instanceof Array ? keys : [keys];\n self._bindMultiple.call(self, keys, callback, action);\n return self;\n };\n\n /**\n * unbinds an event to mousetrap\n *\n * the unbinding sets the callback function of the specified key combo\n * to an empty function and deletes the corresponding key in the\n * _directMap dict.\n *\n * TODO: actually remove this from the _callbacks dictionary instead\n * of binding an empty function\n *\n * the keycombo+action has to be exactly the same as\n * it was defined in the bind method\n *\n * @param {string|Array} keys\n * @param {string} action\n * @returns void\n */\n Mousetrap.prototype.unbind = function(keys, action) {\n var self = this;\n return self.bind.call(self, keys, function() {}, action);\n };\n\n /**\n * triggers an event that has already been bound\n *\n * @param {string} keys\n * @param {string=} action\n * @returns void\n */\n Mousetrap.prototype.trigger = function(keys, action) {\n var self = this;\n if (self._directMap[keys + ':' + action]) {\n self._directMap[keys + ':' + action]({}, keys);\n }\n return self;\n };\n\n /**\n * resets the library back to its initial state. this is useful\n * if you want to clear out the current keyboard shortcuts and bind\n * new ones - for example if you switch to another page\n *\n * @returns void\n */\n Mousetrap.prototype.reset = function() {\n var self = this;\n self._callbacks = {};\n self._directMap = {};\n return self;\n };\n\n /**\n * should we stop this event before firing off callbacks\n *\n * @param {Event} e\n * @param {Element} element\n * @return {boolean}\n */\n Mousetrap.prototype.stopCallback = function(e, element) {\n var self = this;\n\n // if the element has the class \"mousetrap\" then no need to stop\n if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {\n return false;\n }\n\n if (_belongsTo(element, self.target)) {\n return false;\n }\n\n // stop for input, select, and textarea\n return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;\n };\n\n /**\n * exposes _handleKey publicly so it can be overwritten by extensions\n */\n Mousetrap.prototype.handleKey = function() {\n var self = this;\n return self._handleKey.apply(self, arguments);\n };\n\n /**\n * allow custom key mappings\n */\n Mousetrap.addKeycodes = function(object) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n _MAP[key] = object[key];\n }\n }\n _REVERSE_MAP = null;\n };\n\n /**\n * Init the global mousetrap functions\n *\n * This method is needed to allow the global mousetrap functions to work\n * now that mousetrap is a constructor function.\n */\n Mousetrap.init = function() {\n var documentMousetrap = Mousetrap(document);\n for (var method in documentMousetrap) {\n if (method.charAt(0) !== '_') {\n Mousetrap[method] = (function(method) {\n return function() {\n return documentMousetrap[method].apply(documentMousetrap, arguments);\n };\n } (method));\n }\n }\n };\n\n Mousetrap.init();\n\n // expose mousetrap to the global object\n window.Mousetrap = Mousetrap;\n\n // expose as a common js module\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Mousetrap;\n }\n\n // expose mousetrap as an AMD module\n if (typeof define === 'function' && define.amd) {\n define(function() {\n return Mousetrap;\n });\n }\n}) (typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);\n","/**\n * adds a bindGlobal method to Mousetrap that allows you to\n * bind specific keyboard shortcuts that will still work\n * inside a text input field\n *\n * usage:\n * Mousetrap.bindGlobal('ctrl+s', _saveChanges);\n */\n/* global Mousetrap:true */\n(function(Mousetrap) {\n var _globalCallbacks = {};\n var _originalStopCallback = Mousetrap.prototype.stopCallback;\n\n Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) {\n var self = this;\n\n if (self.paused) {\n return true;\n }\n\n if (_globalCallbacks[combo] || _globalCallbacks[sequence]) {\n return false;\n }\n\n return _originalStopCallback.call(self, e, element, combo);\n };\n\n Mousetrap.prototype.bindGlobal = function(keys, callback, action) {\n var self = this;\n self.bind(keys, callback, action);\n\n if (keys instanceof Array) {\n for (var i = 0; i < keys.length; i++) {\n _globalCallbacks[keys[i]] = true;\n }\n return;\n }\n\n _globalCallbacks[keys] = true;\n };\n\n Mousetrap.init();\n}) (Mousetrap);\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","export default typeof window !== 'undefined' && typeof document !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nlet timeoutDuration = 0;\nfor (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.right - result.left;\n const height =\n sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n\n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthOddness = reference.width % 2 === popper.width % 2;\n const bothOddWidth = reference.width % 2 === 1 && popper.width % 2 === 1;\n const noRound = v => v;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthOddness\n ? Math.round\n : Math.floor;\n const verticalToInteger = !shouldRound ? noRound : Math.round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const flippedVariation =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { createElement, Component } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar styles = {\n base: {\n position: 'absolute',\n userSelect: 'none',\n MsUserSelect: 'none'\n },\n top: {\n width: '100%',\n height: '10px',\n top: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n right: {\n width: '10px',\n height: '100%',\n top: '0px',\n right: '-5px',\n cursor: 'col-resize'\n },\n bottom: {\n width: '100%',\n height: '10px',\n bottom: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n left: {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '-5px',\n cursor: 'col-resize'\n },\n topRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n top: '-10px',\n cursor: 'ne-resize'\n },\n bottomRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n bottom: '-10px',\n cursor: 'se-resize'\n },\n bottomLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n bottom: '-10px',\n cursor: 'sw-resize'\n },\n topLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n top: '-10px',\n cursor: 'nw-resize'\n }\n};\n\nvar Resizer = (function (props) {\n return createElement(\n 'div',\n {\n className: props.className,\n style: _extends({}, styles.base, styles[props.direction], props.replaceStyles || {}),\n onMouseDown: function onMouseDown(e) {\n props.onResizeStart(e, props.direction);\n },\n onTouchStart: function onTouchStart(e) {\n props.onResizeStart(e, props.direction);\n }\n },\n props.children\n );\n});\n\nvar userSelectNone = {\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none'\n};\n\nvar userSelectAuto = {\n userSelect: 'auto',\n MozUserSelect: 'auto',\n WebkitUserSelect: 'auto',\n MsUserSelect: 'auto'\n};\n\nvar clamp = function clamp(n, min, max) {\n return Math.max(Math.min(n, max), min);\n};\nvar snap = function snap(n, size) {\n return Math.round(n / size) * size;\n};\n\nvar findClosestSnap = function findClosestSnap(n, snapArray) {\n return snapArray.reduce(function (prev, curr) {\n return Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev;\n });\n};\n\nvar endsWith = function endsWith(str, searchStr) {\n return str.substr(str.length - searchStr.length, searchStr.length) === searchStr;\n};\n\nvar getStringSize = function getStringSize(n) {\n if (n.toString() === 'auto') return n.toString();\n if (endsWith(n.toString(), 'px')) return n.toString();\n if (endsWith(n.toString(), '%')) return n.toString();\n if (endsWith(n.toString(), 'vh')) return n.toString();\n if (endsWith(n.toString(), 'vw')) return n.toString();\n if (endsWith(n.toString(), 'vmax')) return n.toString();\n if (endsWith(n.toString(), 'vmin')) return n.toString();\n return n + 'px';\n};\n\nvar definedProps = ['style', 'className', 'grid', 'snap', 'bounds', 'size', 'defaultSize', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'lockAspectRatio', 'lockAspectRatioExtraWidth', 'lockAspectRatioExtraHeight', 'enable', 'handleStyles', 'handleClasses', 'handleWrapperStyle', 'handleWrapperClass', 'children', 'onResizeStart', 'onResize', 'onResizeStop', 'handleComponent', 'scale'];\n\nvar baseClassName = '__resizable_base__';\n\nvar Resizable = function (_React$Component) {\n inherits(Resizable, _React$Component);\n\n function Resizable(props) {\n classCallCheck(this, Resizable);\n\n var _this = possibleConstructorReturn(this, (Resizable.__proto__ || Object.getPrototypeOf(Resizable)).call(this, props));\n\n _this.state = {\n isResizing: false,\n resizeCursor: 'auto',\n width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.width,\n height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.height,\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n }\n };\n\n _this.updateExtendsProps(props);\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('mouseup', _this.onMouseUp);\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseleave', _this.onMouseUp);\n window.addEventListener('touchmove', _this.onMouseMove);\n window.addEventListener('touchend', _this.onMouseUp);\n }\n return _this;\n }\n\n createClass(Resizable, [{\n key: 'updateExtendsProps',\n value: function updateExtendsProps(props) {\n this.extendsProps = Object.keys(props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) return acc;\n acc[key] = props[key];\n return acc;\n }, {});\n }\n }, {\n key: 'getParentSize',\n value: function getParentSize() {\n var base = this.base;\n\n if (!base) return { width: window.innerWidth, height: window.innerHeight };\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n var minWidth = base.style.minWidth;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight\n };\n base.style.position = 'absolute';\n if (wrapChanged) this.parentNode.style.flexWrap = wrap;\n base.style.minWidth = minWidth;\n return size;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var size = this.size;\n\n this.setState({\n width: this.state.width || size.width,\n height: this.state.height || size.height\n });\n var parent = this.parentNode;\n if (!(parent instanceof HTMLElement)) return;\n if (this.base) return;\n var element = document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '0';\n element.style.flex = '0';\n if (element.classList) {\n element.classList.add(baseClassName);\n } else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(next) {\n this.updateExtendsProps(next);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', this.onMouseUp);\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseleave', this.onMouseUp);\n window.removeEventListener('touchmove', this.onMouseMove);\n window.removeEventListener('touchend', this.onMouseUp);\n var parent = this.parentNode;\n var base = this.base;\n\n if (!base || !parent) return;\n if (!(parent instanceof HTMLElement) || !(base instanceof Node)) return;\n parent.removeChild(base);\n }\n }\n }, {\n key: 'calculateNewSize',\n value: function calculateNewSize(newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' && this.state.original[kind] === newSize && (typeof propsSize === 'undefined' || propsSize === 'auto') ? 'auto' : newSize;\n }\n }, {\n key: 'onResizeStart',\n value: function onResizeStart(event, direction) {\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n\n // When user click with right button the resize is stuck in resizing mode\n // until users clicks again, dont continue if right click is used.\n // HACK: MouseEvent does not have `which` from flow-bin v0.68.\n if (event.nativeEvent.which === 3) {\n return;\n }\n } else if (event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n this.props.onResizeStart(event, direction, this.resizable);\n }\n\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n\n this.setState({\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height\n },\n isResizing: true,\n resizeCursor: window.getComputedStyle(event.target).cursor,\n direction: direction\n });\n }\n }, {\n key: 'onMouseMove',\n value: function onMouseMove(event) {\n if (!this.state.isResizing) return;\n var clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\n var clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\n var _state = this.state,\n direction = _state.direction,\n original = _state.original,\n width = _state.width,\n height = _state.height;\n var _props = this.props,\n lockAspectRatio = _props.lockAspectRatio,\n lockAspectRatioExtraHeight = _props.lockAspectRatioExtraHeight,\n lockAspectRatioExtraWidth = _props.lockAspectRatioExtraWidth;\n\n var scale = this.props.scale || 1;\n var _props2 = this.props,\n maxWidth = _props2.maxWidth,\n maxHeight = _props2.maxHeight,\n minWidth = _props2.minWidth,\n minHeight = _props2.minHeight;\n\n // TODO: refactor\n\n var parentSize = this.getParentSize();\n if (maxWidth && typeof maxWidth === 'string' && endsWith(maxWidth, '%')) {\n var _ratio = Number(maxWidth.replace('%', '')) / 100;\n maxWidth = parentSize.width * _ratio;\n }\n if (maxHeight && typeof maxHeight === 'string' && endsWith(maxHeight, '%')) {\n var _ratio2 = Number(maxHeight.replace('%', '')) / 100;\n maxHeight = parentSize.height * _ratio2;\n }\n if (minWidth && typeof minWidth === 'string' && endsWith(minWidth, '%')) {\n var _ratio3 = Number(minWidth.replace('%', '')) / 100;\n minWidth = parentSize.width * _ratio3;\n }\n if (minHeight && typeof minHeight === 'string' && endsWith(minHeight, '%')) {\n var _ratio4 = Number(minHeight.replace('%', '')) / 100;\n minHeight = parentSize.height * _ratio4;\n }\n maxWidth = typeof maxWidth === 'undefined' ? undefined : Number(maxWidth);\n maxHeight = typeof maxHeight === 'undefined' ? undefined : Number(maxHeight);\n minWidth = typeof minWidth === 'undefined' ? undefined : Number(minWidth);\n minHeight = typeof minHeight === 'undefined' ? undefined : Number(minHeight);\n\n var ratio = typeof lockAspectRatio === 'number' ? lockAspectRatio : original.width / original.height;\n var newWidth = original.width;\n var newHeight = original.height;\n if (/right/i.test(direction)) {\n newWidth = original.width + (clientX - original.x) / scale;\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/left/i.test(direction)) {\n newWidth = original.width - (clientX - original.x) / scale;\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/bottom/i.test(direction)) {\n newHeight = original.height + (clientY - original.y) / scale;\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n if (/top/i.test(direction)) {\n newHeight = original.height - (clientY - original.y) / scale;\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n\n if (this.props.bounds === 'parent') {\n var parent = this.parentNode;\n if (parent instanceof HTMLElement) {\n var parentRect = parent.getBoundingClientRect();\n var parentLeft = parentRect.left;\n var parentTop = parentRect.top;\n\n var _resizable$getBoundin = this.resizable.getBoundingClientRect(),\n _left = _resizable$getBoundin.left,\n _top = _resizable$getBoundin.top;\n\n var boundWidth = parent.offsetWidth + (parentLeft - _left);\n var boundHeight = parent.offsetHeight + (parentTop - _top);\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n } else if (this.props.bounds === 'window') {\n if (typeof window !== 'undefined') {\n var _resizable$getBoundin2 = this.resizable.getBoundingClientRect(),\n _left2 = _resizable$getBoundin2.left,\n _top2 = _resizable$getBoundin2.top;\n\n var _boundWidth = window.innerWidth - _left2;\n var _boundHeight = window.innerHeight - _top2;\n maxWidth = maxWidth && maxWidth < _boundWidth ? maxWidth : _boundWidth;\n maxHeight = maxHeight && maxHeight < _boundHeight ? maxHeight : _boundHeight;\n }\n } else if (this.props.bounds instanceof HTMLElement) {\n var targetRect = this.props.bounds.getBoundingClientRect();\n var targetLeft = targetRect.left;\n var targetTop = targetRect.top;\n\n var _resizable$getBoundin3 = this.resizable.getBoundingClientRect(),\n _left3 = _resizable$getBoundin3.left,\n _top3 = _resizable$getBoundin3.top;\n\n if (!(this.props.bounds instanceof HTMLElement)) return;\n var _boundWidth2 = this.props.bounds.offsetWidth + (targetLeft - _left3);\n var _boundHeight2 = this.props.bounds.offsetHeight + (targetTop - _top3);\n maxWidth = maxWidth && maxWidth < _boundWidth2 ? maxWidth : _boundWidth2;\n maxHeight = maxHeight && maxHeight < _boundHeight2 ? maxHeight : _boundHeight2;\n }\n\n var computedMinWidth = typeof minWidth === 'undefined' ? 10 : minWidth;\n var computedMaxWidth = typeof maxWidth === 'undefined' || maxWidth < 0 ? newWidth : maxWidth;\n var computedMinHeight = typeof minHeight === 'undefined' ? 10 : minHeight;\n var computedMaxHeight = typeof maxHeight === 'undefined' || maxHeight < 0 ? newHeight : maxHeight;\n\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMaxWidth = (computedMaxHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMinHeight = (computedMinWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var extraMaxHeight = (computedMaxWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n } else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n if (this.props.grid) {\n newWidth = snap(newWidth, this.props.grid[0]);\n }\n if (this.props.grid) {\n newHeight = snap(newHeight, this.props.grid[1]);\n }\n\n if (this.props.snap && this.props.snap.x) {\n newWidth = findClosestSnap(newWidth, this.props.snap.x);\n }\n if (this.props.snap && this.props.snap.y) {\n newHeight = findClosestSnap(newHeight, this.props.snap.y);\n }\n\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height\n };\n\n if (width && typeof width === 'string' && endsWith(width, '%')) {\n var percent = newWidth / parentSize.width * 100;\n newWidth = percent + '%';\n }\n\n if (height && typeof height === 'string' && endsWith(height, '%')) {\n var _percent = newHeight / parentSize.height * 100;\n newHeight = _percent + '%';\n }\n\n this.setState({\n width: this.calculateNewSize(newWidth, 'width'),\n height: this.calculateNewSize(newHeight, 'height')\n });\n\n if (this.props.onResize) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n }\n }, {\n key: 'onMouseUp',\n value: function onMouseUp(event) {\n var _state2 = this.state,\n isResizing = _state2.isResizing,\n direction = _state2.direction,\n original = _state2.original;\n\n if (!isResizing) return;\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState(this.props.size);\n }\n this.setState({ isResizing: false, resizeCursor: 'auto' });\n }\n }, {\n key: 'updateSize',\n value: function updateSize(size) {\n this.setState({ width: size.width, height: size.height });\n }\n }, {\n key: 'renderResizer',\n value: function renderResizer() {\n var _this2 = this;\n\n var _props3 = this.props,\n enable = _props3.enable,\n handleStyles = _props3.handleStyles,\n handleClasses = _props3.handleClasses,\n handleWrapperStyle = _props3.handleWrapperStyle,\n handleWrapperClass = _props3.handleWrapperClass,\n handleComponent = _props3.handleComponent;\n\n if (!enable) return null;\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return createElement(\n Resizer,\n {\n key: dir,\n direction: dir,\n onResizeStart: _this2.onResizeStart,\n replaceStyles: handleStyles && handleStyles[dir],\n className: handleClasses && handleClasses[dir]\n },\n handleComponent && handleComponent[dir] ? createElement(handleComponent[dir]) : null\n );\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return createElement(\n 'span',\n { className: handleWrapperClass, style: handleWrapperStyle },\n resizers\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var userSelect = this.state.isResizing ? userSelectNone : userSelectAuto;\n return createElement(\n 'div',\n _extends({\n ref: function ref(c) {\n if (c) {\n _this3.resizable = c;\n }\n },\n style: _extends({\n position: 'relative'\n }, userSelect, this.props.style, this.sizeStyle, {\n maxWidth: this.props.maxWidth,\n maxHeight: this.props.maxHeight,\n minWidth: this.props.minWidth,\n minHeight: this.props.minHeight,\n boxSizing: 'border-box'\n }),\n className: this.props.className\n }, this.extendsProps),\n this.state.isResizing && createElement('div', {\n style: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: '' + (this.state.resizeCursor || 'auto'),\n opacity: '0',\n position: 'fixed',\n zIndex: '9999',\n top: '0',\n left: '0',\n bottom: '0',\n right: '0'\n }\n }),\n this.props.children,\n this.renderResizer()\n );\n }\n }, {\n key: 'parentNode',\n get: function get$$1() {\n return this.resizable.parentNode;\n }\n }, {\n key: 'propsSize',\n get: function get$$1() {\n return this.props.size || this.props.defaultSize;\n }\n }, {\n key: 'base',\n get: function get$$1() {\n var parent = this.parentNode;\n if (!parent) return undefined;\n var children = [].slice.call(parent.children);\n for (var i = 0; i < children.length; i += 1) {\n var n = children[i];\n if (n instanceof HTMLElement) {\n if (n.classList.contains(baseClassName)) {\n return n;\n }\n }\n }\n return undefined;\n }\n }, {\n key: 'size',\n get: function get$$1() {\n var width = 0;\n var height = 0;\n if (typeof window !== 'undefined') {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n }\n }, {\n key: 'sizeStyle',\n get: function get$$1() {\n var _this4 = this;\n\n var size = this.props.size;\n\n var getSize = function getSize(key) {\n if (typeof _this4.state[key] === 'undefined' || _this4.state[key] === 'auto') return 'auto';\n if (_this4.propsSize && _this4.propsSize[key] && endsWith(_this4.propsSize[key].toString(), '%')) {\n if (endsWith(_this4.state[key].toString(), '%')) return _this4.state[key].toString();\n var parentSize = _this4.getParentSize();\n var value = Number(_this4.state[key].toString().replace('px', ''));\n var percent = value / parentSize[key] * 100;\n return percent + '%';\n }\n return getStringSize(_this4.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing ? getStringSize(size.width) : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing ? getStringSize(size.height) : getSize('height');\n return { width: width, height: height };\n }\n }]);\n return Resizable;\n}(Component);\n\nResizable.defaultProps = {\n onResizeStart: function onResizeStart() {},\n onResize: function onResize() {},\n onResizeStop: function onResizeStop() {},\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true\n },\n style: {},\n grid: [1, 1],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0,\n scale: 1\n};\n\nexport default Resizable;\n","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hoistNonReactStatic = require('hoist-non-react-statics');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nmodule.exports = function enhanceWithClickOutside(WrappedComponent) {\n var componentName = WrappedComponent.displayName || WrappedComponent.name;\n\n var EnhancedComponent = function (_React$Component) {\n _inherits(EnhancedComponent, _React$Component);\n\n function EnhancedComponent(props) {\n _classCallCheck(this, EnhancedComponent);\n\n var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));\n\n _this.handleClickOutside = _this.handleClickOutside.bind(_this);\n return _this;\n }\n\n _createClass(EnhancedComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'handleClickOutside',\n value: function handleClickOutside(e) {\n var domNode = this.__domNode;\n if ((!domNode || !domNode.contains(e.target)) && typeof this.__wrappedComponent.handleClickOutside === 'function') {\n this.__wrappedComponent.handleClickOutside(e);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return React.createElement(WrappedComponent, _extends({}, this.props, {\n ref: function ref(c) {\n _this2.__wrappedComponent = c;\n _this2.__domNode = ReactDOM.findDOMNode(c);\n }\n }));\n }\n }]);\n\n return EnhancedComponent;\n }(React.Component);\n\n EnhancedComponent.displayName = 'Wrapped' + componentName;\n\n return hoistNonReactStatic(EnhancedComponent, WrappedComponent);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlphaPicker = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _AlphaPointer = require('./AlphaPointer');\n\nvar _AlphaPointer2 = _interopRequireDefault(_AlphaPointer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlphaPicker = exports.AlphaPicker = function AlphaPicker(_ref) {\n var rgb = _ref.rgb,\n hsl = _ref.hsl,\n width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n direction = _ref.direction,\n style = _ref.style,\n renderers = _ref.renderers,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n alpha: {\n radius: '2px',\n style: style\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'alpha-picker ' + className },\n _react2.default.createElement(_common.Alpha, _extends({}, styles.alpha, {\n rgb: rgb,\n hsl: hsl,\n pointer: pointer,\n renderers: renderers,\n onChange: onChange,\n direction: direction\n }))\n );\n};\n\nAlphaPicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: _AlphaPointer2.default\n};\n\nexports.default = (0, _common.ColorWrap)(AlphaPicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlphaPointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlphaPointer = exports.AlphaPointer = function AlphaPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = AlphaPointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Block = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nvar _BlockSwatches = require('./BlockSwatches');\n\nvar _BlockSwatches2 = _interopRequireDefault(_BlockSwatches);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Block = exports.Block = function Block(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var transparent = hex === 'transparent';\n var handleChange = function handleChange(hexCode, e) {\n _color2.default.isValidHex(hexCode) && onChange({\n hex: hexCode,\n source: 'hex'\n }, e);\n };\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n boxShadow: '0 1px rgba(0,0,0,.1)',\n borderRadius: '6px',\n position: 'relative'\n },\n head: {\n height: '110px',\n background: hex,\n borderRadius: '6px 6px 0 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative'\n },\n body: {\n padding: '10px'\n },\n label: {\n fontSize: '18px',\n color: _color2.default.getContrastingColor(hex),\n position: 'relative'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 10px 10px 10px',\n borderColor: 'transparent transparent ' + hex + ' transparent',\n position: 'absolute',\n top: '-10px',\n left: '50%',\n marginLeft: '-10px'\n },\n input: {\n width: '100%',\n fontSize: '12px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '22px',\n boxShadow: 'inset 0 0 0 1px #ddd',\n borderRadius: '4px',\n padding: '0 7px',\n boxSizing: 'border-box'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n }\n }\n }, { 'hide-triangle': triangle === 'hide' });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'block-picker ' + className },\n _react2.default.createElement('div', { style: styles.triangle }),\n _react2.default.createElement(\n 'div',\n { style: styles.head },\n transparent && _react2.default.createElement(_common.Checkboard, { borderRadius: '6px 6px 0 0' }),\n _react2.default.createElement(\n 'div',\n { style: styles.label },\n hex\n )\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n _react2.default.createElement(_BlockSwatches2.default, { colors: colors, onClick: handleChange, onSwatchHover: onSwatchHover }),\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input },\n value: hex,\n onChange: handleChange\n })\n )\n );\n};\n\nBlock.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n triangle: _propTypes2.default.oneOf(['top', 'hide'])\n};\n\nBlock.defaultProps = {\n width: 170,\n colors: ['#D9E3F0', '#F47373', '#697689', '#37D67A', '#2CCCE4', '#555555', '#dce775', '#ff8a65', '#ba68c8'],\n triangle: 'top'\n};\n\nexports.default = (0, _common.ColorWrap)(Block);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BlockSwatches = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BlockSwatches = exports.BlockSwatches = function BlockSwatches(_ref) {\n var colors = _ref.colors,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatches: {\n marginRight: '-10px'\n },\n swatch: {\n width: '22px',\n height: '22px',\n float: 'left',\n marginRight: '10px',\n marginBottom: '10px',\n borderRadius: '4px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_common.Swatch, {\n key: c,\n color: c,\n style: styles.swatch,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n _react2.default.createElement('div', { style: styles.clear })\n );\n};\n\nexports.default = BlockSwatches;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Chrome = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _ChromeFields = require('./ChromeFields');\n\nvar _ChromeFields2 = _interopRequireDefault(_ChromeFields);\n\nvar _ChromePointer = require('./ChromePointer');\n\nvar _ChromePointer2 = _interopRequireDefault(_ChromePointer);\n\nvar _ChromePointerCircle = require('./ChromePointerCircle');\n\nvar _ChromePointerCircle2 = _interopRequireDefault(_ChromePointerCircle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Chrome = exports.Chrome = function Chrome(_ref) {\n var onChange = _ref.onChange,\n disableAlpha = _ref.disableAlpha,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsv = _ref.hsv,\n hex = _ref.hex,\n renderers = _ref.renderers,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n background: '#fff',\n borderRadius: '2px',\n boxShadow: '0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)',\n boxSizing: 'initial',\n width: '225px',\n fontFamily: 'Menlo'\n },\n saturation: {\n width: '100%',\n paddingBottom: '55%',\n position: 'relative',\n borderRadius: '2px 2px 0 0',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '2px 2px 0 0'\n },\n body: {\n padding: '16px 16px 12px'\n },\n controls: {\n display: 'flex'\n },\n color: {\n width: '32px'\n },\n swatch: {\n marginTop: '6px',\n width: '16px',\n height: '16px',\n borderRadius: '8px',\n position: 'relative',\n overflow: 'hidden'\n },\n active: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '8px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.1)',\n background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + rgb.a + ')',\n zIndex: '2'\n },\n toggles: {\n flex: '1'\n },\n hue: {\n height: '10px',\n position: 'relative',\n marginBottom: '8px'\n },\n Hue: {\n radius: '2px'\n },\n alpha: {\n height: '10px',\n position: 'relative'\n },\n Alpha: {\n radius: '2px'\n }\n },\n 'disableAlpha': {\n color: {\n width: '22px'\n },\n alpha: {\n display: 'none'\n },\n hue: {\n marginBottom: '0px'\n },\n swatch: {\n width: '10px',\n height: '10px',\n marginTop: '0px'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'chrome-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.saturation },\n _react2.default.createElement(_common.Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n pointer: _ChromePointerCircle2.default,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n _react2.default.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.color },\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement('div', { style: styles.active }),\n _react2.default.createElement(_common.Checkboard, { renderers: renderers })\n )\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.toggles },\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: _ChromePointer2.default,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n pointer: _ChromePointer2.default,\n renderers: renderers,\n onChange: onChange\n })\n )\n )\n ),\n _react2.default.createElement(_ChromeFields2.default, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n onChange: onChange,\n disableAlpha: disableAlpha\n })\n )\n );\n};\n\nChrome.propTypes = {\n disableAlpha: _propTypes2.default.bool\n};\n\nChrome.defaultProps = {\n disableAlpha: false\n};\n\nexports.default = (0, _common.ColorWrap)(Chrome);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChromeFields = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable react/no-did-mount-set-state, no-param-reassign */\n\nvar ChromeFields = exports.ChromeFields = function (_React$Component) {\n _inherits(ChromeFields, _React$Component);\n\n function ChromeFields() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ChromeFields);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ChromeFields.__proto__ || Object.getPrototypeOf(ChromeFields)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n view: ''\n }, _this.toggleViews = function () {\n if (_this.state.view === 'hex') {\n _this.setState({ view: 'rgb' });\n } else if (_this.state.view === 'rgb') {\n _this.setState({ view: 'hsl' });\n } else if (_this.state.view === 'hsl') {\n if (_this.props.hsl.a === 1) {\n _this.setState({ view: 'hex' });\n } else {\n _this.setState({ view: 'rgb' });\n }\n }\n }, _this.handleChange = function (data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && _this.props.onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n _this.props.onChange({\n r: data.r || _this.props.rgb.r,\n g: data.g || _this.props.rgb.g,\n b: data.b || _this.props.rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 1) {\n data.a = 1;\n }\n\n _this.props.onChange({\n h: _this.props.hsl.h,\n s: _this.props.hsl.s,\n l: _this.props.hsl.l,\n a: Math.round(data.a * 100) / 100,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.l) {\n _this.props.onChange({\n h: data.h || _this.props.hsl.h,\n s: Number(data.s && data.s || _this.props.hsl.s),\n l: Number(data.l && data.l || _this.props.hsl.l),\n source: 'hsl'\n }, e);\n }\n }, _this.showHighlight = function (e) {\n e.target.style.background = '#eee';\n }, _this.hideHighlight = function (e) {\n e.target.style.background = 'transparent';\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ChromeFields, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.hsl.a === 1 && this.state.view !== 'hex') {\n this.setState({ view: 'hex' });\n } else if (this.state.view !== 'rgb' && this.state.view !== 'hsl') {\n this.setState({ view: 'rgb' });\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.hsl.a !== 1 && this.state.view === 'hex') {\n this.setState({ view: 'rgb' });\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n wrap: {\n paddingTop: '16px',\n display: 'flex'\n },\n fields: {\n flex: '1',\n display: 'flex',\n marginLeft: '-6px'\n },\n field: {\n paddingLeft: '6px',\n width: '100%'\n },\n alpha: {\n paddingLeft: '6px',\n width: '100%'\n },\n toggle: {\n width: '32px',\n textAlign: 'right',\n position: 'relative'\n },\n icon: {\n marginRight: '-4px',\n marginTop: '12px',\n cursor: 'pointer',\n position: 'relative'\n },\n iconHighlight: {\n position: 'absolute',\n width: '24px',\n height: '28px',\n background: '#eee',\n borderRadius: '4px',\n top: '10px',\n left: '12px',\n display: 'none'\n },\n input: {\n fontSize: '11px',\n color: '#333',\n width: '100%',\n borderRadius: '2px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #dadada',\n height: '21px',\n textAlign: 'center'\n },\n label: {\n textTransform: 'uppercase',\n fontSize: '11px',\n lineHeight: '11px',\n color: '#969696',\n textAlign: 'center',\n display: 'block',\n marginTop: '12px'\n },\n svg: {\n width: '24px',\n height: '24px',\n border: '1px transparent solid',\n borderRadius: '5px'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, this.props, this.state);\n\n var fields = void 0;\n if (this.state.view === 'hex') {\n fields = _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex', value: this.props.hex,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'rgb') {\n fields = _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: this.props.rgb.r,\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: this.props.rgb.g,\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: this.props.rgb.b,\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.rgb.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'hsl') {\n fields = _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'h',\n value: Math.round(this.props.hsl.h),\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 's',\n value: Math.round(this.props.hsl.s * 100) + '%',\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'l',\n value: Math.round(this.props.hsl.l * 100) + '%',\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.hsl.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { style: styles.wrap, className: 'flexbox-fix' },\n fields,\n _react2.default.createElement(\n 'div',\n { style: styles.toggle },\n _react2.default.createElement(\n 'div',\n { style: styles.icon, onClick: this.toggleViews, ref: function ref(icon) {\n return _this2.icon = icon;\n } },\n _react2.default.createElement(\n 'svg',\n {\n style: styles.svg,\n viewBox: '0 0 24 24',\n onMouseOver: this.showHighlight,\n onMouseEnter: this.showHighlight,\n onMouseOut: this.hideHighlight\n },\n _react2.default.createElement('path', {\n ref: function ref(iconUp) {\n return _this2.iconUp = iconUp;\n },\n fill: '#333',\n d: 'M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z'\n }),\n _react2.default.createElement('path', {\n ref: function ref(iconDown) {\n return _this2.iconDown = iconDown;\n },\n fill: '#333',\n d: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z'\n })\n )\n )\n )\n );\n }\n }]);\n\n return ChromeFields;\n}(_react2.default.Component);\n\nexports.default = ChromeFields;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChromePointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ChromePointer = exports.ChromePointer = function ChromePointer() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n transform: 'translate(-6px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = ChromePointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChromePointerCircle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ChromePointerCircle = exports.ChromePointerCircle = function ChromePointerCircle() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = ChromePointerCircle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Circle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _materialColors = require('material-colors');\n\nvar material = _interopRequireWildcard(_materialColors);\n\nvar _common = require('../common');\n\nvar _CircleSwatch = require('./CircleSwatch');\n\nvar _CircleSwatch2 = _interopRequireDefault(_CircleSwatch);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Circle = exports.Circle = function Circle(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n circleSize = _ref.circleSize,\n circleSpacing = _ref.circleSpacing,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n display: 'flex',\n flexWrap: 'wrap',\n marginRight: -circleSpacing,\n marginBottom: -circleSpacing\n }\n }\n });\n\n var handleChange = function handleChange(hexCode, e) {\n return onChange({ hex: hexCode, source: 'hex' }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'circle-picker ' + className },\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_CircleSwatch2.default, {\n key: c,\n color: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover,\n active: hex === c.toLowerCase(),\n circleSize: circleSize,\n circleSpacing: circleSpacing\n });\n })\n );\n};\n\nCircle.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n circleSize: _propTypes2.default.number,\n circleSpacing: _propTypes2.default.number\n};\n\nCircle.defaultProps = {\n width: 252,\n circleSize: 28,\n circleSpacing: 14,\n colors: [material.red['500'], material.pink['500'], material.purple['500'], material.deepPurple['500'], material.indigo['500'], material.blue['500'], material.lightBlue['500'], material.cyan['500'], material.teal['500'], material.green['500'], material.lightGreen['500'], material.lime['500'], material.yellow['500'], material.amber['500'], material.orange['500'], material.deepOrange['500'], material.brown['500'], material.blueGrey['500']]\n};\n\nexports.default = (0, _common.ColorWrap)(Circle);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CircleSwatch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CircleSwatch = exports.CircleSwatch = function CircleSwatch(_ref) {\n var color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n hover = _ref.hover,\n active = _ref.active,\n circleSize = _ref.circleSize,\n circleSpacing = _ref.circleSpacing;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatch: {\n width: circleSize,\n height: circleSize,\n marginRight: circleSpacing,\n marginBottom: circleSpacing,\n transform: 'scale(1)',\n transition: '100ms transform ease'\n },\n Swatch: {\n borderRadius: '50%',\n background: 'transparent',\n boxShadow: 'inset 0 0 0 ' + circleSize / 2 + 'px ' + color,\n transition: '100ms box-shadow ease'\n }\n },\n 'hover': {\n swatch: {\n transform: 'scale(1.2)'\n }\n },\n 'active': {\n Swatch: {\n boxShadow: 'inset 0 0 0 3px ' + color\n }\n }\n }, { hover: hover, active: active });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_common.Swatch, {\n style: styles.Swatch,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: styles.Swatch.boxShadow + ', 0 0 5px ' + color }\n })\n );\n};\n\nCircleSwatch.defaultProps = {\n circleSize: 28,\n circleSpacing: 14\n};\n\nexports.default = (0, _reactcss.handleHover)(CircleSwatch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Alpha = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _alpha = require('../../helpers/alpha');\n\nvar alpha = _interopRequireWildcard(_alpha);\n\nvar _Checkboard = require('./Checkboard');\n\nvar _Checkboard2 = _interopRequireDefault(_Checkboard);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Alpha = exports.Alpha = function (_ref) {\n _inherits(Alpha, _ref);\n\n function Alpha() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Alpha);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Alpha.__proto__ || Object.getPrototypeOf(Alpha)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e, skip) {\n var change = alpha.calculateChange(e, skip, _this.props, _this.container);\n change && _this.props.onChange && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e, true);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleChange);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Alpha, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var rgb = this.props.rgb;\n var styles = (0, _reactcss2.default)({\n 'default': {\n alpha: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n checkboard: {\n absolute: '0px 0px 0px 0px',\n overflow: 'hidden',\n borderRadius: this.props.radius\n },\n gradient: {\n absolute: '0px 0px 0px 0px',\n background: 'linear-gradient(to right, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n container: {\n position: 'relative',\n height: '100%',\n margin: '0 3px'\n },\n pointer: {\n position: 'absolute',\n left: rgb.a * 100 + '%'\n },\n slider: {\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n marginTop: '1px',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n gradient: {\n background: 'linear-gradient(to bottom, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)'\n },\n pointer: {\n left: 0,\n top: rgb.a * 100 + '%'\n }\n },\n 'overwrite': _extends({}, this.props.style)\n }, {\n vertical: this.props.direction === 'vertical',\n overwrite: true\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(\n 'div',\n { style: styles.checkboard },\n _react2.default.createElement(_Checkboard2.default, { renderers: this.props.renderers })\n ),\n _react2.default.createElement('div', { style: styles.gradient }),\n _react2.default.createElement(\n 'div',\n {\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Alpha;\n}(_react.PureComponent || _react.Component);\n\nexports.default = Alpha;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Checkboard = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _checkboard = require('../../helpers/checkboard');\n\nvar checkboard = _interopRequireWildcard(_checkboard);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Checkboard = exports.Checkboard = function Checkboard(_ref) {\n var white = _ref.white,\n grey = _ref.grey,\n size = _ref.size,\n renderers = _ref.renderers,\n borderRadius = _ref.borderRadius,\n boxShadow = _ref.boxShadow;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n grid: {\n borderRadius: borderRadius,\n boxShadow: boxShadow,\n absolute: '0px 0px 0px 0px',\n background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.grid });\n};\n\nCheckboard.defaultProps = {\n size: 8,\n white: 'transparent',\n grey: 'rgba(0,0,0,.08)',\n renderers: {}\n};\n\nexports.default = Checkboard;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorWrap = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _debounce = require('lodash/debounce');\n\nvar _debounce2 = _interopRequireDefault(_debounce);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorWrap = exports.ColorWrap = function ColorWrap(Picker) {\n var ColorPicker = function (_ref) {\n _inherits(ColorPicker, _ref);\n\n function ColorPicker(props) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));\n\n _this.handleChange = function (data, event) {\n var isValidColor = _color2.default.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = _color2.default.toState(data, data.h || _this.state.oldHue);\n _this.setState(colors);\n _this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);\n _this.props.onChange && _this.props.onChange(colors, event);\n }\n };\n\n _this.handleSwatchHover = function (data, event) {\n var isValidColor = _color2.default.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = _color2.default.toState(data, data.h || _this.state.oldHue);\n _this.setState(colors);\n _this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);\n }\n };\n\n _this.state = _extends({}, _color2.default.toState(props.color, 0));\n\n _this.debounce = (0, _debounce2.default)(function (fn, data, event) {\n fn(data, event);\n }, 100);\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n this.setState(_extends({}, _color2.default.toState(nextProps.color, this.state.oldHue)));\n }\n }, {\n key: 'render',\n value: function render() {\n var optionalEvents = {};\n if (this.props.onSwatchHover) {\n optionalEvents.onSwatchHover = this.handleSwatchHover;\n }\n\n return _react2.default.createElement(Picker, _extends({}, this.props, this.state, {\n onChange: this.handleChange\n }, optionalEvents));\n }\n }]);\n\n return ColorPicker;\n }(_react.PureComponent || _react.Component);\n\n ColorPicker.propTypes = _extends({}, Picker.propTypes);\n\n ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {\n color: {\n h: 250,\n s: 0.50,\n l: 0.20,\n a: 1\n }\n });\n\n return ColorPicker;\n};\n\nexports.default = ColorWrap;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EditableInput = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EditableInput = exports.EditableInput = function (_ref) {\n _inherits(EditableInput, _ref);\n\n function EditableInput(props) {\n _classCallCheck(this, EditableInput);\n\n var _this = _possibleConstructorReturn(this, (EditableInput.__proto__ || Object.getPrototypeOf(EditableInput)).call(this));\n\n _this.handleBlur = function () {\n if (_this.state.blurValue) {\n _this.setState({ value: _this.state.blurValue, blurValue: null });\n }\n };\n\n _this.handleChange = function (e) {\n if (_this.props.label) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, e.target.value), e);\n } else {\n _this.props.onChange && _this.props.onChange(e.target.value, e);\n }\n\n _this.setState({ value: e.target.value });\n };\n\n _this.handleKeyDown = function (e) {\n // In case `e.target.value` is a percentage remove the `%` character\n // and update accordingly with a percentage\n // https://github.com/casesandberg/react-color/issues/383\n var stringValue = String(e.target.value);\n var isPercentage = stringValue.indexOf('%') > -1;\n var number = Number(stringValue.replace(/%/g, ''));\n if (!isNaN(number)) {\n var amount = _this.props.arrowOffset || 1;\n\n // Up\n if (e.keyCode === 38) {\n if (_this.props.label !== null) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, number + amount), e);\n } else {\n _this.props.onChange && _this.props.onChange(number + amount, e);\n }\n\n if (isPercentage) {\n _this.setState({ value: number + amount + '%' });\n } else {\n _this.setState({ value: number + amount });\n }\n }\n\n // Down\n if (e.keyCode === 40) {\n if (_this.props.label !== null) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, number - amount), e);\n } else {\n _this.props.onChange && _this.props.onChange(number - amount, e);\n }\n\n if (isPercentage) {\n _this.setState({ value: number - amount + '%' });\n } else {\n _this.setState({ value: number - amount });\n }\n }\n }\n };\n\n _this.handleDrag = function (e) {\n if (_this.props.dragLabel) {\n var newValue = Math.round(_this.props.value + e.movementX);\n if (newValue >= 0 && newValue <= _this.props.dragMax) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, newValue), e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n if (_this.props.dragLabel) {\n e.preventDefault();\n _this.handleDrag(e);\n window.addEventListener('mousemove', _this.handleDrag);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleDrag);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.state = {\n value: String(props.value).toUpperCase(),\n blurValue: String(props.value).toUpperCase()\n };\n return _this;\n }\n\n _createClass(EditableInput, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var input = this.input;\n if (nextProps.value !== this.state.value) {\n if (input === document.activeElement) {\n this.setState({ blurValue: String(nextProps.value).toUpperCase() });\n } else {\n this.setState({ value: String(nextProps.value).toUpperCase(), blurValue: !this.state.blurValue && String(nextProps.value).toUpperCase() });\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n wrap: {\n position: 'relative'\n }\n },\n 'user-override': {\n wrap: this.props.style && this.props.style.wrap ? this.props.style.wrap : {},\n input: this.props.style && this.props.style.input ? this.props.style.input : {},\n label: this.props.style && this.props.style.label ? this.props.style.label : {}\n },\n 'dragLabel-true': {\n label: {\n cursor: 'ew-resize'\n }\n }\n }, {\n 'user-override': true\n }, this.props);\n\n return _react2.default.createElement(\n 'div',\n { style: styles.wrap },\n _react2.default.createElement('input', {\n style: styles.input,\n ref: function ref(input) {\n return _this2.input = input;\n },\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n placeholder: this.props.placeholder,\n spellCheck: 'false'\n }),\n this.props.label && !this.props.hideLabel ? _react2.default.createElement(\n 'span',\n { style: styles.label, onMouseDown: this.handleMouseDown },\n this.props.label\n ) : null\n );\n }\n }]);\n\n return EditableInput;\n}(_react.PureComponent || _react.Component);\n\nexports.default = EditableInput;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hue = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _hue = require('../../helpers/hue');\n\nvar hue = _interopRequireWildcard(_hue);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Hue = exports.Hue = function (_ref) {\n _inherits(Hue, _ref);\n\n function Hue() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hue);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Hue.__proto__ || Object.getPrototypeOf(Hue)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e, skip) {\n var change = hue.calculateChange(e, skip, _this.props, _this.container);\n change && _this.props.onChange && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e, true);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Hue, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props$direction = this.props.direction,\n direction = _props$direction === undefined ? 'horizontal' : _props$direction;\n\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n hue: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius,\n boxShadow: this.props.shadow\n },\n container: {\n padding: '0 2px',\n position: 'relative',\n height: '100%',\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n left: this.props.hsl.h * 100 / 360 + '%'\n },\n slider: {\n marginTop: '1px',\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n pointer: {\n left: '0px',\n top: -(this.props.hsl.h * 100 / 360) + 100 + '%'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(\n 'div',\n {\n className: 'hue-' + direction,\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n _react2.default.createElement(\n 'style',\n null,\n '\\n .hue-horizontal {\\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n\\n .hue-vertical {\\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n '\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Hue;\n}(_react.PureComponent || _react.Component);\n\nexports.default = Hue;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Raised = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Raised = exports.Raised = function Raised(_ref) {\n var zDepth = _ref.zDepth,\n radius = _ref.radius,\n background = _ref.background,\n children = _ref.children;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n wrap: {\n position: 'relative',\n display: 'inline-block'\n },\n content: {\n position: 'relative'\n },\n bg: {\n absolute: '0px 0px 0px 0px',\n boxShadow: '0 ' + zDepth + 'px ' + zDepth * 4 + 'px rgba(0,0,0,.24)',\n borderRadius: radius,\n background: background\n }\n },\n 'zDepth-0': {\n bg: {\n boxShadow: 'none'\n }\n },\n\n 'zDepth-1': {\n bg: {\n boxShadow: '0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)'\n }\n },\n 'zDepth-2': {\n bg: {\n boxShadow: '0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)'\n }\n },\n 'zDepth-3': {\n bg: {\n boxShadow: '0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)'\n }\n },\n 'zDepth-4': {\n bg: {\n boxShadow: '0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)'\n }\n },\n 'zDepth-5': {\n bg: {\n boxShadow: '0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)'\n }\n },\n 'square': {\n bg: {\n borderRadius: '0'\n }\n },\n 'circle': {\n bg: {\n borderRadius: '50%'\n }\n }\n }, { 'zDepth-1': zDepth === 1 });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.wrap },\n _react2.default.createElement('div', { style: styles.bg }),\n _react2.default.createElement(\n 'div',\n { style: styles.content },\n children\n )\n );\n};\n\nRaised.propTypes = {\n background: _propTypes2.default.string,\n zDepth: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5]),\n radius: _propTypes2.default.number\n};\n\nRaised.defaultProps = {\n background: '#fff',\n zDepth: 1,\n radius: 2\n};\n\nexports.default = Raised;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Saturation = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _throttle = require('lodash/throttle');\n\nvar _throttle2 = _interopRequireDefault(_throttle);\n\nvar _saturation = require('../../helpers/saturation');\n\nvar saturation = _interopRequireWildcard(_saturation);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Saturation = exports.Saturation = function (_ref) {\n _inherits(Saturation, _ref);\n\n function Saturation(props) {\n _classCallCheck(this, Saturation);\n\n var _this = _possibleConstructorReturn(this, (Saturation.__proto__ || Object.getPrototypeOf(Saturation)).call(this, props));\n\n _this.handleChange = function (e, skip) {\n _this.props.onChange && _this.throttle(_this.props.onChange, saturation.calculateChange(e, skip, _this.props, _this.container), e);\n };\n\n _this.handleMouseDown = function (e) {\n _this.handleChange(e, true);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.throttle = (0, _throttle2.default)(function (fn, data, e) {\n fn(data, e);\n }, 50);\n return _this;\n }\n\n _createClass(Saturation, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _ref2 = this.props.style || {},\n color = _ref2.color,\n white = _ref2.white,\n black = _ref2.black,\n pointer = _ref2.pointer,\n circle = _ref2.circle;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n color: {\n absolute: '0px 0px 0px 0px',\n background: 'hsl(' + this.props.hsl.h + ',100%, 50%)',\n borderRadius: this.props.radius\n },\n white: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n black: {\n absolute: '0px 0px 0px 0px',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n top: -(this.props.hsv.v * 100) + 100 + '%',\n left: this.props.hsv.s * 100 + '%',\n cursor: 'default'\n },\n circle: {\n width: '4px',\n height: '4px',\n boxShadow: '0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n 0 0 1px 2px rgba(0,0,0,.4)',\n borderRadius: '50%',\n cursor: 'hand',\n transform: 'translate(-2px, -2px)'\n }\n },\n 'custom': {\n color: color,\n white: white,\n black: black,\n pointer: pointer,\n circle: circle\n }\n }, { 'custom': !!this.props.style });\n\n return _react2.default.createElement(\n 'div',\n {\n style: styles.color,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n _react2.default.createElement(\n 'style',\n null,\n '\\n .saturation-white {\\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n }\\n .saturation-black {\\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n }\\n '\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.white, className: 'saturation-white' },\n _react2.default.createElement('div', { style: styles.black, className: 'saturation-black' }),\n _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.circle })\n )\n )\n );\n }\n }]);\n\n return Saturation;\n}(_react.PureComponent || _react.Component);\n\nexports.default = Saturation;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Swatch = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _interaction = require('../../helpers/interaction');\n\nvar _ = require('./');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ENTER = 13;\n\nvar Swatch = exports.Swatch = function Swatch(_ref) {\n var color = _ref.color,\n style = _ref.style,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onHover = _ref.onHover,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? color : _ref$title,\n children = _ref.children,\n focus = _ref.focus,\n _ref$focusStyle = _ref.focusStyle,\n focusStyle = _ref$focusStyle === undefined ? {} : _ref$focusStyle;\n\n var transparent = color === 'transparent';\n var styles = (0, _reactcss2.default)({\n default: {\n swatch: _extends({\n background: color,\n height: '100%',\n width: '100%',\n cursor: 'pointer',\n position: 'relative',\n outline: 'none'\n }, style, focus ? focusStyle : {})\n }\n });\n\n var handleClick = function handleClick(e) {\n return onClick(color, e);\n };\n var handleKeyDown = function handleKeyDown(e) {\n return e.keyCode === ENTER && onClick(color, e);\n };\n var handleHover = function handleHover(e) {\n return onHover(color, e);\n };\n\n var optionalEvents = {};\n if (onHover) {\n optionalEvents.onMouseOver = handleHover;\n }\n\n return _react2.default.createElement(\n 'div',\n _extends({\n style: styles.swatch,\n onClick: handleClick,\n title: title,\n tabIndex: 0,\n onKeyDown: handleKeyDown\n }, optionalEvents),\n children,\n transparent && _react2.default.createElement(_.Checkboard, {\n borderRadius: styles.swatch.borderRadius,\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)'\n })\n );\n};\n\nexports.default = (0, _interaction.handleFocus)(Swatch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Alpha = require('./Alpha');\n\nObject.defineProperty(exports, 'Alpha', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Alpha).default;\n }\n});\n\nvar _Checkboard = require('./Checkboard');\n\nObject.defineProperty(exports, 'Checkboard', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Checkboard).default;\n }\n});\n\nvar _EditableInput = require('./EditableInput');\n\nObject.defineProperty(exports, 'EditableInput', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_EditableInput).default;\n }\n});\n\nvar _Hue = require('./Hue');\n\nObject.defineProperty(exports, 'Hue', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Hue).default;\n }\n});\n\nvar _Raised = require('./Raised');\n\nObject.defineProperty(exports, 'Raised', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Raised).default;\n }\n});\n\nvar _Saturation = require('./Saturation');\n\nObject.defineProperty(exports, 'Saturation', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Saturation).default;\n }\n});\n\nvar _ColorWrap = require('./ColorWrap');\n\nObject.defineProperty(exports, 'ColorWrap', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ColorWrap).default;\n }\n});\n\nvar _Swatch = require('./Swatch');\n\nObject.defineProperty(exports, 'Swatch', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Swatch).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Compact = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nvar _CompactColor = require('./CompactColor');\n\nvar _CompactColor2 = _interopRequireDefault(_CompactColor);\n\nvar _CompactFields = require('./CompactFields');\n\nvar _CompactFields2 = _interopRequireDefault(_CompactFields);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Compact = exports.Compact = function Compact(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n Compact: {\n background: '#f6f6f6',\n radius: '4px'\n },\n compact: {\n paddingTop: '5px',\n paddingLeft: '5px',\n boxSizing: 'initial',\n width: '240px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else {\n onChange(data, e);\n }\n };\n\n return _react2.default.createElement(\n _common.Raised,\n { style: styles.Compact },\n _react2.default.createElement(\n 'div',\n { style: styles.compact, className: 'compact-picker ' + className },\n _react2.default.createElement(\n 'div',\n null,\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_CompactColor2.default, {\n key: c,\n color: c,\n active: c.toLowerCase() === hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n _react2.default.createElement('div', { style: styles.clear })\n ),\n _react2.default.createElement(_CompactFields2.default, { hex: hex, rgb: rgb, onChange: handleChange })\n )\n );\n};\n\nCompact.propTypes = {\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string)\n};\n\nCompact.defaultProps = {\n colors: ['#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00', '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF', '#333333', '#808080', '#cccccc', '#D33115', '#E27300', '#FCC400', '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF', '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00', '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E']\n};\n\nexports.default = (0, _common.ColorWrap)(Compact);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactColor = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CompactColor = exports.CompactColor = function CompactColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n color: {\n background: color,\n width: '15px',\n height: '15px',\n float: 'left',\n marginRight: '5px',\n marginBottom: '5px',\n position: 'relative',\n cursor: 'pointer'\n },\n dot: {\n absolute: '5px 5px 5px 5px',\n background: _color2.default.getContrastingColor(color),\n borderRadius: '50%',\n opacity: '0'\n }\n },\n 'active': {\n dot: {\n opacity: '1'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n dot: {\n background: '#000'\n }\n },\n 'transparent': {\n dot: {\n background: '#000'\n }\n }\n }, { active: active, 'color-#FFFFFF': color === '#FFFFFF', 'transparent': color === 'transparent' });\n\n return _react2.default.createElement(\n _common.Swatch,\n {\n style: styles.color,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n _react2.default.createElement('div', { style: styles.dot })\n );\n};\n\nexports.default = CompactColor;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactFields = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CompactFields = exports.CompactFields = function CompactFields(_ref) {\n var hex = _ref.hex,\n rgb = _ref.rgb,\n onChange = _ref.onChange;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n fields: {\n display: 'flex',\n paddingBottom: '6px',\n paddingRight: '5px',\n position: 'relative'\n },\n active: {\n position: 'absolute',\n top: '6px',\n left: '5px',\n height: '9px',\n width: '9px',\n background: hex\n },\n HEXwrap: {\n flex: '6',\n position: 'relative'\n },\n HEXinput: {\n width: '80%',\n padding: '0px',\n paddingLeft: '20%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n HEXlabel: {\n display: 'none'\n },\n RGBwrap: {\n flex: '3',\n position: 'relative'\n },\n RGBinput: {\n width: '70%',\n padding: '0px',\n paddingLeft: '30%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '3px',\n left: '0px',\n lineHeight: '16px',\n textTransform: 'uppercase',\n fontSize: '12px',\n color: '#999'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else {\n onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement('div', { style: styles.active }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n );\n};\n\nexports.default = CompactFields;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Github = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _common = require('../common');\n\nvar _GithubSwatch = require('./GithubSwatch');\n\nvar _GithubSwatch2 = _interopRequireDefault(_GithubSwatch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Github = exports.Github = function Github(_ref) {\n var width = _ref.width,\n colors = _ref.colors,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n triangle = _ref.triangle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '1px solid rgba(0,0,0,0.2)',\n boxShadow: '0 3px 12px rgba(0,0,0,0.15)',\n borderRadius: '4px',\n position: 'relative',\n padding: '5px',\n display: 'flex',\n flexWrap: 'wrap'\n },\n triangle: {\n position: 'absolute',\n border: '7px solid transparent',\n borderBottomColor: '#fff'\n },\n triangleShadow: {\n position: 'absolute',\n border: '8px solid transparent',\n borderBottomColor: 'rgba(0,0,0,0.15)'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-14px',\n left: '10px'\n },\n triangleShadow: {\n top: '-16px',\n left: '9px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-14px',\n right: '10px'\n },\n triangleShadow: {\n top: '-16px',\n right: '9px'\n }\n },\n 'bottom-left-triangle': {\n triangle: {\n top: '35px',\n left: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n left: '9px',\n transform: 'rotate(180deg)'\n }\n },\n 'bottom-right-triangle': {\n triangle: {\n top: '35px',\n right: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n right: '9px',\n transform: 'rotate(180deg)'\n }\n }\n }, {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right',\n 'bottom-left-triangle': triangle == 'bottom-left',\n 'bottom-right-triangle': triangle === 'bottom-right'\n });\n\n var handleChange = function handleChange(hex, e) {\n return onChange({ hex: hex, source: 'hex' }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'github-picker ' + className },\n _react2.default.createElement('div', { style: styles.triangleShadow }),\n _react2.default.createElement('div', { style: styles.triangle }),\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_GithubSwatch2.default, {\n color: c,\n key: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nGithub.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right', 'bottom-left', 'bottom-right'])\n};\n\nGithub.defaultProps = {\n width: 200,\n colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],\n triangle: 'top-left'\n};\n\nexports.default = (0, _common.ColorWrap)(Github);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GithubSwatch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GithubSwatch = exports.GithubSwatch = function GithubSwatch(_ref) {\n var hover = _ref.hover,\n color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var hoverSwatch = {\n position: 'relative',\n zIndex: '2',\n outline: '2px solid #fff',\n boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)'\n };\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatch: {\n width: '25px',\n height: '25px',\n fontSize: '0'\n }\n },\n 'hover': {\n swatch: hoverSwatch\n }\n }, { hover: hover });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_common.Swatch, {\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: hoverSwatch\n })\n );\n};\n\nexports.default = (0, _reactcss.handleHover)(GithubSwatch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HuePicker = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _HuePointer = require('./HuePointer');\n\nvar _HuePointer2 = _interopRequireDefault(_HuePointer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HuePicker = exports.HuePicker = function HuePicker(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n hsl = _ref.hsl,\n direction = _ref.direction,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n hue: {\n radius: '2px'\n }\n }\n });\n\n // Overwrite to provide pure hue color\n var handleChange = function handleChange(data) {\n return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'hue-picker ' + className },\n _react2.default.createElement(_common.Hue, _extends({}, styles.hue, {\n hsl: hsl,\n pointer: pointer,\n onChange: handleChange,\n direction: direction\n }))\n );\n};\n\nHuePicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: _HuePointer2.default\n};\n\nexports.default = (0, _common.ColorWrap)(HuePicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderPointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderPointer = exports.SliderPointer = function SliderPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = SliderPointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Material = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Material = exports.Material = function Material(_ref) {\n var onChange = _ref.onChange,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n material: {\n width: '98px',\n height: '98px',\n padding: '16px',\n fontFamily: 'Roboto'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '2px solid ' + hex,\n outline: 'none',\n height: '30px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n Hex: {\n style: {}\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '1px solid #eee',\n outline: 'none',\n height: '30px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n split: {\n display: 'flex',\n marginRight: '-10px',\n paddingTop: '11px'\n },\n third: {\n flex: '1',\n paddingRight: '10px'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n _common.Raised,\n null,\n _react2.default.createElement(\n 'div',\n { style: styles.material, className: 'material-picker ' + className },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n _react2.default.createElement(\n 'div',\n { style: styles.split, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.third },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r', value: rgb.r,\n onChange: handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.third },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.third },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n )\n )\n )\n );\n};\n\nexports.default = (0, _common.ColorWrap)(Material);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Photoshop = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _PhotoshopFields = require('./PhotoshopFields');\n\nvar _PhotoshopFields2 = _interopRequireDefault(_PhotoshopFields);\n\nvar _PhotoshopPointerCircle = require('./PhotoshopPointerCircle');\n\nvar _PhotoshopPointerCircle2 = _interopRequireDefault(_PhotoshopPointerCircle);\n\nvar _PhotoshopPointer = require('./PhotoshopPointer');\n\nvar _PhotoshopPointer2 = _interopRequireDefault(_PhotoshopPointer);\n\nvar _PhotoshopButton = require('./PhotoshopButton');\n\nvar _PhotoshopButton2 = _interopRequireDefault(_PhotoshopButton);\n\nvar _PhotoshopPreviews = require('./PhotoshopPreviews');\n\nvar _PhotoshopPreviews2 = _interopRequireDefault(_PhotoshopPreviews);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Photoshop = exports.Photoshop = function (_React$Component) {\n _inherits(Photoshop, _React$Component);\n\n function Photoshop(props) {\n _classCallCheck(this, Photoshop);\n\n var _this = _possibleConstructorReturn(this, (Photoshop.__proto__ || Object.getPrototypeOf(Photoshop)).call(this));\n\n _this.state = {\n currentColor: props.hex\n };\n return _this;\n }\n\n _createClass(Photoshop, [{\n key: 'render',\n value: function render() {\n var _props$className = this.props.className,\n className = _props$className === undefined ? '' : _props$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n background: '#DCDCDC',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)',\n boxSizing: 'initial',\n width: '513px'\n },\n head: {\n backgroundImage: 'linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)',\n borderBottom: '1px solid #B1B1B1',\n boxShadow: 'inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)',\n height: '23px',\n lineHeight: '24px',\n borderRadius: '4px 4px 0 0',\n fontSize: '13px',\n color: '#4D4D4D',\n textAlign: 'center'\n },\n body: {\n padding: '15px 15px 0',\n display: 'flex'\n },\n saturation: {\n width: '256px',\n height: '256px',\n position: 'relative',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0',\n overflow: 'hidden'\n },\n hue: {\n position: 'relative',\n height: '256px',\n width: '19px',\n marginLeft: '10px',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0'\n },\n controls: {\n width: '180px',\n marginLeft: '10px'\n },\n top: {\n display: 'flex'\n },\n previews: {\n width: '60px'\n },\n actions: {\n flex: '1',\n marginLeft: '20px'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'photoshop-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.head },\n this.props.header\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.body, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.saturation },\n _react2.default.createElement(_common.Saturation, {\n hsl: this.props.hsl,\n hsv: this.props.hsv,\n pointer: _PhotoshopPointerCircle2.default,\n onChange: this.props.onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n direction: 'vertical',\n hsl: this.props.hsl,\n pointer: _PhotoshopPointer2.default,\n onChange: this.props.onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.controls },\n _react2.default.createElement(\n 'div',\n { style: styles.top, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.previews },\n _react2.default.createElement(_PhotoshopPreviews2.default, {\n rgb: this.props.rgb,\n currentColor: this.state.currentColor\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.actions },\n _react2.default.createElement(_PhotoshopButton2.default, { label: 'OK', onClick: this.props.onAccept, active: true }),\n _react2.default.createElement(_PhotoshopButton2.default, { label: 'Cancel', onClick: this.props.onCancel }),\n _react2.default.createElement(_PhotoshopFields2.default, {\n onChange: this.props.onChange,\n rgb: this.props.rgb,\n hsv: this.props.hsv,\n hex: this.props.hex\n })\n )\n )\n )\n )\n );\n }\n }]);\n\n return Photoshop;\n}(_react2.default.Component);\n\nPhotoshop.propTypes = {\n header: _propTypes2.default.string\n};\n\nPhotoshop.defaultProps = {\n header: 'Color Picker'\n};\n\nexports.default = (0, _common.ColorWrap)(Photoshop);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopBotton = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopBotton = exports.PhotoshopBotton = function PhotoshopBotton(_ref) {\n var onClick = _ref.onClick,\n label = _ref.label,\n children = _ref.children,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n button: {\n backgroundImage: 'linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)',\n border: '1px solid #878787',\n borderRadius: '2px',\n height: '20px',\n boxShadow: '0 1px 0 0 #EAEAEA',\n fontSize: '14px',\n color: '#000',\n lineHeight: '20px',\n textAlign: 'center',\n marginBottom: '10px',\n cursor: 'pointer'\n }\n },\n 'active': {\n button: {\n boxShadow: '0 0 0 1px #878787'\n }\n }\n }, { active: active });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.button, onClick: onClick },\n label || children\n );\n};\n\nexports.default = PhotoshopBotton;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPicker = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPicker = exports.PhotoshopPicker = function PhotoshopPicker(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsv = _ref.hsv,\n hex = _ref.hex;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n fields: {\n paddingTop: '5px',\n paddingBottom: '9px',\n width: '80px',\n position: 'relative'\n },\n divider: {\n height: '5px'\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n marginLeft: '40%',\n width: '40%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '5px',\n fontSize: '13px',\n paddingLeft: '3px',\n marginRight: '10px'\n },\n RGBlabel: {\n left: '0px',\n width: '34px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px',\n position: 'absolute'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n marginLeft: '20%',\n width: '80%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '6px',\n fontSize: '13px',\n paddingLeft: '3px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n width: '14px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px'\n },\n fieldSymbols: {\n position: 'absolute',\n top: '5px',\n right: '-7px',\n fontSize: '13px'\n },\n symbol: {\n height: '20px',\n lineHeight: '22px',\n paddingBottom: '7px'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data['#']) {\n _color2.default.isValidHex(data['#']) && onChange({\n hex: data['#'],\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.v) {\n onChange({\n h: data.h || hsv.h,\n s: data.s || hsv.s,\n v: data.v || hsv.v,\n source: 'hsv'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.fields },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'h',\n value: Math.round(hsv.h),\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 's',\n value: Math.round(hsv.s * 100),\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'v',\n value: Math.round(hsv.v * 100),\n onChange: handleChange\n }),\n _react2.default.createElement('div', { style: styles.divider }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n }),\n _react2.default.createElement('div', { style: styles.divider }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: '#',\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n _react2.default.createElement(\n 'div',\n { style: styles.fieldSymbols },\n _react2.default.createElement(\n 'div',\n { style: styles.symbol },\n '\\xB0'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n )\n )\n );\n};\n\nexports.default = PhotoshopPicker;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPointerCircle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n triangle: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '4px 0 4px 6px',\n borderColor: 'transparent transparent transparent #fff',\n position: 'absolute',\n top: '1px',\n left: '1px'\n },\n triangleBorder: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '5px 0 5px 8px',\n borderColor: 'transparent transparent transparent #555'\n },\n\n left: {\n Extend: 'triangleBorder',\n transform: 'translate(-13px, -4px)'\n },\n leftInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n },\n\n right: {\n Extend: 'triangleBorder',\n transform: 'translate(20px, -14px) rotate(180deg)'\n },\n rightInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n _react2.default.createElement(\n 'div',\n { style: styles.left },\n _react2.default.createElement('div', { style: styles.leftInside })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.right },\n _react2.default.createElement('div', { style: styles.rightInside })\n )\n );\n};\n\nexports.default = PhotoshopPointerCircle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPointerCircle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle(_ref) {\n var hsl = _ref.hsl;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n },\n 'black-outline': {\n picker: {\n boxShadow: 'inset 0 0 0 1px #000'\n }\n }\n }, { 'black-outline': hsl.l > 0.5 });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = PhotoshopPointerCircle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPreviews = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPreviews = exports.PhotoshopPreviews = function PhotoshopPreviews(_ref) {\n var rgb = _ref.rgb,\n currentColor = _ref.currentColor;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatches: {\n border: '1px solid #B3B3B3',\n borderBottom: '1px solid #F0F0F0',\n marginBottom: '2px',\n marginTop: '1px'\n },\n new: {\n height: '34px',\n background: 'rgb(' + rgb.r + ',' + rgb.g + ', ' + rgb.b + ')',\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000'\n },\n current: {\n height: '34px',\n background: currentColor,\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000'\n },\n label: {\n fontSize: '14px',\n color: '#000',\n textAlign: 'center'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { style: styles.label },\n 'new'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n _react2.default.createElement('div', { style: styles.new }),\n _react2.default.createElement('div', { style: styles.current })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.label },\n 'current'\n )\n );\n};\n\nexports.default = PhotoshopPreviews;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Sketch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _SketchFields = require('./SketchFields');\n\nvar _SketchFields2 = _interopRequireDefault(_SketchFields);\n\nvar _SketchPresetColors = require('./SketchPresetColors');\n\nvar _SketchPresetColors2 = _interopRequireDefault(_SketchPresetColors);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Sketch = exports.Sketch = function Sketch(_ref) {\n var width = _ref.width,\n rgb = _ref.rgb,\n hex = _ref.hex,\n hsv = _ref.hsv,\n hsl = _ref.hsl,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n disableAlpha = _ref.disableAlpha,\n presetColors = _ref.presetColors,\n renderers = _ref.renderers,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: width,\n padding: '10px 10px 0',\n boxSizing: 'initial',\n background: '#fff',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)'\n },\n saturation: {\n width: '100%',\n paddingBottom: '75%',\n position: 'relative',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '3px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n controls: {\n display: 'flex'\n },\n sliders: {\n padding: '4px 0',\n flex: '1'\n },\n color: {\n width: '24px',\n height: '24px',\n position: 'relative',\n marginTop: '4px',\n marginLeft: '4px',\n borderRadius: '3px'\n },\n activeColor: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '2px',\n background: 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n hue: {\n position: 'relative',\n height: '10px',\n overflow: 'hidden'\n },\n Hue: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n\n alpha: {\n position: 'relative',\n height: '10px',\n marginTop: '4px',\n overflow: 'hidden'\n },\n Alpha: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n }\n },\n 'disableAlpha': {\n color: {\n height: '10px'\n },\n hue: {\n height: '10px'\n },\n alpha: {\n display: 'none'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'sketch-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.saturation },\n _react2.default.createElement(_common.Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.sliders },\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n style: styles.Hue,\n hsl: hsl,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n renderers: renderers,\n onChange: onChange\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.color },\n _react2.default.createElement(_common.Checkboard, null),\n _react2.default.createElement('div', { style: styles.activeColor })\n )\n ),\n _react2.default.createElement(_SketchFields2.default, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n onChange: onChange,\n disableAlpha: disableAlpha\n }),\n _react2.default.createElement(_SketchPresetColors2.default, {\n colors: presetColors,\n onClick: onChange,\n onSwatchHover: onSwatchHover\n })\n );\n};\n\nSketch.propTypes = {\n disableAlpha: _propTypes2.default.bool,\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number])\n};\n\nSketch.defaultProps = {\n disableAlpha: false,\n width: 200,\n presetColors: ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF']\n};\n\nexports.default = (0, _common.ColorWrap)(Sketch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SketchFields = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable no-param-reassign */\n\nvar SketchFields = exports.SketchFields = function SketchFields(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hex = _ref.hex,\n disableAlpha = _ref.disableAlpha;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n fields: {\n display: 'flex',\n paddingTop: '4px'\n },\n single: {\n flex: '1',\n paddingLeft: '6px'\n },\n alpha: {\n flex: '1',\n paddingLeft: '6px'\n },\n double: {\n flex: '2'\n },\n input: {\n width: '80%',\n padding: '4px 10% 3px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #ccc',\n fontSize: '11px'\n },\n label: {\n display: 'block',\n textAlign: 'center',\n fontSize: '11px',\n color: '#222',\n paddingTop: '3px',\n paddingBottom: '4px',\n textTransform: 'capitalize'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n a: rgb.a,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 100) {\n data.a = 100;\n }\n\n data.a /= 100;\n onChange({\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: data.a,\n source: 'rgb'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.double },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex',\n value: hex.replace('#', ''),\n onChange: handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.single },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: rgb.r,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.single },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: rgb.g,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.single },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: rgb.b,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: Math.round(rgb.a * 100),\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '100'\n })\n )\n );\n};\n\nexports.default = SketchFields;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SketchPresetColors = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SketchPresetColors = exports.SketchPresetColors = function SketchPresetColors(_ref) {\n var colors = _ref.colors,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n colors: {\n margin: '0 -10px',\n padding: '10px 0 0 10px',\n borderTop: '1px solid #eee',\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative'\n },\n swatchWrap: {\n width: '16px',\n height: '16px',\n margin: '0 10px 10px 0'\n },\n swatch: {\n borderRadius: '3px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)'\n }\n },\n 'no-presets': {\n colors: {\n display: 'none'\n }\n }\n }, {\n 'no-presets': !colors || !colors.length\n });\n\n var handleClick = function handleClick(hex, e) {\n onClick({\n hex: hex,\n source: 'hex'\n }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.colors, className: 'flexbox-fix' },\n colors.map(function (colorObjOrString) {\n var c = typeof colorObjOrString === 'string' ? { color: colorObjOrString } : colorObjOrString;\n var key = '' + c.color + (c.title || '');\n return _react2.default.createElement(\n 'div',\n { key: key, style: styles.swatchWrap },\n _react2.default.createElement(_common.Swatch, _extends({}, c, {\n style: styles.swatch,\n onClick: handleClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ' + c.color\n }\n }))\n );\n })\n );\n};\n\nSketchPresetColors.propTypes = {\n colors: _propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n color: _propTypes2.default.string,\n title: _propTypes2.default.string\n })])).isRequired\n};\n\nexports.default = SketchPresetColors;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Slider = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _SliderSwatches = require('./SliderSwatches');\n\nvar _SliderSwatches2 = _interopRequireDefault(_SliderSwatches);\n\nvar _SliderPointer = require('./SliderPointer');\n\nvar _SliderPointer2 = _interopRequireDefault(_SliderPointer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Slider = exports.Slider = function Slider(_ref) {\n var hsl = _ref.hsl,\n onChange = _ref.onChange,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n hue: {\n height: '12px',\n position: 'relative'\n },\n Hue: {\n radius: '2px'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { className: 'slider-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: pointer,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n _react2.default.createElement(_SliderSwatches2.default, { hsl: hsl, onClick: onChange })\n )\n );\n};\n\nSlider.defaultProps = {\n pointer: _SliderPointer2.default\n};\n\nexports.default = (0, _common.ColorWrap)(Slider);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderPointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderPointer = exports.SliderPointer = function SliderPointer() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '14px',\n height: '14px',\n borderRadius: '6px',\n transform: 'translate(-7px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = SliderPointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderSwatch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderSwatch = exports.SliderSwatch = function SliderSwatch(_ref) {\n var hsl = _ref.hsl,\n offset = _ref.offset,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n active = _ref.active,\n first = _ref.first,\n last = _ref.last;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatch: {\n height: '12px',\n background: 'hsl(' + hsl.h + ', 50%, ' + offset * 100 + '%)',\n cursor: 'pointer'\n }\n },\n 'first': {\n swatch: {\n borderRadius: '2px 0 0 2px'\n }\n },\n 'last': {\n swatch: {\n borderRadius: '0 2px 2px 0'\n }\n },\n 'active': {\n swatch: {\n transform: 'scaleY(1.8)',\n borderRadius: '3.6px/2px'\n }\n }\n }, { active: active, first: first, last: last });\n\n var handleClick = function handleClick(e) {\n return onClick({\n h: hsl.h,\n s: 0.5,\n l: offset,\n source: 'hsl'\n }, e);\n };\n\n return _react2.default.createElement('div', { style: styles.swatch, onClick: handleClick });\n};\n\nexports.default = SliderSwatch;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderSwatches = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _SliderSwatch = require('./SliderSwatch');\n\nvar _SliderSwatch2 = _interopRequireDefault(_SliderSwatch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderSwatches = exports.SliderSwatches = function SliderSwatches(_ref) {\n var onClick = _ref.onClick,\n hsl = _ref.hsl;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatches: {\n marginTop: '20px'\n },\n swatch: {\n boxSizing: 'border-box',\n width: '20%',\n paddingRight: '1px',\n float: 'left'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.80',\n active: Math.round(hsl.l * 100) / 100 === 0.80 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick,\n first: true\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.65',\n active: Math.round(hsl.l * 100) / 100 === 0.65 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.50',\n active: Math.round(hsl.l * 100) / 100 === 0.50 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.35',\n active: Math.round(hsl.l * 100) / 100 === 0.35 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.20',\n active: Math.round(hsl.l * 100) / 100 === 0.20 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick,\n last: true\n })\n ),\n _react2.default.createElement('div', { style: styles.clear })\n );\n};\n\nexports.default = SliderSwatches;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Swatches = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _materialColors = require('material-colors');\n\nvar material = _interopRequireWildcard(_materialColors);\n\nvar _common = require('../common');\n\nvar _SwatchesGroup = require('./SwatchesGroup');\n\nvar _SwatchesGroup2 = _interopRequireDefault(_SwatchesGroup);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Swatches = exports.Swatches = function Swatches(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: width,\n height: height\n },\n overflow: {\n height: height,\n overflowY: 'scroll'\n },\n body: {\n padding: '16px 0 6px 16px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n _color2.default.isValidHex(data) && onChange({\n hex: data,\n source: 'hex'\n }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'swatches-picker ' + className },\n _react2.default.createElement(\n _common.Raised,\n null,\n _react2.default.createElement(\n 'div',\n { style: styles.overflow },\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n (0, _map2.default)(colors, function (group) {\n return _react2.default.createElement(_SwatchesGroup2.default, {\n key: group.toString(),\n group: group,\n active: hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n _react2.default.createElement('div', { style: styles.clear })\n )\n )\n )\n );\n};\n\nSwatches.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.arrayOf(_propTypes2.default.string))\n\n /* eslint-disable max-len */\n};Swatches.defaultProps = {\n width: 320,\n height: 240,\n colors: [[material.red['900'], material.red['700'], material.red['500'], material.red['300'], material.red['100']], [material.pink['900'], material.pink['700'], material.pink['500'], material.pink['300'], material.pink['100']], [material.purple['900'], material.purple['700'], material.purple['500'], material.purple['300'], material.purple['100']], [material.deepPurple['900'], material.deepPurple['700'], material.deepPurple['500'], material.deepPurple['300'], material.deepPurple['100']], [material.indigo['900'], material.indigo['700'], material.indigo['500'], material.indigo['300'], material.indigo['100']], [material.blue['900'], material.blue['700'], material.blue['500'], material.blue['300'], material.blue['100']], [material.lightBlue['900'], material.lightBlue['700'], material.lightBlue['500'], material.lightBlue['300'], material.lightBlue['100']], [material.cyan['900'], material.cyan['700'], material.cyan['500'], material.cyan['300'], material.cyan['100']], [material.teal['900'], material.teal['700'], material.teal['500'], material.teal['300'], material.teal['100']], ['#194D33', material.green['700'], material.green['500'], material.green['300'], material.green['100']], [material.lightGreen['900'], material.lightGreen['700'], material.lightGreen['500'], material.lightGreen['300'], material.lightGreen['100']], [material.lime['900'], material.lime['700'], material.lime['500'], material.lime['300'], material.lime['100']], [material.yellow['900'], material.yellow['700'], material.yellow['500'], material.yellow['300'], material.yellow['100']], [material.amber['900'], material.amber['700'], material.amber['500'], material.amber['300'], material.amber['100']], [material.orange['900'], material.orange['700'], material.orange['500'], material.orange['300'], material.orange['100']], [material.deepOrange['900'], material.deepOrange['700'], material.deepOrange['500'], material.deepOrange['300'], material.deepOrange['100']], [material.brown['900'], material.brown['700'], material.brown['500'], material.brown['300'], material.brown['100']], [material.blueGrey['900'], material.blueGrey['700'], material.blueGrey['500'], material.blueGrey['300'], material.blueGrey['100']], ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF']]\n};\n\nexports.default = (0, _common.ColorWrap)(Swatches);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SwatchesColor = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SwatchesColor = exports.SwatchesColor = function SwatchesColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n first = _ref.first,\n last = _ref.last,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n color: {\n width: '40px',\n height: '24px',\n cursor: 'pointer',\n background: color,\n marginBottom: '1px'\n },\n check: {\n fill: _color2.default.getContrastingColor(color),\n marginLeft: '8px',\n display: 'none'\n }\n },\n 'first': {\n color: {\n overflow: 'hidden',\n borderRadius: '2px 2px 0 0'\n }\n },\n 'last': {\n color: {\n overflow: 'hidden',\n borderRadius: '0 0 2px 2px'\n }\n },\n 'active': {\n check: {\n display: 'block'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n check: {\n fill: '#333'\n }\n },\n 'transparent': {\n check: {\n fill: '#333'\n }\n }\n }, {\n first: first,\n last: last,\n active: active,\n 'color-#FFFFFF': color === '#FFFFFF',\n 'transparent': color === 'transparent'\n });\n\n return _react2.default.createElement(\n _common.Swatch,\n {\n color: color,\n style: styles.color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n _react2.default.createElement(\n 'div',\n { style: styles.check },\n _react2.default.createElement(\n 'svg',\n { style: { width: '24px', height: '24px' }, viewBox: '0 0 24 24' },\n _react2.default.createElement('path', { d: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z' })\n )\n )\n );\n};\n\nexports.default = SwatchesColor;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SwatchesGroup = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _SwatchesColor = require('./SwatchesColor');\n\nvar _SwatchesColor2 = _interopRequireDefault(_SwatchesColor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SwatchesGroup = exports.SwatchesGroup = function SwatchesGroup(_ref) {\n var onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n group = _ref.group,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n group: {\n paddingBottom: '10px',\n width: '40px',\n float: 'left',\n marginRight: '10px'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.group },\n (0, _map2.default)(group, function (color, i) {\n return _react2.default.createElement(_SwatchesColor2.default, {\n key: color,\n color: color,\n active: color.toLowerCase() === active,\n first: i === 0,\n last: i === group.length - 1,\n onClick: onClick,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nexports.default = SwatchesGroup;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Twitter = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Twitter = exports.Twitter = function Twitter(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '0 solid rgba(0,0,0,0.25)',\n boxShadow: '0 1px 4px rgba(0,0,0,0.25)',\n borderRadius: '4px',\n position: 'relative'\n },\n body: {\n padding: '15px 9px 9px 15px'\n },\n label: {\n fontSize: '18px',\n color: '#fff'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent #fff transparent',\n position: 'absolute'\n },\n triangleShadow: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent rgba(0,0,0,.1) transparent',\n position: 'absolute'\n },\n hash: {\n background: '#F0F0F0',\n height: '30px',\n width: '30px',\n borderRadius: '4px 0 0 4px',\n float: 'left',\n color: '#98A1A4',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n input: {\n width: '100px',\n fontSize: '14px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '28px',\n boxShadow: 'inset 0 0 0 1px #F0F0F0',\n boxSizing: 'content-box',\n borderRadius: '0 4px 4px 0',\n float: 'left',\n paddingLeft: '8px'\n },\n swatch: {\n width: '30px',\n height: '30px',\n float: 'left',\n borderRadius: '4px',\n margin: '0 6px 6px 0'\n },\n clear: {\n clear: 'both'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-10px',\n left: '12px'\n },\n triangleShadow: {\n top: '-11px',\n left: '12px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-10px',\n right: '12px'\n },\n triangleShadow: {\n top: '-11px',\n right: '12px'\n }\n }\n }, {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right'\n });\n\n var handleChange = function handleChange(hexcode, e) {\n _color2.default.isValidHex(hexcode) && onChange({\n hex: hexcode,\n source: 'hex'\n }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'twitter-picker ' + className },\n _react2.default.createElement('div', { style: styles.triangleShadow }),\n _react2.default.createElement('div', { style: styles.triangle }),\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n (0, _map2.default)(colors, function (c, i) {\n return _react2.default.createElement(_common.Swatch, {\n key: i,\n color: c,\n hex: c,\n style: styles.swatch,\n onClick: handleChange,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n _react2.default.createElement(\n 'div',\n { style: styles.hash },\n '#'\n ),\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input },\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n _react2.default.createElement('div', { style: styles.clear })\n )\n );\n};\n\nTwitter.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right']),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string)\n};\n\nTwitter.defaultProps = {\n width: 276,\n colors: ['#FF6900', '#FCB900', '#7BDCB5', '#00D084', '#8ED1FC', '#0693E3', '#ABB8C3', '#EB144C', '#F78DA7', '#9900EF'],\n triangle: 'top-left'\n};\n\nexports.default = (0, _common.ColorWrap)(Twitter);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calculateChange = exports.calculateChange = function calculateChange(e, skip, props, container) {\n e.preventDefault();\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (props.direction === 'vertical') {\n var a = void 0;\n if (top < 0) {\n a = 0;\n } else if (top > containerHeight) {\n a = 1;\n } else {\n a = Math.round(top * 100 / containerHeight) / 100;\n }\n\n if (props.hsl.a !== a) {\n return {\n h: props.hsl.h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: a,\n source: 'rgb'\n };\n }\n } else {\n var _a = void 0;\n if (left < 0) {\n _a = 0;\n } else if (left > containerWidth) {\n _a = 1;\n } else {\n _a = Math.round(left * 100 / containerWidth) / 100;\n }\n\n if (props.a !== _a) {\n return {\n h: props.hsl.h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: _a,\n source: 'rgb'\n };\n }\n }\n return null;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar checkboardCache = {};\n\nvar render = exports.render = function render(c1, c2, size, serverCanvas) {\n if (typeof document === 'undefined' && !serverCanvas) {\n return null;\n }\n var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');\n canvas.width = size * 2;\n canvas.height = size * 2;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n } // If no context can be found, return early.\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n};\n\nvar get = exports.get = function get(c1, c2, size, serverCanvas) {\n var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');\n var checkboard = render(c1, c2, size, serverCanvas);\n\n if (checkboardCache[key]) {\n return checkboardCache[key];\n }\n checkboardCache[key] = checkboard;\n return checkboard;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.red = undefined;\n\nvar _each = require('lodash/each');\n\nvar _each2 = _interopRequireDefault(_each);\n\nvar _tinycolor = require('tinycolor2');\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n simpleCheckForValidColor: function simpleCheckForValidColor(data) {\n var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n var checked = 0;\n var passed = 0;\n (0, _each2.default)(keysToCheck, function (letter) {\n if (data[letter]) {\n checked += 1;\n if (!isNaN(data[letter])) {\n passed += 1;\n }\n if (letter === 's' || letter === 'l') {\n var percentPatt = /^\\d+%$/;\n if (percentPatt.test(data[letter])) {\n passed += 1;\n }\n }\n }\n });\n return checked === passed ? data : false;\n },\n toState: function toState(data, oldHue) {\n var color = data.hex ? (0, _tinycolor2.default)(data.hex) : (0, _tinycolor2.default)(data);\n var hsl = color.toHsl();\n var hsv = color.toHsv();\n var rgb = color.toRgb();\n var hex = color.toHex();\n if (hsl.s === 0) {\n hsl.h = oldHue || 0;\n hsv.h = oldHue || 0;\n }\n var transparent = hex === '000000' && rgb.a === 0;\n\n return {\n hsl: hsl,\n hex: transparent ? 'transparent' : '#' + hex,\n rgb: rgb,\n hsv: hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source\n };\n },\n isValidHex: function isValidHex(hex) {\n // disable hex4 and hex8\n var lh = String(hex).charAt(0) === '#' ? 1 : 0;\n return hex.length !== 4 + lh && hex.length < 7 + lh && (0, _tinycolor2.default)(hex).isValid();\n },\n getContrastingColor: function getContrastingColor(data) {\n if (!data) {\n return '#fff';\n }\n var col = this.toState(data);\n if (col.hex === 'transparent') {\n return 'rgba(0,0,0,0.4)';\n }\n var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000' : '#fff';\n }\n};\nvar red = exports.red = {\n hsl: { a: 1, h: 0, l: 0.5, s: 1 },\n hex: '#ff0000',\n rgb: { r: 255, g: 0, b: 0, a: 1 },\n hsv: { h: 0, s: 1, v: 1, a: 1 }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calculateChange = exports.calculateChange = function calculateChange(e, skip, props, container) {\n e.preventDefault();\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (props.direction === 'vertical') {\n var h = void 0;\n if (top < 0) {\n h = 359;\n } else if (top > containerHeight) {\n h = 0;\n } else {\n var percent = -(top * 100 / containerHeight) + 100;\n h = 360 * percent / 100;\n }\n\n if (props.hsl.h !== h) {\n return {\n h: h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: props.hsl.a,\n source: 'rgb'\n };\n }\n } else {\n var _h = void 0;\n if (left < 0) {\n _h = 0;\n } else if (left > containerWidth) {\n _h = 359;\n } else {\n var _percent = left * 100 / containerWidth;\n _h = 360 * _percent / 100;\n }\n\n if (props.hsl.h !== _h) {\n return {\n h: _h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: props.hsl.a,\n source: 'rgb'\n };\n }\n }\n return null;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleFocus = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable no-invalid-this */\n\n\nvar handleFocus = exports.handleFocus = function handleFocus(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n return function (_React$Component) {\n _inherits(Focus, _React$Component);\n\n function Focus() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Focus);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Focus.__proto__ || Object.getPrototypeOf(Focus)).call.apply(_ref, [this].concat(args))), _this), _this.state = { focus: false }, _this.handleFocus = function () {\n return _this.setState({ focus: true });\n }, _this.handleBlur = function () {\n return _this.setState({ focus: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Focus, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n Span,\n { onFocus: this.handleFocus, onBlur: this.handleBlur },\n _react2.default.createElement(Component, _extends({}, this.props, this.state))\n );\n }\n }]);\n\n return Focus;\n }(_react2.default.Component);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calculateChange = exports.calculateChange = function calculateChange(e, skip, props, container) {\n e.preventDefault();\n\n var _container$getBoundin = container.getBoundingClientRect(),\n containerWidth = _container$getBoundin.width,\n containerHeight = _container$getBoundin.height;\n\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (left < 0) {\n left = 0;\n } else if (left > containerWidth) {\n left = containerWidth;\n } else if (top < 0) {\n top = 0;\n } else if (top > containerHeight) {\n top = containerHeight;\n }\n\n var saturation = left * 100 / containerWidth;\n var bright = -(top * 100 / containerHeight) + 100;\n\n return {\n h: props.hsl.h,\n s: saturation,\n v: bright,\n a: props.hsl.a,\n source: 'rgb'\n };\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CustomPicker = exports.TwitterPicker = exports.SwatchesPicker = exports.SliderPicker = exports.SketchPicker = exports.PhotoshopPicker = exports.MaterialPicker = exports.HuePicker = exports.GithubPicker = exports.CompactPicker = exports.ChromePicker = exports.default = exports.CirclePicker = exports.BlockPicker = exports.AlphaPicker = undefined;\n\nvar _Alpha = require('./components/alpha/Alpha');\n\nObject.defineProperty(exports, 'AlphaPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Alpha).default;\n }\n});\n\nvar _Block = require('./components/block/Block');\n\nObject.defineProperty(exports, 'BlockPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Block).default;\n }\n});\n\nvar _Circle = require('./components/circle/Circle');\n\nObject.defineProperty(exports, 'CirclePicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Circle).default;\n }\n});\n\nvar _Chrome = require('./components/chrome/Chrome');\n\nObject.defineProperty(exports, 'ChromePicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Chrome).default;\n }\n});\n\nvar _Compact = require('./components/compact/Compact');\n\nObject.defineProperty(exports, 'CompactPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Compact).default;\n }\n});\n\nvar _Github = require('./components/github/Github');\n\nObject.defineProperty(exports, 'GithubPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Github).default;\n }\n});\n\nvar _Hue = require('./components/hue/Hue');\n\nObject.defineProperty(exports, 'HuePicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Hue).default;\n }\n});\n\nvar _Material = require('./components/material/Material');\n\nObject.defineProperty(exports, 'MaterialPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Material).default;\n }\n});\n\nvar _Photoshop = require('./components/photoshop/Photoshop');\n\nObject.defineProperty(exports, 'PhotoshopPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Photoshop).default;\n }\n});\n\nvar _Sketch = require('./components/sketch/Sketch');\n\nObject.defineProperty(exports, 'SketchPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Sketch).default;\n }\n});\n\nvar _Slider = require('./components/slider/Slider');\n\nObject.defineProperty(exports, 'SliderPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Slider).default;\n }\n});\n\nvar _Swatches = require('./components/swatches/Swatches');\n\nObject.defineProperty(exports, 'SwatchesPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Swatches).default;\n }\n});\n\nvar _Twitter = require('./components/twitter/Twitter');\n\nObject.defineProperty(exports, 'TwitterPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Twitter).default;\n }\n});\n\nvar _ColorWrap = require('./components/common/ColorWrap');\n\nObject.defineProperty(exports, 'CustomPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ColorWrap).default;\n }\n});\n\nvar _Chrome2 = _interopRequireDefault(_Chrome);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Chrome2.default;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport onClickOutside from 'react-onclickoutside';\nimport moment from 'moment';\nimport { Manager, Popper, Reference } from 'react-popper';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nfunction generateYears(year, noOfYear, minDate, maxDate) {\n var list = [];\n for (var i = 0; i < 2 * noOfYear + 1; i++) {\n var newYear = year + noOfYear - i;\n var isInRange = true;\n\n if (minDate) {\n isInRange = minDate.year() <= newYear;\n }\n\n if (maxDate && isInRange) {\n isInRange = maxDate.year() >= newYear;\n }\n\n if (isInRange) {\n list.push(newYear);\n }\n }\n\n return list;\n}\n\nvar YearDropdownOptions = function (_React$Component) {\n inherits(YearDropdownOptions, _React$Component);\n\n function YearDropdownOptions(props) {\n classCallCheck(this, YearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n var selectedYear = _this.props.year;\n var options = _this.state.yearsList.map(function (year) {\n return React.createElement(\n \"div\",\n {\n className: selectedYear === year ? \"react-datepicker__year-option react-datepicker__year-option--selected_year\" : \"react-datepicker__year-option\",\n key: year,\n ref: year,\n onClick: _this.onChange.bind(_this, year)\n },\n selectedYear === year ? React.createElement(\n \"span\",\n { className: \"react-datepicker__year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n year\n );\n });\n\n var minYear = _this.props.minDate ? _this.props.minDate.year() : null;\n var maxYear = _this.props.maxDate ? _this.props.maxDate.year() : null;\n\n if (!maxYear || !_this.state.yearsList.find(function (year) {\n return year === maxYear;\n })) {\n options.unshift(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"upcoming\",\n key: \"upcoming\",\n onClick: _this.incrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\" })\n ));\n }\n\n if (!minYear || !_this.state.yearsList.find(function (year) {\n return year === minYear;\n })) {\n options.push(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"previous\",\n key: \"previous\",\n onClick: _this.decrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\" })\n ));\n }\n\n return options;\n };\n\n _this.onChange = function (year) {\n _this.props.onChange(year);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.shiftYears = function (amount) {\n var years = _this.state.yearsList.map(function (year) {\n return year + amount;\n });\n\n _this.setState({\n yearsList: years\n });\n };\n\n _this.incrementYears = function () {\n return _this.shiftYears(1);\n };\n\n _this.decrementYears = function () {\n return _this.shiftYears(-1);\n };\n\n var yearDropdownItemNumber = props.yearDropdownItemNumber,\n scrollableYearDropdown = props.scrollableYearDropdown;\n\n var noOfYear = yearDropdownItemNumber || (scrollableYearDropdown ? 10 : 5);\n\n _this.state = {\n yearsList: generateYears(_this.props.year, noOfYear, _this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n YearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__year-dropdown\": true,\n \"react-datepicker__year-dropdown--scrollable\": this.props.scrollableYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return YearDropdownOptions;\n}(React.Component);\n\nYearDropdownOptions.propTypes = {\n minDate: PropTypes.object,\n maxDate: PropTypes.object,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number\n};\n\nvar dayOfWeekCodes = {\n 1: \"mon\",\n 2: \"tue\",\n 3: \"wed\",\n 4: \"thu\",\n 5: \"fri\",\n 6: \"sat\",\n 7: \"sun\"\n};\n\n// These functions are not exported so\n// that we avoid magic strings like 'days'\nfunction set$1(date, unit, to) {\n return date.set(unit, to);\n}\n\nfunction add(date, amount, unit) {\n return date.add(amount, unit);\n}\n\nfunction subtract(date, amount, unit) {\n return date.subtract(amount, unit);\n}\n\nfunction get$1(date, unit) {\n return date.get(unit);\n}\n\nfunction getStartOf(date, unit) {\n return date.startOf(unit);\n}\n\n// ** Date Constructors **\n\nfunction newDate(point) {\n return moment(point);\n}\n\nfunction newDateWithOffset(utcOffset) {\n return moment().utc().utcOffset(utcOffset);\n}\n\nfunction now(maybeFixedUtcOffset) {\n if (maybeFixedUtcOffset == null) {\n return newDate();\n }\n return newDateWithOffset(maybeFixedUtcOffset);\n}\n\nfunction cloneDate(date) {\n return date.clone();\n}\n\nfunction parseDate(value, _ref) {\n var dateFormat = _ref.dateFormat,\n locale = _ref.locale;\n\n var m = moment(value, dateFormat, locale || moment.locale(), true);\n return m.isValid() ? m : null;\n}\n\n// ** Date \"Reflection\" **\n\nfunction isMoment(date) {\n return moment.isMoment(date);\n}\n\nfunction isDate(date) {\n return moment.isDate(date);\n}\n\n// ** Date Formatting **\n\nfunction formatDate(date, format) {\n return date.format(format);\n}\n\nfunction safeDateFormat(date, _ref2) {\n var dateFormat = _ref2.dateFormat,\n locale = _ref2.locale;\n\n return date && date.clone().locale(locale || moment.locale()).format(Array.isArray(dateFormat) ? dateFormat[0] : dateFormat) || \"\";\n}\n\n// ** Date Setters **\n\nfunction setTime(date, _ref3) {\n var hour = _ref3.hour,\n minute = _ref3.minute,\n second = _ref3.second;\n\n date.set({ hour: hour, minute: minute, second: second });\n return date;\n}\n\nfunction setMonth(date, month) {\n return set$1(date, \"month\", month);\n}\n\nfunction setYear(date, year) {\n return set$1(date, \"year\", year);\n}\n\n\n\n// ** Date Getters **\n\nfunction getSecond(date) {\n return get$1(date, \"second\");\n}\n\nfunction getMinute(date) {\n return get$1(date, \"minute\");\n}\n\nfunction getHour(date) {\n return get$1(date, \"hour\");\n}\n\n// Returns day of week\nfunction getDay(date) {\n return get$1(date, \"day\");\n}\n\nfunction getWeek(date) {\n return get$1(date, \"week\");\n}\n\nfunction getMonth(date) {\n return get$1(date, \"month\");\n}\n\nfunction getYear(date) {\n return get$1(date, \"year\");\n}\n\n// Returns day of month\nfunction getDate(date) {\n return get$1(date, \"date\");\n}\n\n\n\nfunction getDayOfWeekCode(day) {\n return dayOfWeekCodes[day.isoWeekday()];\n}\n\n// *** Start of ***\n\nfunction getStartOfDay(date) {\n return getStartOf(date, \"day\");\n}\n\nfunction getStartOfWeek(date) {\n return getStartOf(date, \"week\");\n}\nfunction getStartOfMonth(date) {\n return getStartOf(date, \"month\");\n}\n\nfunction getStartOfDate(date) {\n return getStartOf(date, \"date\");\n}\n\n// *** End of ***\n\n\n\n\n\n// ** Date Math **\n\n// *** Addition ***\n\nfunction addMinutes(date, amount) {\n return add(date, amount, \"minutes\");\n}\n\nfunction addHours(date, amount) {\n return add(date, amount, \"hours\");\n}\n\nfunction addDays(date, amount) {\n return add(date, amount, \"days\");\n}\n\nfunction addWeeks(date, amount) {\n return add(date, amount, \"weeks\");\n}\n\nfunction addMonths(date, amount) {\n return add(date, amount, \"months\");\n}\n\nfunction addYears(date, amount) {\n return add(date, amount, \"years\");\n}\n\n// *** Subtraction ***\nfunction subtractDays(date, amount) {\n return subtract(date, amount, \"days\");\n}\n\nfunction subtractWeeks(date, amount) {\n return subtract(date, amount, \"weeks\");\n}\n\nfunction subtractMonths(date, amount) {\n return subtract(date, amount, \"months\");\n}\n\nfunction subtractYears(date, amount) {\n return subtract(date, amount, \"years\");\n}\n\n// ** Date Comparison **\n\nfunction isBefore(date1, date2) {\n return date1.isBefore(date2);\n}\n\nfunction isAfter(date1, date2) {\n return date1.isAfter(date2);\n}\n\nfunction equals(date1, date2) {\n return date1.isSame(date2);\n}\n\nfunction isSameYear(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"year\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameMonth(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"month\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameDay(moment1, moment2) {\n if (moment1 && moment2) {\n return moment1.isSame(moment2, \"day\");\n } else {\n return !moment1 && !moment2;\n }\n}\n\n\n\nfunction isDayInRange(day, startDate, endDate) {\n var before = startDate.clone().startOf(\"day\").subtract(1, \"seconds\");\n var after = endDate.clone().startOf(\"day\").add(1, \"seconds\");\n return day.clone().startOf(\"day\").isBetween(before, after);\n}\n\n// *** Diffing ***\n\n\n\n// ** Date Localization **\n\nfunction localizeDate(date, locale) {\n return date.clone().locale(locale || moment.locale());\n}\n\n\n\n\n\n\n\nfunction getLocaleData(date) {\n return date.localeData();\n}\n\nfunction getLocaleDataForLocale(locale) {\n return moment.localeData(locale);\n}\n\nfunction getFormattedWeekdayInLocale(locale, date, formatFunc) {\n return formatFunc(locale.weekdays(date));\n}\n\nfunction getWeekdayMinInLocale(locale, date) {\n return locale.weekdaysMin(date);\n}\n\nfunction getWeekdayShortInLocale(locale, date) {\n return locale.weekdaysShort(date);\n}\n\n// TODO what is this format exactly?\nfunction getMonthInLocale(locale, date, format) {\n return locale.months(date, format);\n}\n\nfunction getMonthShortInLocale(locale, date) {\n return locale.monthsShort(date);\n}\n\n// ** Utils for some components **\n\nfunction isDayDisabled(day) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref4.minDate,\n maxDate = _ref4.maxDate,\n excludeDates = _ref4.excludeDates,\n includeDates = _ref4.includeDates,\n filterDate = _ref4.filterDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\") || excludeDates && excludeDates.some(function (excludeDate) {\n return isSameDay(day, excludeDate);\n }) || includeDates && !includeDates.some(function (includeDate) {\n return isSameDay(day, includeDate);\n }) || filterDate && !filterDate(day.clone()) || false;\n}\n\nfunction isOutOfBounds(day) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref5.minDate,\n maxDate = _ref5.maxDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\");\n}\n\nfunction isTimeDisabled(time, disabledTimes) {\n var l = disabledTimes.length;\n for (var i = 0; i < l; i++) {\n if (disabledTimes[i].get(\"hours\") === time.get(\"hours\") && disabledTimes[i].get(\"minutes\") === time.get(\"minutes\")) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isTimeInDisabledRange(time, _ref6) {\n var minTime = _ref6.minTime,\n maxTime = _ref6.maxTime;\n\n if (!minTime || !maxTime) {\n throw new Error(\"Both minTime and maxTime props required\");\n }\n\n var base = moment().hours(0).minutes(0).seconds(0);\n var baseTime = base.clone().hours(time.get(\"hours\")).minutes(time.get(\"minutes\"));\n var min = base.clone().hours(minTime.get(\"hours\")).minutes(minTime.get(\"minutes\"));\n var max = base.clone().hours(maxTime.get(\"hours\")).minutes(maxTime.get(\"minutes\"));\n\n return !(baseTime.isSameOrAfter(min) && baseTime.isSameOrBefore(max));\n}\n\nfunction allDaysDisabledBefore(day, unit) {\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n minDate = _ref7.minDate,\n includeDates = _ref7.includeDates;\n\n var dateBefore = day.clone().subtract(1, unit);\n return minDate && dateBefore.isBefore(minDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateBefore.isBefore(includeDate, unit);\n }) || false;\n}\n\nfunction allDaysDisabledAfter(day, unit) {\n var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n maxDate = _ref8.maxDate,\n includeDates = _ref8.includeDates;\n\n var dateAfter = day.clone().add(1, unit);\n return maxDate && dateAfter.isAfter(maxDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateAfter.isAfter(includeDate, unit);\n }) || false;\n}\n\nfunction getEffectiveMinDate(_ref9) {\n var minDate = _ref9.minDate,\n includeDates = _ref9.includeDates;\n\n if (includeDates && minDate) {\n return moment.min(includeDates.filter(function (includeDate) {\n return minDate.isSameOrBefore(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.min(includeDates);\n } else {\n return minDate;\n }\n}\n\nfunction getEffectiveMaxDate(_ref10) {\n var maxDate = _ref10.maxDate,\n includeDates = _ref10.includeDates;\n\n if (includeDates && maxDate) {\n return moment.max(includeDates.filter(function (includeDate) {\n return maxDate.isSameOrAfter(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.max(includeDates);\n } else {\n return maxDate;\n }\n}\n\nfunction getHightLightDaysMap() {\n var highlightDates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var defaultClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"react-datepicker__day--highlighted\";\n\n var dateClasses = new Map();\n for (var i = 0, len = highlightDates.length; i < len; i++) {\n var obj = highlightDates[i];\n if (isMoment(obj)) {\n var key = obj.format(\"MM.DD.YYYY\");\n var classNamesArr = dateClasses.get(key) || [];\n if (!classNamesArr.includes(defaultClassName)) {\n classNamesArr.push(defaultClassName);\n dateClasses.set(key, classNamesArr);\n }\n } else if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\") {\n var keys = Object.keys(obj);\n var className = keys[0];\n var arrOfMoments = obj[keys[0]];\n if (typeof className === \"string\" && arrOfMoments.constructor === Array) {\n for (var k = 0, _len = arrOfMoments.length; k < _len; k++) {\n var _key = arrOfMoments[k].format(\"MM.DD.YYYY\");\n var _classNamesArr = dateClasses.get(_key) || [];\n if (!_classNamesArr.includes(className)) {\n _classNamesArr.push(className);\n dateClasses.set(_key, _classNamesArr);\n }\n }\n }\n }\n }\n\n return dateClasses;\n}\n\nfunction timesToInjectAfter(startOfDay, currentTime, currentMultiplier, intervals, injectedTimes) {\n var l = injectedTimes.length;\n var times = [];\n for (var i = 0; i < l; i++) {\n var injectedTime = addMinutes(addHours(cloneDate(startOfDay), getHour(injectedTimes[i])), getMinute(injectedTimes[i]));\n var nextTime = addMinutes(cloneDate(startOfDay), (currentMultiplier + 1) * intervals);\n\n if (injectedTime.isBetween(currentTime, nextTime)) {\n times.push(injectedTimes[i]);\n }\n }\n\n return times;\n}\n\nvar WrappedYearDropdownOptions = onClickOutside(YearDropdownOptions);\n\nvar YearDropdown = function (_React$Component) {\n inherits(YearDropdown, _React$Component);\n\n function YearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, YearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var minYear = _this.props.minDate ? getYear(_this.props.minDate) : 1900;\n var maxYear = _this.props.maxDate ? getYear(_this.props.maxDate) : 2100;\n\n var options = [];\n for (var i = minYear; i <= maxYear; i++) {\n options.push(React.createElement(\n \"option\",\n { key: i, value: i },\n i\n ));\n }\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: _this.props.year,\n className: \"react-datepicker__year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__year-read-view--selected-year\" },\n _this.props.year\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n year: _this.props.year,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (year) {\n _this.toggleDropdown();\n if (year === _this.props.year) return;\n _this.props.onChange(year);\n }, _this.toggleDropdown = function (event) {\n _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n }, function () {\n if (_this.props.adjustDateOnChange) {\n _this.handleYearChange(_this.props.date, event);\n }\n });\n }, _this.handleYearChange = function (date, event) {\n _this.onSelect(date, event);\n _this.setOpen();\n }, _this.onSelect = function (date, event) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date, event);\n }\n }, _this.setOpen = function () {\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n YearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-dropdown-container react-datepicker__year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return YearDropdown;\n}(React.Component);\n\nYearDropdown.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number,\n date: PropTypes.object,\n onSelect: PropTypes.func,\n setOpen: PropTypes.func\n};\n\nvar MonthDropdownOptions = function (_React$Component) {\n inherits(MonthDropdownOptions, _React$Component);\n\n function MonthDropdownOptions() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdownOptions);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderOptions = function () {\n return _this.props.monthNames.map(function (month, i) {\n return React.createElement(\n \"div\",\n {\n className: _this.props.month === i ? \"react-datepicker__month-option --selected_month\" : \"react-datepicker__month-option\",\n key: month,\n ref: month,\n onClick: _this.onChange.bind(_this, i)\n },\n _this.props.month === i ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n month\n );\n });\n }, _this.onChange = function (month) {\n return _this.props.onChange(month);\n }, _this.handleClickOutside = function () {\n return _this.props.onCancel();\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdownOptions.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__month-dropdown\" },\n this.renderOptions()\n );\n };\n\n return MonthDropdownOptions;\n}(React.Component);\n\nMonthDropdownOptions.propTypes = {\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n month: PropTypes.number.isRequired,\n monthNames: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired\n};\n\nvar WrappedMonthDropdownOptions = onClickOutside(MonthDropdownOptions);\n\nvar MonthDropdown = function (_React$Component) {\n inherits(MonthDropdown, _React$Component);\n\n function MonthDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function (monthNames) {\n return monthNames.map(function (M, i) {\n return React.createElement(\n \"option\",\n { key: i, value: i },\n M\n );\n });\n }, _this.renderSelectMode = function (monthNames) {\n return React.createElement(\n \"select\",\n {\n value: _this.props.month,\n className: \"react-datepicker__month-select\",\n onChange: function onChange(e) {\n return _this.onChange(e.target.value);\n }\n },\n _this.renderSelectOptions(monthNames)\n );\n }, _this.renderReadView = function (visible, monthNames) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-read-view\",\n onClick: _this.toggleDropdown\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-read-view--selected-month\" },\n monthNames[_this.props.month]\n )\n );\n }, _this.renderDropdown = function (monthNames) {\n return React.createElement(WrappedMonthDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n month: _this.props.month,\n monthNames: monthNames,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown\n });\n }, _this.renderScrollMode = function (monthNames) {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible, monthNames)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown(monthNames));\n }\n return result;\n }, _this.onChange = function (month) {\n _this.toggleDropdown();\n if (month !== _this.props.month) {\n _this.props.onChange(month);\n }\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdown.prototype.render = function render() {\n var _this2 = this;\n\n var localeData = getLocaleDataForLocale(this.props.locale);\n var monthNames = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(this.props.useShortMonthInDropdown ? function (M) {\n return getMonthShortInLocale(localeData, newDate({ M: M }));\n } : function (M) {\n return getMonthInLocale(localeData, newDate({ M: M }), _this2.props.dateFormat);\n });\n\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode(monthNames);\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode(monthNames);\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-dropdown-container react-datepicker__month-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthDropdown;\n}(React.Component);\n\nMonthDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n locale: PropTypes.string,\n dateFormat: PropTypes.string.isRequired,\n month: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n useShortMonthInDropdown: PropTypes.bool\n};\n\nfunction generateMonthYears(minDate, maxDate) {\n var list = [];\n\n var currDate = getStartOfMonth(cloneDate(minDate));\n var lastDate = getStartOfMonth(cloneDate(maxDate));\n\n while (!isAfter(currDate, lastDate)) {\n list.push(cloneDate(currDate));\n\n addMonths(currDate, 1);\n }\n\n return list;\n}\n\nvar MonthYearDropdownOptions = function (_React$Component) {\n inherits(MonthYearDropdownOptions, _React$Component);\n\n function MonthYearDropdownOptions(props) {\n classCallCheck(this, MonthYearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n return _this.state.monthYearsList.map(function (monthYear) {\n var monthYearPoint = monthYear.valueOf();\n\n var isSameMonthYear = isSameYear(_this.props.date, monthYear) && isSameMonth(_this.props.date, monthYear);\n\n return React.createElement(\n \"div\",\n {\n className: isSameMonthYear ? \"react-datepicker__month-year-option --selected_month-year\" : \"react-datepicker__month-year-option\",\n key: monthYearPoint,\n ref: monthYearPoint,\n onClick: _this.onChange.bind(_this, monthYearPoint)\n },\n isSameMonthYear ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n formatDate(monthYear, _this.props.dateFormat)\n );\n });\n };\n\n _this.onChange = function (monthYear) {\n return _this.props.onChange(monthYear);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.state = {\n monthYearsList: generateMonthYears(_this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n MonthYearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__month-year-dropdown\": true,\n \"react-datepicker__month-year-dropdown--scrollable\": this.props.scrollableMonthYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return MonthYearDropdownOptions;\n}(React.Component);\n\nMonthYearDropdownOptions.propTypes = {\n minDate: PropTypes.object.isRequired,\n maxDate: PropTypes.object.isRequired,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool,\n date: PropTypes.object.isRequired,\n dateFormat: PropTypes.string.isRequired\n};\n\nvar WrappedMonthYearDropdownOptions = onClickOutside(MonthYearDropdownOptions);\n\nvar MonthYearDropdown = function (_React$Component) {\n inherits(MonthYearDropdown, _React$Component);\n\n function MonthYearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthYearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var currDate = getStartOfMonth(localizeDate(_this.props.minDate, _this.props.locale));\n var lastDate = getStartOfMonth(localizeDate(_this.props.maxDate, _this.props.locale));\n\n var options = [];\n\n while (!isAfter(currDate, lastDate)) {\n var timepoint = currDate.valueOf();\n options.push(React.createElement(\n \"option\",\n { key: timepoint, value: timepoint },\n formatDate(currDate, _this.props.dateFormat)\n ));\n\n addMonths(currDate, 1);\n }\n\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: getStartOfMonth(_this.props.date).valueOf(),\n className: \"react-datepicker__month-year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n var yearMonth = formatDate(localizeDate(newDate(_this.props.date), _this.props.locale), _this.props.dateFormat);\n\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-read-view--selected-month-year\" },\n yearMonth\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedMonthYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n date: _this.props.date,\n dateFormat: _this.props.dateFormat,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: localizeDate(_this.props.minDate, _this.props.locale),\n maxDate: localizeDate(_this.props.maxDate, _this.props.locale),\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (monthYearPoint) {\n _this.toggleDropdown();\n\n var changedDate = newDate(parseInt(monthYearPoint));\n\n if (isSameYear(_this.props.date, changedDate) && isSameMonth(_this.props.date, changedDate)) {\n return;\n }\n\n _this.props.onChange(changedDate);\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthYearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-year-dropdown-container react-datepicker__month-year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthYearDropdown;\n}(React.Component);\n\nMonthYearDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n dateFormat: PropTypes.string.isRequired,\n locale: PropTypes.string,\n maxDate: PropTypes.object.isRequired,\n minDate: PropTypes.object.isRequired,\n date: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool\n};\n\nvar Day = function (_React$Component) {\n inherits(Day, _React$Component);\n\n function Day() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Day);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (!_this.isDisabled() && _this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _this.handleMouseEnter = function (event) {\n if (!_this.isDisabled() && _this.props.onMouseEnter) {\n _this.props.onMouseEnter(event);\n }\n }, _this.isSameDay = function (other) {\n return isSameDay(_this.props.day, other);\n }, _this.isKeyboardSelected = function () {\n return !_this.props.disabledKeyboardNavigation && !_this.props.inline && !_this.isSameDay(_this.props.selected) && _this.isSameDay(_this.props.preSelection);\n }, _this.isDisabled = function () {\n return isDayDisabled(_this.props.day, _this.props);\n }, _this.getHighLightedClass = function (defaultClassName) {\n var _this$props = _this.props,\n day = _this$props.day,\n highlightDates = _this$props.highlightDates;\n\n\n if (!highlightDates) {\n return false;\n }\n\n // Looking for className in the Map of {'day string, 'className'}\n var dayStr = day.format(\"MM.DD.YYYY\");\n return highlightDates.get(dayStr);\n }, _this.isInRange = function () {\n var _this$props2 = _this.props,\n day = _this$props2.day,\n startDate = _this$props2.startDate,\n endDate = _this$props2.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isDayInRange(day, startDate, endDate);\n }, _this.isInSelectingRange = function () {\n var _this$props3 = _this.props,\n day = _this$props3.day,\n selectsStart = _this$props3.selectsStart,\n selectsEnd = _this$props3.selectsEnd,\n selectingDate = _this$props3.selectingDate,\n startDate = _this$props3.startDate,\n endDate = _this$props3.endDate;\n\n\n if (!(selectsStart || selectsEnd) || !selectingDate || _this.isDisabled()) {\n return false;\n }\n\n if (selectsStart && endDate && selectingDate.isSameOrBefore(endDate)) {\n return isDayInRange(day, selectingDate, endDate);\n }\n\n if (selectsEnd && startDate && selectingDate.isSameOrAfter(startDate)) {\n return isDayInRange(day, startDate, selectingDate);\n }\n\n return false;\n }, _this.isSelectingRangeStart = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props4 = _this.props,\n day = _this$props4.day,\n selectingDate = _this$props4.selectingDate,\n startDate = _this$props4.startDate,\n selectsStart = _this$props4.selectsStart;\n\n\n if (selectsStart) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, startDate);\n }\n }, _this.isSelectingRangeEnd = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props5 = _this.props,\n day = _this$props5.day,\n selectingDate = _this$props5.selectingDate,\n endDate = _this$props5.endDate,\n selectsEnd = _this$props5.selectsEnd;\n\n\n if (selectsEnd) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, endDate);\n }\n }, _this.isRangeStart = function () {\n var _this$props6 = _this.props,\n day = _this$props6.day,\n startDate = _this$props6.startDate,\n endDate = _this$props6.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(startDate, day);\n }, _this.isRangeEnd = function () {\n var _this$props7 = _this.props,\n day = _this$props7.day,\n startDate = _this$props7.startDate,\n endDate = _this$props7.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(endDate, day);\n }, _this.isWeekend = function () {\n var weekday = getDay(_this.props.day);\n return weekday === 0 || weekday === 6;\n }, _this.isOutsideMonth = function () {\n return _this.props.month !== undefined && _this.props.month !== getMonth(_this.props.day);\n }, _this.getClassNames = function (date) {\n var dayClassName = _this.props.dayClassName ? _this.props.dayClassName(date) : undefined;\n return classnames(\"react-datepicker__day\", dayClassName, \"react-datepicker__day--\" + getDayOfWeekCode(_this.props.day), {\n \"react-datepicker__day--disabled\": _this.isDisabled(),\n \"react-datepicker__day--selected\": _this.isSameDay(_this.props.selected),\n \"react-datepicker__day--keyboard-selected\": _this.isKeyboardSelected(),\n \"react-datepicker__day--range-start\": _this.isRangeStart(),\n \"react-datepicker__day--range-end\": _this.isRangeEnd(),\n \"react-datepicker__day--in-range\": _this.isInRange(),\n \"react-datepicker__day--in-selecting-range\": _this.isInSelectingRange(),\n \"react-datepicker__day--selecting-range-start\": _this.isSelectingRangeStart(),\n \"react-datepicker__day--selecting-range-end\": _this.isSelectingRangeEnd(),\n \"react-datepicker__day--today\": _this.isSameDay(now(_this.props.utcOffset)),\n \"react-datepicker__day--weekend\": _this.isWeekend(),\n \"react-datepicker__day--outside-month\": _this.isOutsideMonth()\n }, _this.getHighLightedClass(\"react-datepicker__day--highlighted\"));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Day.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(this.props.day),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n \"aria-label\": \"day-\" + getDate(this.props.day),\n role: \"option\"\n },\n this.props.renderDayContents ? this.props.renderDayContents(getDate(this.props.day)) : getDate(this.props.day)\n );\n };\n\n return Day;\n}(React.Component);\n\nDay.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n highlightDates: PropTypes.instanceOf(Map),\n inline: PropTypes.bool,\n month: PropTypes.number,\n onClick: PropTypes.func,\n onMouseEnter: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar WeekNumber = function (_React$Component) {\n inherits(WeekNumber, _React$Component);\n\n function WeekNumber() {\n var _temp, _this, _ret;\n\n classCallCheck(this, WeekNumber);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n WeekNumber.prototype.render = function render() {\n var weekNumberClasses = {\n \"react-datepicker__week-number\": true,\n \"react-datepicker__week-number--clickable\": !!this.props.onClick\n };\n return React.createElement(\n \"div\",\n {\n className: classnames(weekNumberClasses),\n \"aria-label\": \"week-\" + this.props.weekNumber,\n onClick: this.handleClick\n },\n this.props.weekNumber\n );\n };\n\n return WeekNumber;\n}(React.Component);\n\nWeekNumber.propTypes = {\n weekNumber: PropTypes.number.isRequired,\n onClick: PropTypes.func\n};\n\nvar Week = function (_React$Component) {\n inherits(Week, _React$Component);\n\n function Week() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Week);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleWeekClick = function (day, weekNumber, event) {\n if (typeof _this.props.onWeekSelect === \"function\") {\n _this.props.onWeekSelect(day, weekNumber, event);\n }\n }, _this.formatWeekNumber = function (startOfWeek) {\n if (_this.props.formatWeekNumber) {\n return _this.props.formatWeekNumber(startOfWeek);\n }\n return getWeek(startOfWeek);\n }, _this.renderDays = function () {\n var startOfWeek = getStartOfWeek(cloneDate(_this.props.day));\n var days = [];\n var weekNumber = _this.formatWeekNumber(startOfWeek);\n if (_this.props.showWeekNumber) {\n var onClickAction = _this.props.onWeekSelect ? _this.handleWeekClick.bind(_this, startOfWeek, weekNumber) : undefined;\n days.push(React.createElement(WeekNumber, { key: \"W\", weekNumber: weekNumber, onClick: onClickAction }));\n }\n return days.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n return React.createElement(Day, {\n key: offset,\n day: day,\n month: _this.props.month,\n onClick: _this.handleDayClick.bind(_this, day),\n onMouseEnter: _this.handleDayMouseEnter.bind(_this, day),\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n });\n }));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Week.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__week\" },\n this.renderDays()\n );\n };\n\n return Week;\n}(React.Component);\n\nWeek.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n month: PropTypes.number,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onWeekSelect: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar FIXED_HEIGHT_STANDARD_WEEK_COUNT = 6;\n\nvar Month = function (_React$Component) {\n inherits(Month, _React$Component);\n\n function Month() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Month);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleMouseLeave = function () {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave();\n }\n }, _this.isWeekInMonth = function (startOfWeek) {\n var day = _this.props.day;\n var endOfWeek = addDays(cloneDate(startOfWeek), 6);\n return isSameMonth(startOfWeek, day) || isSameMonth(endOfWeek, day);\n }, _this.renderWeeks = function () {\n var weeks = [];\n var isFixedHeight = _this.props.fixedHeight;\n var currentWeekStart = getStartOfWeek(getStartOfMonth(cloneDate(_this.props.day)));\n var i = 0;\n var breakAfterNextPush = false;\n\n while (true) {\n weeks.push(React.createElement(Week, {\n key: i,\n day: currentWeekStart,\n month: getMonth(_this.props.day),\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumber: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderDayContents: _this.props.renderDayContents\n }));\n\n if (breakAfterNextPush) break;\n\n i++;\n currentWeekStart = addWeeks(cloneDate(currentWeekStart), 1);\n\n // If one of these conditions is true, we will either break on this week\n // or break on the next week\n var isFixedAndFinalWeek = isFixedHeight && i >= FIXED_HEIGHT_STANDARD_WEEK_COUNT;\n var isNonFixedAndOutOfMonth = !isFixedHeight && !_this.isWeekInMonth(currentWeekStart);\n\n if (isFixedAndFinalWeek || isNonFixedAndOutOfMonth) {\n if (_this.props.peekNextMonth) {\n breakAfterNextPush = true;\n } else {\n break;\n }\n }\n }\n\n return weeks;\n }, _this.getClassNames = function () {\n var _this$props = _this.props,\n selectingDate = _this$props.selectingDate,\n selectsStart = _this$props.selectsStart,\n selectsEnd = _this$props.selectsEnd;\n\n return classnames(\"react-datepicker__month\", {\n \"react-datepicker__month--selecting-range\": selectingDate && (selectsStart || selectsEnd)\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Month.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(),\n onMouseLeave: this.handleMouseLeave,\n role: \"listbox\",\n \"aria-label\": \"month-\" + this.props.day.format(\"YYYY-MM\")\n },\n this.renderWeeks()\n );\n };\n\n return Month;\n}(React.Component);\n\nMonth.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onWeekSelect: PropTypes.func,\n peekNextMonth: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar Time = function (_React$Component) {\n inherits(Time, _React$Component);\n\n function Time() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Time);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (time) {\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n return;\n }\n\n _this.props.onChange(time);\n }, _this.liClasses = function (time, currH, currM) {\n var classes = [\"react-datepicker__time-list-item\"];\n\n if (currH === getHour(time) && currM === getMinute(time)) {\n classes.push(\"react-datepicker__time-list-item--selected\");\n }\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n classes.push(\"react-datepicker__time-list-item--disabled\");\n }\n if (_this.props.injectTimes && (getHour(time) * 60 + getMinute(time)) % _this.props.intervals !== 0) {\n classes.push(\"react-datepicker__time-list-item--injected\");\n }\n\n return classes.join(\" \");\n }, _this.renderTimes = function () {\n var times = [];\n var format = _this.props.format ? _this.props.format : \"hh:mm A\";\n var intervals = _this.props.intervals;\n var activeTime = _this.props.selected ? _this.props.selected : newDate();\n var currH = getHour(activeTime);\n var currM = getMinute(activeTime);\n var base = getStartOfDay(newDate());\n var multiplier = 1440 / intervals;\n var sortedInjectTimes = _this.props.injectTimes && _this.props.injectTimes.sort(function (a, b) {\n return a - b;\n });\n for (var i = 0; i < multiplier; i++) {\n var currentTime = addMinutes(cloneDate(base), i * intervals);\n times.push(currentTime);\n\n if (sortedInjectTimes) {\n var timesToInject = timesToInjectAfter(base, currentTime, i, intervals, sortedInjectTimes);\n times = times.concat(timesToInject);\n }\n }\n\n return times.map(function (time, i) {\n return React.createElement(\n \"li\",\n {\n key: i,\n onClick: _this.handleClick.bind(_this, time),\n className: _this.liClasses(time, currH, currM),\n ref: function ref(li) {\n if (currH === getHour(time) && currM === getMinute(time) || currH === getHour(time) && !_this.centerLi) {\n _this.centerLi = li;\n }\n }\n },\n formatDate(time, format)\n );\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Time.prototype.componentDidMount = function componentDidMount() {\n // code to ensure selected time will always be in focus within time window when it first appears\n this.list.scrollTop = Time.calcCenterPosition(this.props.monthRef ? this.props.monthRef.clientHeight - this.header.clientHeight : this.list.clientHeight, this.centerLi);\n };\n\n Time.prototype.render = function render() {\n var _this2 = this;\n\n var height = null;\n if (this.props.monthRef && this.header) {\n height = this.props.monthRef.clientHeight - this.header.clientHeight;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__time-container \" + (this.props.todayButton ? \"react-datepicker__time-container--with-today-button\" : \"\")\n },\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--time\",\n ref: function ref(header) {\n _this2.header = header;\n }\n },\n React.createElement(\n \"div\",\n { className: \"react-datepicker-time__header\" },\n this.props.timeCaption\n )\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time\" },\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time-box\" },\n React.createElement(\n \"ul\",\n {\n className: \"react-datepicker__time-list\",\n ref: function ref(list) {\n _this2.list = list;\n },\n style: height ? { height: height } : {}\n },\n this.renderTimes.bind(this)()\n )\n )\n )\n );\n };\n\n createClass(Time, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n intervals: 30,\n onTimeChange: function onTimeChange() {},\n todayButton: null,\n timeCaption: \"Time\"\n };\n }\n }]);\n return Time;\n}(React.Component);\n\nTime.propTypes = {\n format: PropTypes.string,\n includeTimes: PropTypes.array,\n intervals: PropTypes.number,\n selected: PropTypes.object,\n onChange: PropTypes.func,\n todayButton: PropTypes.node,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n monthRef: PropTypes.object,\n timeCaption: PropTypes.string,\n injectTimes: PropTypes.array\n};\n\nTime.calcCenterPosition = function (listHeight, centerLiRef) {\n return centerLiRef.offsetTop - (listHeight / 2 - centerLiRef.clientHeight / 2);\n};\n\nfunction CalendarContainer(_ref) {\n var className = _ref.className,\n children = _ref.children,\n _ref$arrowProps = _ref.arrowProps,\n arrowProps = _ref$arrowProps === undefined ? {} : _ref$arrowProps;\n\n return React.createElement(\n \"div\",\n { className: className },\n React.createElement(\"div\", _extends({ className: \"react-datepicker__triangle\" }, arrowProps)),\n children\n );\n}\n\nCalendarContainer.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n arrowProps: PropTypes.object // react-popper arrow props\n};\n\nvar DROPDOWN_FOCUS_CLASSNAMES = [\"react-datepicker__year-select\", \"react-datepicker__month-select\", \"react-datepicker__month-year-select\"];\n\nvar isDropdownSelect = function isDropdownSelect() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var classNames = (element.className || \"\").split(/\\s+/);\n return DROPDOWN_FOCUS_CLASSNAMES.some(function (testClassname) {\n return classNames.indexOf(testClassname) >= 0;\n });\n};\n\nvar Calendar = function (_React$Component) {\n inherits(Calendar, _React$Component);\n createClass(Calendar, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n onDropdownFocus: function onDropdownFocus() {},\n monthsShown: 1,\n forceShowMonthNavigation: false,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next Month\"\n };\n }\n }]);\n\n function Calendar(props) {\n classCallCheck(this, Calendar);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleClickOutside = function (event) {\n _this.props.onClickOutside(event);\n };\n\n _this.handleDropdownFocus = function (event) {\n if (isDropdownSelect(event.target)) {\n _this.props.onDropdownFocus();\n }\n };\n\n _this.getDateInView = function () {\n var _this$props = _this.props,\n preSelection = _this$props.preSelection,\n selected = _this$props.selected,\n openToDate = _this$props.openToDate,\n utcOffset = _this$props.utcOffset;\n\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var current = now(utcOffset);\n var initialDate = openToDate || selected || preSelection;\n if (initialDate) {\n return initialDate;\n } else {\n if (minDate && isBefore(current, minDate)) {\n return minDate;\n } else if (maxDate && isAfter(current, maxDate)) {\n return maxDate;\n }\n }\n return current;\n };\n\n _this.localizeDate = function (date) {\n return localizeDate(date, _this.props.locale);\n };\n\n _this.increaseMonth = function () {\n _this.setState({\n date: addMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.decreaseMonth = function () {\n _this.setState({\n date: subtractMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.handleDayClick = function (day, event) {\n return _this.props.onSelect(day, event);\n };\n\n _this.handleDayMouseEnter = function (day) {\n return _this.setState({ selectingDate: day });\n };\n\n _this.handleMonthMouseLeave = function () {\n return _this.setState({ selectingDate: null });\n };\n\n _this.handleYearChange = function (date) {\n if (_this.props.onYearChange) {\n _this.props.onYearChange(date);\n }\n };\n\n _this.handleMonthChange = function (date) {\n if (_this.props.onMonthChange) {\n _this.props.onMonthChange(date);\n }\n if (_this.props.adjustDateOnChange) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date);\n }\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }\n };\n\n _this.handleMonthYearChange = function (date) {\n _this.handleYearChange(date);\n _this.handleMonthChange(date);\n };\n\n _this.changeYear = function (year) {\n _this.setState({\n date: setYear(cloneDate(_this.state.date), year)\n }, function () {\n return _this.handleYearChange(_this.state.date);\n });\n };\n\n _this.changeMonth = function (month) {\n _this.setState({\n date: setMonth(cloneDate(_this.state.date), month)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.changeMonthYear = function (monthYear) {\n _this.setState({\n date: setYear(setMonth(cloneDate(_this.state.date), getMonth(monthYear)), getYear(monthYear))\n }, function () {\n return _this.handleMonthYearChange(_this.state.date);\n });\n };\n\n _this.header = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var startOfWeek = getStartOfWeek(cloneDate(date));\n var dayNames = [];\n if (_this.props.showWeekNumbers) {\n dayNames.push(React.createElement(\n \"div\",\n { key: \"W\", className: \"react-datepicker__day-name\" },\n _this.props.weekLabel || \"#\"\n ));\n }\n return dayNames.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n var localeData = getLocaleData(day);\n var weekDayName = _this.formatWeekday(localeData, day);\n\n return React.createElement(\n \"div\",\n { key: offset, className: \"react-datepicker__day-name\" },\n weekDayName\n );\n }));\n };\n\n _this.formatWeekday = function (localeData, day) {\n if (_this.props.formatWeekDay) {\n return getFormattedWeekdayInLocale(localeData, day, _this.props.formatWeekDay);\n }\n return _this.props.useWeekdaysShort ? getWeekdayShortInLocale(localeData, day) : getWeekdayMinInLocale(localeData, day);\n };\n\n _this.renderPreviousMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allPrevDaysDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allPrevDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--previous\"];\n\n var clickHandler = _this.decreaseMonth;\n\n if (allPrevDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--previous--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.previousMonthButtonLabel\n );\n };\n\n _this.renderNextMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allNextDaysDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allNextDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--next\"];\n if (_this.props.showTimeSelect) {\n classes.push(\"react-datepicker__navigation--next--with-time\");\n }\n if (_this.props.todayButton) {\n classes.push(\"react-datepicker__navigation--next--with-today-button\");\n }\n\n var clickHandler = _this.increaseMonth;\n\n if (allNextDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--next--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.nextMonthButtonLabel\n );\n };\n\n _this.renderCurrentMonth = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var classes = [\"react-datepicker__current-month\"];\n\n if (_this.props.showYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasYearDropdown\");\n }\n if (_this.props.showMonthDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthDropdown\");\n }\n if (_this.props.showMonthYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthYearDropdown\");\n }\n return React.createElement(\n \"div\",\n { className: classes.join(\" \") },\n formatDate(date, _this.props.dateFormat)\n );\n };\n\n _this.renderYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(YearDropdown, {\n adjustDateOnChange: _this.props.adjustDateOnChange,\n date: _this.state.date,\n onSelect: _this.props.onSelect,\n setOpen: _this.props.setOpen,\n dropdownMode: _this.props.dropdownMode,\n onChange: _this.changeYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n year: getYear(_this.state.date),\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n };\n\n _this.renderMonthDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonth,\n month: getMonth(_this.state.date),\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown\n });\n };\n\n _this.renderMonthYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthYearDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonthYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n date: _this.state.date,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n };\n\n _this.renderTodayButton = function () {\n if (!_this.props.todayButton || _this.props.showTimeSelectOnly) {\n return;\n }\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__today-button\",\n onClick: function onClick(e) {\n return _this.props.onSelect(getStartOfDate(now(_this.props.utcOffset)), e);\n }\n },\n _this.props.todayButton\n );\n };\n\n _this.renderDefaultHeader = function (_ref) {\n var monthDate = _ref.monthDate,\n i = _ref.i;\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__header\" },\n _this.renderCurrentMonth(monthDate),\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header__dropdown react-datepicker__header__dropdown--\" + _this.props.dropdownMode,\n onFocus: _this.handleDropdownFocus\n },\n _this.renderMonthDropdown(i !== 0),\n _this.renderMonthYearDropdown(i !== 0),\n _this.renderYearDropdown(i !== 0)\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderCustomHeader = function (_ref2) {\n var monthDate = _ref2.monthDate,\n i = _ref2.i;\n\n if (i !== 0) {\n return null;\n }\n\n var prevMonthButtonDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n var nextMonthButtonDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--custom\",\n onFocus: _this.props.onDropdownFocus\n },\n _this.props.renderCustomHeader(_extends({}, _this.state, {\n changeMonth: _this.changeMonth,\n changeYear: _this.changeYear,\n decreaseMonth: _this.decreaseMonth,\n increaseMonth: _this.increaseMonth,\n prevMonthButtonDisabled: prevMonthButtonDisabled,\n nextMonthButtonDisabled: nextMonthButtonDisabled\n })),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderMonths = function () {\n if (_this.props.showTimeSelectOnly) {\n return;\n }\n\n var monthList = [];\n for (var i = 0; i < _this.props.monthsShown; ++i) {\n var monthDate = addMonths(cloneDate(_this.state.date), i);\n var monthKey = \"month-\" + i;\n monthList.push(React.createElement(\n \"div\",\n {\n key: monthKey,\n ref: function ref(div) {\n _this.monthContainer = div;\n },\n className: \"react-datepicker__month-container\"\n },\n _this.props.renderCustomHeader ? _this.renderCustomHeader({ monthDate: monthDate, i: i }) : _this.renderDefaultHeader({ monthDate: monthDate, i: i }),\n React.createElement(Month, {\n day: monthDate,\n dayClassName: _this.props.dayClassName,\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onMouseLeave: _this.handleMonthMouseLeave,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.state.selectingDate,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n fixedHeight: _this.props.fixedHeight,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumbers: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n peekNextMonth: _this.props.peekNextMonth,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n })\n ));\n }\n return monthList;\n };\n\n _this.renderTimeSection = function () {\n if (_this.props.showTimeSelect && (_this.state.monthContainer || _this.props.showTimeSelectOnly)) {\n return React.createElement(Time, {\n selected: _this.props.selected,\n onChange: _this.props.onTimeChange,\n format: _this.props.timeFormat,\n includeTimes: _this.props.includeTimes,\n intervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n todayButton: _this.props.todayButton,\n showMonthDropdown: _this.props.showMonthDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n monthRef: _this.state.monthContainer,\n injectTimes: _this.props.injectTimes\n });\n }\n };\n\n _this.state = {\n date: _this.localizeDate(_this.getDateInView()),\n selectingDate: null,\n monthContainer: null\n };\n return _this;\n }\n\n Calendar.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // monthContainer height is needed in time component\n // to determine the height for the ul in the time component\n // setState here so height is given after final component\n // layout is rendered\n if (this.props.showTimeSelect) {\n this.assignMonthContainer = function () {\n _this2.setState({ monthContainer: _this2.monthContainer });\n }();\n }\n };\n\n Calendar.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.preSelection && !isSameDay(this.props.preSelection, prevProps.preSelection)) {\n this.setState({\n date: this.localizeDate(this.props.preSelection)\n });\n } else if (this.props.openToDate && !isSameDay(this.props.openToDate, prevProps.openToDate)) {\n this.setState({\n date: this.localizeDate(this.props.openToDate)\n });\n }\n };\n\n Calendar.prototype.render = function render() {\n var Container = this.props.container || CalendarContainer;\n\n return React.createElement(\n Container,\n {\n className: classnames(\"react-datepicker\", this.props.className, {\n \"react-datepicker--time-only\": this.props.showTimeSelectOnly\n })\n },\n this.renderPreviousMonthButton(),\n this.renderNextMonthButton(),\n this.renderMonths(),\n this.renderTodayButton(),\n this.renderTimeSection(),\n this.props.children\n );\n };\n\n return Calendar;\n}(React.Component);\n\nCalendar.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n container: PropTypes.func,\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n dayClassName: PropTypes.func,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]),\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n onClickOutside: PropTypes.func.isRequired,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n forceShowMonthNavigation: PropTypes.bool,\n onDropdownFocus: PropTypes.func,\n onSelect: PropTypes.func.isRequired,\n onWeekSelect: PropTypes.func,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n onTimeChange: PropTypes.func,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n timeCaption: PropTypes.string,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n startDate: PropTypes.object,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n withPortal: PropTypes.bool,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n weekLabel: PropTypes.string,\n yearDropdownItemNumber: PropTypes.number,\n setOpen: PropTypes.func,\n useShortMonthInDropdown: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\n\nvar popperPlacementPositions = [\"bottom\", \"bottom-end\", \"bottom-start\", \"left\", \"left-end\", \"left-start\", \"right\", \"right-end\", \"right-start\", \"top\", \"top-end\", \"top-start\"];\n\nvar PopperComponent = function (_React$Component) {\n inherits(PopperComponent, _React$Component);\n\n function PopperComponent() {\n classCallCheck(this, PopperComponent);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n PopperComponent.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n hidePopper = _props.hidePopper,\n popperComponent = _props.popperComponent,\n popperModifiers = _props.popperModifiers,\n popperPlacement = _props.popperPlacement,\n popperProps = _props.popperProps,\n targetComponent = _props.targetComponent;\n\n\n var popper = void 0;\n\n if (!hidePopper) {\n var classes = classnames(\"react-datepicker-popper\", className);\n popper = React.createElement(\n Popper,\n _extends({\n modifiers: popperModifiers,\n placement: popperPlacement\n }, popperProps),\n function (_ref) {\n var ref = _ref.ref,\n style = _ref.style,\n placement = _ref.placement,\n arrowProps = _ref.arrowProps;\n return React.createElement(\n \"div\",\n _extends({ ref: ref, style: style }, {\n className: classes,\n \"data-placement\": placement\n }),\n React.cloneElement(popperComponent, { arrowProps: arrowProps })\n );\n }\n );\n }\n\n if (this.props.popperContainer) {\n popper = React.createElement(this.props.popperContainer, {}, popper);\n }\n\n return React.createElement(\n Manager,\n null,\n React.createElement(\n Reference,\n null,\n function (_ref2) {\n var ref = _ref2.ref;\n return React.createElement(\n \"div\",\n { ref: ref, className: \"react-datepicker-wrapper\" },\n targetComponent\n );\n }\n ),\n popper\n );\n };\n\n createClass(PopperComponent, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n hidePopper: true,\n popperModifiers: {\n preventOverflow: {\n enabled: true,\n escapeWithReference: true,\n boundariesElement: \"viewport\"\n }\n },\n popperProps: {},\n popperPlacement: \"bottom-start\"\n };\n }\n }]);\n return PopperComponent;\n}(React.Component);\n\nPopperComponent.propTypes = {\n className: PropTypes.string,\n hidePopper: PropTypes.bool,\n popperComponent: PropTypes.element,\n popperModifiers: PropTypes.object, // <datepicker/> props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // <datepicker/> props\n popperContainer: PropTypes.func,\n popperProps: PropTypes.object,\n targetComponent: PropTypes.element\n};\n\nvar outsideClickIgnoreClass = \"react-datepicker-ignore-onclickoutside\";\nvar WrappedCalendar = onClickOutside(Calendar);\n\n// Compares dates year+month combinations\nfunction hasPreSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return getMonth(date1) !== getMonth(date2) || getYear(date1) !== getYear(date2);\n }\n\n return date1 !== date2;\n}\n\nfunction hasSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return !equals(date1, date2);\n }\n\n return false;\n}\n\n/**\n * General datepicker component.\n */\nvar INPUT_ERR_1 = \"Date input not valid.\";\n\nvar DatePicker = function (_React$Component) {\n inherits(DatePicker, _React$Component);\n createClass(DatePicker, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n allowSameDay: false,\n dateFormat: \"L\",\n dateFormatCalendar: \"MMMM YYYY\",\n onChange: function onChange() {},\n\n disabled: false,\n disabledKeyboardNavigation: false,\n dropdownMode: \"scroll\",\n onFocus: function onFocus() {},\n onBlur: function onBlur() {},\n onKeyDown: function onKeyDown() {},\n onInputClick: function onInputClick() {},\n onSelect: function onSelect() {},\n onClickOutside: function onClickOutside$$1() {},\n onMonthChange: function onMonthChange() {},\n\n preventOpenOnFocus: false,\n onYearChange: function onYearChange() {},\n onInputError: function onInputError() {},\n\n monthsShown: 1,\n readOnly: false,\n withPortal: false,\n shouldCloseOnSelect: true,\n showTimeSelect: false,\n timeIntervals: 30,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next month\",\n renderDayContents: function renderDayContents(date) {\n return date;\n }\n };\n }\n }]);\n\n function DatePicker(props) {\n classCallCheck(this, DatePicker);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.getPreSelection = function () {\n return _this.props.openToDate ? newDate(_this.props.openToDate) : _this.props.selectsEnd && _this.props.startDate ? newDate(_this.props.startDate) : _this.props.selectsStart && _this.props.endDate ? newDate(_this.props.endDate) : now(_this.props.utcOffset);\n };\n\n _this.calcInitialState = function () {\n var defaultPreSelection = _this.getPreSelection();\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var boundedPreSelection = minDate && isBefore(defaultPreSelection, minDate) ? minDate : maxDate && isAfter(defaultPreSelection, maxDate) ? maxDate : defaultPreSelection;\n return {\n open: _this.props.startOpen || false,\n preventFocus: false,\n preSelection: _this.props.selected ? newDate(_this.props.selected) : boundedPreSelection,\n // transforming highlighted days (perhaps nested array)\n // to flat Map for faster access in day.jsx\n highlightDates: getHightLightDaysMap(_this.props.highlightDates),\n focused: false\n };\n };\n\n _this.clearPreventFocusTimeout = function () {\n if (_this.preventFocusTimeout) {\n clearTimeout(_this.preventFocusTimeout);\n }\n };\n\n _this.setFocus = function () {\n if (_this.input && _this.input.focus) {\n _this.input.focus();\n }\n };\n\n _this.setBlur = function () {\n if (_this.input && _this.input.blur) {\n _this.input.blur();\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur();\n }\n\n _this.cancelFocusInput();\n };\n\n _this.setOpen = function (open) {\n var skipSetBlur = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n _this.setState({\n open: open,\n preSelection: open && _this.state.open ? _this.state.preSelection : _this.calcInitialState().preSelection,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE\n }, function () {\n if (!open) {\n _this.setState(function (prev) {\n return {\n focused: skipSetBlur ? prev.focused : false\n };\n }, function () {\n !skipSetBlur && _this.setBlur();\n\n _this.setState({ inputValue: null });\n });\n }\n });\n };\n\n _this.inputOk = function () {\n return isMoment(_this.state.preSelection) || isDate(_this.state.preSelection);\n };\n\n _this.isCalendarOpen = function () {\n return _this.props.open === undefined ? _this.state.open && !_this.props.disabled && !_this.props.readOnly : _this.props.open;\n };\n\n _this.handleFocus = function (event) {\n if (!_this.state.preventFocus) {\n _this.props.onFocus(event);\n if (!_this.props.preventOpenOnFocus && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n }\n _this.setState({ focused: true });\n };\n\n _this.cancelFocusInput = function () {\n clearTimeout(_this.inputFocusTimeout);\n _this.inputFocusTimeout = null;\n };\n\n _this.deferFocusInput = function () {\n _this.cancelFocusInput();\n _this.inputFocusTimeout = setTimeout(function () {\n return _this.setFocus();\n }, 1);\n };\n\n _this.handleDropdownFocus = function () {\n _this.cancelFocusInput();\n };\n\n _this.handleBlur = function (event) {\n if (_this.state.open && !_this.props.withPortal) {\n _this.deferFocusInput();\n } else {\n _this.props.onBlur(event);\n }\n _this.setState({ focused: false });\n };\n\n _this.handleCalendarClickOutside = function (event) {\n if (!_this.props.inline) {\n _this.setOpen(false);\n }\n _this.props.onClickOutside(event);\n if (_this.props.withPortal) {\n event.preventDefault();\n }\n };\n\n _this.handleChange = function () {\n for (var _len = arguments.length, allArgs = Array(_len), _key = 0; _key < _len; _key++) {\n allArgs[_key] = arguments[_key];\n }\n\n var event = allArgs[0];\n if (_this.props.onChangeRaw) {\n _this.props.onChangeRaw.apply(_this, allArgs);\n if (typeof event.isDefaultPrevented !== \"function\" || event.isDefaultPrevented()) {\n return;\n }\n }\n _this.setState({\n inputValue: event.target.value,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_INPUT\n });\n var date = parseDate(event.target.value, _this.props);\n if (date || !event.target.value) {\n _this.setSelected(date, event, true);\n }\n };\n\n _this.handleSelect = function (date, event) {\n // Preventing onFocus event to fix issue\n // https://github.com/Hacker0x01/react-datepicker/issues/628\n _this.setState({ preventFocus: true }, function () {\n _this.preventFocusTimeout = setTimeout(function () {\n return _this.setState({ preventFocus: false });\n }, 50);\n return _this.preventFocusTimeout;\n });\n _this.setSelected(date, event);\n if (!_this.props.shouldCloseOnSelect || _this.props.showTimeSelect) {\n _this.setPreSelection(date);\n } else if (!_this.props.inline) {\n _this.setOpen(false);\n }\n };\n\n _this.setSelected = function (date, event, keepInput) {\n var changedDate = date;\n\n if (changedDate !== null && isDayDisabled(changedDate, _this.props)) {\n if (isOutOfBounds(changedDate, _this.props)) {\n _this.props.onChange(date, event);\n _this.props.onSelect(changedDate, event);\n }\n\n return;\n }\n\n if (!isSameDay(_this.props.selected, changedDate) || _this.props.allowSameDay) {\n if (changedDate !== null) {\n if (_this.props.selected) {\n var selected = _this.props.selected;\n if (keepInput) selected = newDate(changedDate);\n changedDate = setTime(newDate(changedDate), {\n hour: getHour(selected),\n minute: getMinute(selected),\n second: getSecond(selected)\n });\n }\n if (!_this.props.inline) {\n _this.setState({\n preSelection: changedDate\n });\n }\n }\n _this.props.onChange(changedDate, event);\n }\n\n _this.props.onSelect(changedDate, event);\n\n if (!keepInput) {\n _this.setState({ inputValue: null });\n }\n };\n\n _this.setPreSelection = function (date) {\n var isDateRangePresent = typeof _this.props.minDate !== \"undefined\" && typeof _this.props.maxDate !== \"undefined\";\n var isValidDateSelection = isDateRangePresent && date ? isDayInRange(date, _this.props.minDate, _this.props.maxDate) : true;\n if (isValidDateSelection) {\n _this.setState({\n preSelection: date\n });\n }\n };\n\n _this.handleTimeChange = function (time) {\n var selected = _this.props.selected ? _this.props.selected : _this.getPreSelection();\n var changedDate = setTime(cloneDate(selected), {\n hour: getHour(time),\n minute: getMinute(time)\n });\n\n _this.setState({\n preSelection: changedDate\n });\n\n _this.props.onChange(changedDate);\n if (_this.props.shouldCloseOnSelect) {\n _this.setOpen(false);\n }\n _this.setState({ inputValue: null });\n };\n\n _this.onInputClick = function () {\n if (!_this.props.disabled && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n\n _this.props.onInputClick();\n };\n\n _this.onInputKeyDown = function (event) {\n _this.props.onKeyDown(event);\n var eventKey = event.key;\n if (!_this.state.open && !_this.props.inline && !_this.props.preventOpenOnFocus) {\n if (eventKey === \"ArrowDown\" || eventKey === \"ArrowUp\") {\n _this.onInputClick();\n }\n return;\n }\n var copy = newDate(_this.state.preSelection);\n if (eventKey === \"Enter\") {\n event.preventDefault();\n if (_this.inputOk() && _this.state.lastPreSelectChange === PRESELECT_CHANGE_VIA_NAVIGATE) {\n _this.handleSelect(copy, event);\n !_this.props.shouldCloseOnSelect && _this.setPreSelection(copy);\n } else {\n _this.setOpen(false);\n }\n } else if (eventKey === \"Escape\") {\n event.preventDefault();\n\n _this.setOpen(false);\n if (!_this.inputOk()) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n } else if (eventKey === \"Tab\") {\n _this.setOpen(false, true);\n } else if (!_this.props.disabledKeyboardNavigation) {\n var newSelection = void 0;\n switch (eventKey) {\n case \"ArrowLeft\":\n newSelection = subtractDays(copy, 1);\n break;\n case \"ArrowRight\":\n newSelection = addDays(copy, 1);\n break;\n case \"ArrowUp\":\n newSelection = subtractWeeks(copy, 1);\n break;\n case \"ArrowDown\":\n newSelection = addWeeks(copy, 1);\n break;\n case \"PageUp\":\n newSelection = subtractMonths(copy, 1);\n break;\n case \"PageDown\":\n newSelection = addMonths(copy, 1);\n break;\n case \"Home\":\n newSelection = subtractYears(copy, 1);\n break;\n case \"End\":\n newSelection = addYears(copy, 1);\n break;\n }\n if (!newSelection) {\n if (_this.props.onInputError) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n return; // Let the input component handle this keydown\n }\n event.preventDefault();\n _this.setState({ lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE });\n if (_this.props.adjustDateOnChange) {\n _this.setSelected(newSelection);\n }\n _this.setPreSelection(newSelection);\n }\n };\n\n _this.onClearClick = function (event) {\n if (event) {\n if (event.preventDefault) {\n event.preventDefault();\n }\n }\n _this.props.onChange(null, event);\n _this.setState({ inputValue: null });\n };\n\n _this.clear = function () {\n _this.onClearClick();\n };\n\n _this.renderCalendar = function () {\n if (!_this.props.inline && !_this.isCalendarOpen()) {\n return null;\n }\n return React.createElement(\n WrappedCalendar,\n {\n ref: function ref(elem) {\n _this.calendar = elem;\n },\n locale: _this.props.locale,\n adjustDateOnChange: _this.props.adjustDateOnChange,\n setOpen: _this.setOpen,\n dateFormat: _this.props.dateFormatCalendar,\n useWeekdaysShort: _this.props.useWeekdaysShort,\n formatWeekDay: _this.props.formatWeekDay,\n dropdownMode: _this.props.dropdownMode,\n selected: _this.props.selected,\n preSelection: _this.state.preSelection,\n onSelect: _this.handleSelect,\n onWeekSelect: _this.props.onWeekSelect,\n openToDate: _this.props.openToDate,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n excludeDates: _this.props.excludeDates,\n filterDate: _this.props.filterDate,\n onClickOutside: _this.handleCalendarClickOutside,\n formatWeekNumber: _this.props.formatWeekNumber,\n highlightDates: _this.state.highlightDates,\n includeDates: _this.props.includeDates,\n includeTimes: _this.props.includeTimes,\n injectTimes: _this.props.injectTimes,\n inline: _this.props.inline,\n peekNextMonth: _this.props.peekNextMonth,\n showMonthDropdown: _this.props.showMonthDropdown,\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showWeekNumbers: _this.props.showWeekNumbers,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n forceShowMonthNavigation: _this.props.forceShowMonthNavigation,\n showDisabledMonthNavigation: _this.props.showDisabledMonthNavigation,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown,\n todayButton: _this.props.todayButton,\n weekLabel: _this.props.weekLabel,\n utcOffset: _this.props.utcOffset,\n outsideClickIgnoreClass: outsideClickIgnoreClass,\n fixedHeight: _this.props.fixedHeight,\n monthsShown: _this.props.monthsShown,\n onDropdownFocus: _this.handleDropdownFocus,\n onMonthChange: _this.props.onMonthChange,\n onYearChange: _this.props.onYearChange,\n dayClassName: _this.props.dayClassName,\n showTimeSelect: _this.props.showTimeSelect,\n showTimeSelectOnly: _this.props.showTimeSelectOnly,\n onTimeChange: _this.handleTimeChange,\n timeFormat: _this.props.timeFormat,\n timeIntervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n className: _this.props.calendarClassName,\n container: _this.props.calendarContainer,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber,\n previousMonthButtonLabel: _this.props.previousMonthButtonLabel,\n nextMonthButtonLabel: _this.props.nextMonthButtonLabel,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderCustomHeader: _this.props.renderCustomHeader,\n popperProps: _this.props.popperProps,\n renderDayContents: _this.props.renderDayContents\n },\n _this.props.children\n );\n };\n\n _this.renderDateInput = function () {\n var _classnames, _React$cloneElement;\n\n var className = classnames(_this.props.className, (_classnames = {}, _classnames[outsideClickIgnoreClass] = _this.state.open, _classnames));\n\n var customInput = _this.props.customInput || React.createElement(\"input\", { type: \"text\" });\n var customInputRef = _this.props.customInputRef || \"ref\";\n var inputValue = typeof _this.props.value === \"string\" ? _this.props.value : typeof _this.state.inputValue === \"string\" ? _this.state.inputValue : safeDateFormat(_this.props.selected, _this.props);\n\n return React.cloneElement(customInput, (_React$cloneElement = {}, _React$cloneElement[customInputRef] = function (input) {\n _this.input = input;\n }, _React$cloneElement.value = inputValue, _React$cloneElement.onBlur = _this.handleBlur, _React$cloneElement.onChange = _this.handleChange, _React$cloneElement.onClick = _this.onInputClick, _React$cloneElement.onFocus = _this.handleFocus, _React$cloneElement.onKeyDown = _this.onInputKeyDown, _React$cloneElement.id = _this.props.id, _React$cloneElement.name = _this.props.name, _React$cloneElement.autoFocus = _this.props.autoFocus, _React$cloneElement.placeholder = _this.props.placeholderText, _React$cloneElement.disabled = _this.props.disabled, _React$cloneElement.autoComplete = _this.props.autoComplete, _React$cloneElement.className = className, _React$cloneElement.title = _this.props.title, _React$cloneElement.readOnly = _this.props.readOnly, _React$cloneElement.required = _this.props.required, _React$cloneElement.tabIndex = _this.props.tabIndex, _React$cloneElement));\n };\n\n _this.renderClearButton = function () {\n if (_this.props.isClearable && _this.props.selected != null) {\n return React.createElement(\"button\", {\n type: \"button\",\n className: \"react-datepicker__close-icon\",\n onClick: _this.onClearClick,\n title: _this.props.clearButtonTitle,\n tabIndex: -1\n });\n } else {\n return null;\n }\n };\n\n _this.state = _this.calcInitialState();\n return _this;\n }\n\n DatePicker.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.inline && hasPreSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setPreSelection(this.props.selected);\n }\n if (prevProps.highlightDates !== this.props.highlightDates) {\n this.setState({\n highlightDates: getHightLightDaysMap(this.props.highlightDates)\n });\n }\n if (!prevState.focused && hasSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setState({ inputValue: null });\n }\n };\n\n DatePicker.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearPreventFocusTimeout();\n };\n\n DatePicker.prototype.render = function render() {\n var calendar = this.renderCalendar();\n\n if (this.props.inline && !this.props.withPortal) {\n return calendar;\n }\n\n if (this.props.withPortal) {\n return React.createElement(\n \"div\",\n null,\n !this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ) : null,\n this.state.open || this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__portal\" },\n calendar\n ) : null\n );\n }\n\n return React.createElement(PopperComponent, {\n className: this.props.popperClassName,\n hidePopper: !this.isCalendarOpen(),\n popperModifiers: this.props.popperModifiers,\n targetComponent: React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ),\n popperContainer: this.props.popperContainer,\n popperComponent: calendar,\n popperPlacement: this.props.popperPlacement,\n popperProps: this.props.popperProps\n });\n };\n\n return DatePicker;\n}(React.Component);\n\nDatePicker.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n allowSameDay: PropTypes.bool,\n autoComplete: PropTypes.string,\n autoFocus: PropTypes.bool,\n calendarClassName: PropTypes.string,\n calendarContainer: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n customInput: PropTypes.element,\n customInputRef: PropTypes.string,\n // eslint-disable-next-line react/no-unused-prop-types\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n dateFormatCalendar: PropTypes.string,\n dayClassName: PropTypes.func,\n disabled: PropTypes.bool,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.array,\n id: PropTypes.string,\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n isClearable: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onSelect: PropTypes.func,\n onWeekSelect: PropTypes.func,\n onClickOutside: PropTypes.func,\n onChangeRaw: PropTypes.func,\n onFocus: PropTypes.func,\n onInputClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n onInputError: PropTypes.func,\n open: PropTypes.bool,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n placeholderText: PropTypes.string,\n popperContainer: PropTypes.func,\n popperClassName: PropTypes.string, // <PopperComponent/> props\n popperModifiers: PropTypes.object, // <PopperComponent/> props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // <PopperComponent/> props\n popperProps: PropTypes.object,\n preventOpenOnFocus: PropTypes.bool,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n forceShowMonthNavigation: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n startDate: PropTypes.object,\n startOpen: PropTypes.bool,\n tabIndex: PropTypes.number,\n timeCaption: PropTypes.string,\n title: PropTypes.string,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n value: PropTypes.string,\n weekLabel: PropTypes.string,\n withPortal: PropTypes.bool,\n yearDropdownItemNumber: PropTypes.number,\n shouldCloseOnSelect: PropTypes.bool,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n useShortMonthInDropdown: PropTypes.bool,\n clearButtonTitle: PropTypes.string,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\nvar PRESELECT_CHANGE_VIA_INPUT = \"input\";\nvar PRESELECT_CHANGE_VIA_NAVIGATE = \"navigate\";\n\nexport { CalendarContainer };\nexport default DatePicker;\n","import { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG <use/> elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n\n\n while (current.parentNode) {\n if (isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}\n\n// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error('WrappedComponent lacks a handleClickOutside(event) function for processing outside click events.');\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.props.disableOnClickOutside) return;\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (!WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error('WrappedComponent lacks a function for processing outside click events specified by the handleClickOutside config option.');\n }\n }\n\n this.componentNode = findDOMNode(this.getInstance());\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = findDOMNode(this.getInstance());\n };\n /**\n * Remove all document's event listeners for this component\n */\n\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n };\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n excludeScrollbar = _props.excludeScrollbar,\n props = _objectWithoutProperties(_props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + (WrappedComponent.displayName || WrappedComponent.name || 'Component') + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}\n\nexport { IGNORE_CLASS_NAME };\nexport default onClickOutsideHOC;\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from \"react\";\nimport createContext from \"create-react-context\";\nexport var ManagerContext = createContext({\n getReferenceRef: undefined,\n referenceNode: undefined\n});\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n _this = _React$Component.call(this) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getReferenceRef\", function (referenceNode) {\n return _this.setState(function (_ref) {\n var context = _ref.context;\n return {\n context: _extends({}, context, {\n referenceNode: referenceNode\n })\n };\n });\n });\n\n _this.state = {\n context: {\n getReferenceRef: _this.getReferenceRef,\n referenceNode: undefined\n }\n };\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.render = function render() {\n return React.createElement(ManagerContext.Provider, {\n value: this.state.context\n }, this.props.children);\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerContext } from './Manager';\nimport { safeInvoke, unwrapArray } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n safeInvoke(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_assertThisInitialized(_this)),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed) {\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n safeInvoke(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerContext.Consumer, null, function (_ref2) {\n var referenceNode = _ref2.referenceNode;\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport warning from 'warning';\nimport { ManagerContext } from './Manager';\nimport { safeInvoke, unwrapArray } from './utils';\n\nvar InnerReference =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerReference, _React$Component);\n\n function InnerReference() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"refHandler\", function (node) {\n safeInvoke(_this.props.innerRef, node);\n safeInvoke(_this.props.getReferenceRef, node);\n });\n\n return _this;\n }\n\n var _proto = InnerReference.prototype;\n\n _proto.render = function render() {\n warning(this.props.getReferenceRef, '`Reference` should not be used outside of a `Manager` component.');\n return unwrapArray(this.props.children)({\n ref: this.refHandler\n });\n };\n\n return InnerReference;\n}(React.Component);\n\nexport default function Reference(props) {\n return React.createElement(ManagerContext.Consumer, null, function (_ref) {\n var getReferenceRef = _ref.getReferenceRef;\n return React.createElement(InnerReference, _extends({\n getReferenceRef: getReferenceRef\n }, props));\n });\n}","// Public components\nimport Popper, { placements } from './Popper';\nimport Manager from './Manager';\nimport Reference from './Reference';\nexport { Popper, placements, Manager, Reference }; // Public types","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.autoprefix = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transforms = {\n borderRadius: function borderRadius(value) {\n return {\n msBorderRadius: value,\n MozBorderRadius: value,\n OBorderRadius: value,\n WebkitBorderRadius: value,\n borderRadius: value\n };\n },\n boxShadow: function boxShadow(value) {\n return {\n msBoxShadow: value,\n MozBoxShadow: value,\n OBoxShadow: value,\n WebkitBoxShadow: value,\n boxShadow: value\n };\n },\n userSelect: function userSelect(value) {\n return {\n WebkitTouchCallout: value,\n KhtmlUserSelect: value,\n MozUserSelect: value,\n msUserSelect: value,\n WebkitUserSelect: value,\n userSelect: value\n };\n },\n\n flex: function flex(value) {\n return {\n WebkitBoxFlex: value,\n MozBoxFlex: value,\n WebkitFlex: value,\n msFlex: value,\n flex: value\n };\n },\n flexBasis: function flexBasis(value) {\n return {\n WebkitFlexBasis: value,\n flexBasis: value\n };\n },\n justifyContent: function justifyContent(value) {\n return {\n WebkitJustifyContent: value,\n justifyContent: value\n };\n },\n\n transition: function transition(value) {\n return {\n msTransition: value,\n MozTransition: value,\n OTransition: value,\n WebkitTransition: value,\n transition: value\n };\n },\n\n transform: function transform(value) {\n return {\n msTransform: value,\n MozTransform: value,\n OTransform: value,\n WebkitTransform: value,\n transform: value\n };\n },\n absolute: function absolute(value) {\n var direction = value && value.split(' ');\n return {\n position: 'absolute',\n top: direction && direction[0],\n right: direction && direction[1],\n bottom: direction && direction[2],\n left: direction && direction[3]\n };\n },\n extend: function extend(name, otherElementStyles) {\n var otherStyle = otherElementStyles[name];\n if (otherStyle) {\n return otherStyle;\n }\n return {\n 'extend': name\n };\n }\n};\n\nvar autoprefix = exports.autoprefix = function autoprefix(elements) {\n var prefixed = {};\n (0, _forOwn3.default)(elements, function (styles, element) {\n var expanded = {};\n (0, _forOwn3.default)(styles, function (value, key) {\n var transform = transforms[key];\n if (transform) {\n expanded = _extends({}, expanded, transform(value));\n } else {\n expanded[key] = value;\n }\n });\n prefixed[element] = expanded;\n });\n return prefixed;\n};\n\nexports.default = autoprefix;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.active = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar active = exports.active = function active(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Active, _React$Component);\n\n function Active() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Active);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Active.__proto__ || Object.getPrototypeOf(Active)).call.apply(_ref, [this].concat(args))), _this), _this.state = { active: false }, _this.handleMouseDown = function () {\n return _this.setState({ active: true });\n }, _this.handleMouseUp = function () {\n return _this.setState({ active: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseDown: _this.handleMouseDown, onMouseUp: _this.handleMouseUp },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Active;\n }(_react2.default.Component);\n};\n\nexports.default = active;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hover = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hover = exports.hover = function hover(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Hover, _React$Component);\n\n function Hover() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hover);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hover.__proto__ || Object.getPrototypeOf(Hover)).call.apply(_ref, [this].concat(args))), _this), _this.state = { hover: false }, _this.handleMouseOver = function () {\n return _this.setState({ hover: true });\n }, _this.handleMouseOut = function () {\n return _this.setState({ hover: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseOver: _this.handleMouseOver, onMouseOut: _this.handleMouseOut },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Hover;\n }(_react2.default.Component);\n};\n\nexports.default = hover;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.flattenNames = undefined;\n\nvar _isString2 = require('lodash/isString');\n\nvar _isString3 = _interopRequireDefault(_isString2);\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _isPlainObject2 = require('lodash/isPlainObject');\n\nvar _isPlainObject3 = _interopRequireDefault(_isPlainObject2);\n\nvar _map2 = require('lodash/map');\n\nvar _map3 = _interopRequireDefault(_map2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar flattenNames = exports.flattenNames = function flattenNames() {\n var things = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var names = [];\n\n (0, _map3.default)(things, function (thing) {\n if (Array.isArray(thing)) {\n flattenNames(thing).map(function (name) {\n return names.push(name);\n });\n } else if ((0, _isPlainObject3.default)(thing)) {\n (0, _forOwn3.default)(thing, function (value, key) {\n value === true && names.push(key);\n names.push(key + '-' + value);\n });\n } else if ((0, _isString3.default)(thing)) {\n names.push(thing);\n }\n });\n\n return names;\n};\n\nexports.default = flattenNames;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ReactCSS = exports.loop = exports.handleActive = exports.handleHover = exports.hover = undefined;\n\nvar _flattenNames = require('./flattenNames');\n\nvar _flattenNames2 = _interopRequireDefault(_flattenNames);\n\nvar _mergeClasses = require('./mergeClasses');\n\nvar _mergeClasses2 = _interopRequireDefault(_mergeClasses);\n\nvar _autoprefix = require('./autoprefix');\n\nvar _autoprefix2 = _interopRequireDefault(_autoprefix);\n\nvar _hover2 = require('./components/hover');\n\nvar _hover3 = _interopRequireDefault(_hover2);\n\nvar _active = require('./components/active');\n\nvar _active2 = _interopRequireDefault(_active);\n\nvar _loop2 = require('./loop');\n\nvar _loop3 = _interopRequireDefault(_loop2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.hover = _hover3.default;\nexports.handleHover = _hover3.default;\nexports.handleActive = _active2.default;\nexports.loop = _loop3.default;\nvar ReactCSS = exports.ReactCSS = function ReactCSS(classes) {\n for (var _len = arguments.length, activations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n activations[_key - 1] = arguments[_key];\n }\n\n var activeNames = (0, _flattenNames2.default)(activations);\n var merged = (0, _mergeClasses2.default)(classes, activeNames);\n return (0, _autoprefix2.default)(merged);\n};\n\nexports.default = ReactCSS;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar loopable = function loopable(i, length) {\n var props = {};\n var setProp = function setProp(name) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n props[name] = value;\n };\n\n i === 0 && setProp('first-child');\n i === length - 1 && setProp('last-child');\n (i === 0 || i % 2 === 0) && setProp('even');\n Math.abs(i % 2) === 1 && setProp('odd');\n setProp('nth-child', i);\n\n return props;\n};\n\nexports.default = loopable;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mergeClasses = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _cloneDeep2 = require('lodash/cloneDeep');\n\nvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mergeClasses = exports.mergeClasses = function mergeClasses(classes) {\n var activeNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var styles = classes.default && (0, _cloneDeep3.default)(classes.default) || {};\n activeNames.map(function (name) {\n var toMerge = classes[name];\n if (toMerge) {\n (0, _forOwn3.default)(toMerge, function (value, key) {\n if (!styles[key]) {\n styles[key] = {};\n }\n\n styles[key] = _extends({}, styles[key], toMerge[key]);\n });\n }\n\n return name;\n });\n return styles;\n};\n\nexports.default = mergeClasses;","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","(function() { module.exports = this[\"wp\"][\"a11y\"]; }());","(function() { module.exports = this[\"wp\"][\"apiFetch\"]; }());","(function() { module.exports = this[\"wp\"][\"compose\"]; }());","(function() { module.exports = this[\"wp\"][\"deprecated\"]; }());","(function() { module.exports = this[\"wp\"][\"dom\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"hooks\"]; }());","(function() { module.exports = this[\"wp\"][\"i18n\"]; }());","(function() { module.exports = this[\"wp\"][\"isShallowEqual\"]; }());","(function() { module.exports = this[\"wp\"][\"keycodes\"]; }());","(function() { module.exports = this[\"wp\"][\"richText\"]; }());","(function() { module.exports = this[\"wp\"][\"url\"]; }());","(function() { module.exports = this[\"lodash\"]; }());","(function() { module.exports = this[\"moment\"]; }());","(function() { module.exports = this[\"React\"]; }());","(function() { module.exports = this[\"ReactDOM\"]; }());"],"sourceRoot":""}