{"version":3,"file":"js/98-69dd981ed9522776da58.js","mappings":"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AM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CA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","sources":["webpack://hnry-rails/./node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","webpack://hnry-rails/./node_modules/@dnd-kit/core/dist/core.esm.js","webpack://hnry-rails/./node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js","webpack://hnry-rails/./node_modules/@dnd-kit/sortable/dist/sortable.esm.js","webpack://hnry-rails/./node_modules/@dnd-kit/utilities/dist/utilities.esm.js","webpack://hnry-rails/./node_modules/@react-spring/rafz/dist/esm/index.js","webpack://hnry-rails/./node_modules/@react-spring/shared/dist/esm/index.js","webpack://hnry-rails/./node_modules/@react-spring/animated/dist/esm/index.js","webpack://hnry-rails/./node_modules/@react-spring/core/dist/esm/index.js","webpack://hnry-rails/./node_modules/@react-spring/web/dist/esm/index.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/shapes/Line.js","webpack://hnry-rails/./node_modules/@visx/text/esm/hooks/useText.js","webpack://hnry-rails/./node_modules/@visx/text/esm/Text.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/axis/Ticks.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/axis/AxisRenderer.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/utils/getLabelTransform.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/utils/toString.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/utils/createPoint.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/axis/Axis.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/utils/getTickFormatter.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/utils/getTickPosition.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/axis/AxisBottom.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/axis/AxisLeft.js","webpack://hnry-rails/./node_modules/@visx/axis/esm/constants/orientation.js","webpack://hnry-rails/./node_modules/@visx/gradient/esm/gradients/LinearGradient.js","webpack://hnry-rails/./node_modules/@visx/grid/esm/grids/GridRows.js","webpack://hnry-rails/./node_modules/@visx/grid/esm/utils/getScaleBandwidth.js","webpack://hnry-rails/./node_modules/@visx/group/esm/Group.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/legends/Legend/LegendItem.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/legends/Legend/LegendLabel.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/shapes/Rect.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/shapes/Circle.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/shapes/Line.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/util/renderShape.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/legends/Legend/LegendShape.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/util/valueOrIdentity.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/util/labelTransformFactory.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/legends/Legend/index.js","webpack://hnry-rails/./node_modules/@visx/legend/esm/legends/Ordinal.js","webpack://hnry-rails/./node_modules/@visx/point/esm/Point.js","webpack://hnry-rails/./node_modules/@visx/responsive/esm/hooks/useParentSize.js","webpack://hnry-rails/./node_modules/@visx/responsive/esm/components/ParentSize.js","webpack://hnry-rails/./node_modules/d3-color/src/math.js","webpack://hnry-rails/./node_modules/d3-color/src/lab.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/hcl.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/hsl.js","webpack://hnry-rails/./node_modules/d3-color/src/cubehelix.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/cubehelix.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/utils/createColorInterpolator.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/lab.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/utils/isUtcScale.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/nice.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/scaleOperator.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/domain.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/zero.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/interpolate.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/round.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/align.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/base.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/clamp.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/constant.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/exponent.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/padding.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/range.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/reverse.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/operators/unknown.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/scales/band.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/scales/linear.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/scales/ordinal.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/utils/coerceNumber.js","webpack://hnry-rails/./node_modules/@visx/scale/esm/utils/getTicks.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/shapes/Bar.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/shapes/BarGroup.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/util/getBandwidth.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/shapes/BarRounded.js","webpack://hnry-rails/./node_modules/d3-path/src/path.js","webpack://hnry-rails/./node_modules/d3-shape/src/constant.js","webpack://hnry-rails/./node_modules/d3-shape/src/curve/linear.js","webpack://hnry-rails/./node_modules/d3-shape/src/point.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/util/D3ShapeFactories.js","webpack://hnry-rails/./node_modules/d3-shape/src/line.js","webpack://hnry-rails/./node_modules/@visx/shape/esm/shapes/LinePath.js","webpack://hnry-rails/./node_modules/@visx/shape/lib/shapes/Line.js","webpack://hnry-rails/./node_modules/@visx/text/esm/util/getStringWidth.js","webpack://hnry-rails/./node_modules/@visx/tooltip/esm/hooks/useTooltip.js","webpack://hnry-rails/./node_modules/@visx/tooltip/esm/tooltips/Tooltip.js","webpack://hnry-rails/./node_modules/balanced-match/index.js","webpack://hnry-rails/./node_modules/cleave-zen/dist/cleave-zen.module.js","webpack://hnry-rails/./node_modules/d3-shape/src/curve/monotone.js","webpack://hnry-rails/./node_modules/dropzone/dist/dropzone.js","webpack://hnry-rails/./node_modules/humps/humps.js","webpack://hnry-rails/./node_modules/json-stringify-safe/stringify.js","webpack://hnry-rails/./node_modules/lodash/_arrayAggregator.js","webpack://hnry-rails/./node_modules/lodash/_arrayEach.js","webpack://hnry-rails/./node_modules/lodash/_baseAggregator.js","webpack://hnry-rails/./node_modules/lodash/_baseAssign.js","webpack://hnry-rails/./node_modules/lodash/_baseAssignIn.js","webpack://hnry-rails/./node_modules/lodash/_baseClone.js","webpack://hnry-rails/./node_modules/lodash/_baseDifference.js","webpack://hnry-rails/./node_modules/lodash/_baseInverter.js","webpack://hnry-rails/./node_modules/lodash/_baseIsDate.js","webpack://hnry-rails/./node_modules/lodash/_baseIsMap.js","webpack://hnry-rails/./node_modules/lodash/_baseIsRegExp.js","webpack://hnry-rails/./node_modules/lodash/_baseIsSet.js","webpack://hnry-rails/./node_modules/lodash/_basePick.js","webpack://hnry-rails/./node_modules/lodash/_basePickBy.js","webpack://hnry-rails/./node_modules/lodash/_baseSet.js","webpack://hnry-rails/./node_modules/lodash/_baseSome.js","webpack://hnry-rails/./node_modules/lodash/_baseSortedUniq.js","webpack://hnry-rails/./node_modules/lodash/_baseSum.js","webpack://hnry-rails/./node_modules/lodash/_baseValues.js","webpack://hnry-rails/./node_modules/lodash/_cloneDataView.js","webpack://hnry-rails/./node_modules/lodash/_cloneRegExp.js","webpack://hnry-rails/./node_modules/lodash/_cloneSymbol.js","webpack://hnry-rails/./node_modules/lodash/_copySymbols.js","webpack://hnry-rails/./node_modules/lodash/_copySymbolsIn.js","webpack://hnry-rails/./node_modules/lodash/_createAggregator.js","webpack://hnry-rails/./node_modules/lodash/_createFind.js","webpack://hnry-rails/./node_modules/lodash/_createInverter.js","webpack://hnry-rails/./node_modules/lodash/_flatRest.js","webpack://hnry-rails/./node_modules/lodash/_getAllKeysIn.js","webpack://hnry-rails/./node_modules/lodash/_getSymbolsIn.js","webpack://hnry-rails/./node_modules/lodash/_initCloneArray.js","webpack://hnry-rails/./node_modules/lodash/_initCloneByTag.js","webpack://hnry-rails/./node_modules/lodash/assign.js","webpack://hnry-rails/./node_modules/lodash/clone.js","webpack://hnry-rails/./node_modules/lodash/debounce.js","webpack://hnry-rails/./node_modules/lodash/defaults.js","webpack://hnry-rails/./node_modules/lodash/difference.js","webpack://hnry-rails/./node_modules/lodash/find.js","webpack://hnry-rails/./node_modules/lodash/findIndex.js","webpack://hnry-rails/./node_modules/lodash/flatten.js","webpack://hnry-rails/./node_modules/lodash/fromPairs.js","webpack://hnry-rails/./node_modules/lodash/groupBy.js","webpack://hnry-rails/./node_modules/lodash/includes.js","webpack://hnry-rails/./node_modules/lodash/invert.js","webpack://hnry-rails/./node_modules/lodash/isDate.js","webpack://hnry-rails/./node_modules/lodash/isEmpty.js","webpack://hnry-rails/./node_modules/lodash/isEqual.js","webpack://hnry-rails/./node_modules/lodash/isMap.js","webpack://hnry-rails/./node_modules/lodash/isNil.js","webpack://hnry-rails/./node_modules/lodash/isRegExp.js","webpack://hnry-rails/./node_modules/lodash/isSet.js","webpack://hnry-rails/./node_modules/lodash/isString.js","webpack://hnry-rails/./node_modules/lodash/isUndefined.js","webpack://hnry-rails/./node_modules/lodash/last.js","webpack://hnry-rails/./node_modules/lodash/mapValues.js","webpack://hnry-rails/./node_modules/lodash/negate.js","webpack://hnry-rails/./node_modules/lodash/now.js","webpack://hnry-rails/./node_modules/lodash/omitBy.js","webpack://hnry-rails/./node_modules/lodash/orderBy.js","webpack://hnry-rails/./node_modules/lodash/pick.js","webpack://hnry-rails/./node_modules/lodash/pickBy.js","webpack://hnry-rails/./node_modules/lodash/some.js","webpack://hnry-rails/./node_modules/lodash/sortedUniq.js","webpack://hnry-rails/./node_modules/lodash/sum.js","webpack://hnry-rails/./node_modules/lodash/throttle.js","webpack://hnry-rails/./node_modules/lodash/uniqBy.js","webpack://hnry-rails/./node_modules/lodash/uniqueId.js","webpack://hnry-rails/./node_modules/lodash/values.js","webpack://hnry-rails/./node_modules/lodash/without.js","webpack://hnry-rails/./node_modules/math-expression-evaluator/src/formula_evaluator.js","webpack://hnry-rails/./node_modules/math-expression-evaluator/src/lexer.js","webpack://hnry-rails/./node_modules/math-expression-evaluator/src/math_function.js","webpack://hnry-rails/./node_modules/math-expression-evaluator/src/postfix.js","webpack://hnry-rails/./node_modules/math-expression-evaluator/src/postfix_evaluator.js","webpack://hnry-rails/./node_modules/qr.js/lib/8BitByte.js","webpack://hnry-rails/./node_modules/qr.js/lib/BitBuffer.js","webpack://hnry-rails/./node_modules/qr.js/lib/ErrorCorrectLevel.js","webpack://hnry-rails/./node_modules/qr.js/lib/Polynomial.js","webpack://hnry-rails/./node_modules/qr.js/lib/QRCode.js","webpack://hnry-rails/./node_modules/qr.js/lib/RSBlock.js","webpack://hnry-rails/./node_modules/qr.js/lib/math.js","webpack://hnry-rails/./node_modules/qr.js/lib/mode.js","webpack://hnry-rails/./node_modules/qr.js/lib/util.js","webpack://hnry-rails/./node_modules/react-fast-compare/index.js","webpack://hnry-rails/./node_modules/react-otp-input/lib/index.esm.js","webpack://hnry-rails/./node_modules/react-qr-code/lib/QRCodeSvg/index.js","webpack://hnry-rails/./node_modules/react-qr-code/lib/index.js","webpack://hnry-rails/./node_modules/react-rewards/dist/react-rewards.es.js","webpack://hnry-rails/./node_modules/react-share/es/EmailShareButton.js","webpack://hnry-rails/./node_modules/react-share/es/FacebookShareButton.js","webpack://hnry-rails/./node_modules/react-share/es/LinkedinShareButton.js","webpack://hnry-rails/./node_modules/react-share/es/TwitterShareButton.js","webpack://hnry-rails/./node_modules/react-share/es/ShareButton.js","webpack://hnry-rails/./node_modules/react-share/es/hocs/createShareButton.js","webpack://hnry-rails/./node_modules/react-share/es/utils/assert.js","webpack://hnry-rails/./node_modules/react-share/es/utils/objectToGetParams.js","webpack://hnry-rails/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://hnry-rails/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","webpack://hnry-rails/./node_modules/use-composed-ref/dist/use-composed-ref.esm.js","webpack://hnry-rails/./node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","webpack://hnry-rails/./node_modules/use-latest/dist/use-latest.esm.js","webpack://hnry-rails/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://hnry-rails/./node_modules/reduce-css-calc/index.js","webpack://hnry-rails/./node_modules/reduce-css-calc/node_modules/balanced-match/index.js","webpack://hnry-rails/./node_modules/reduce-function-call/index.js","webpack://hnry-rails/./node_modules/victory-area/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-area/es/area.js","webpack://hnry-rails/./node_modules/victory-area/es/victory-area.js","webpack://hnry-rails/./node_modules/victory-axis/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-axis/es/victory-axis.js","webpack://hnry-rails/./node_modules/victory-bar/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-bar/es/bar-helper-methods.js","webpack://hnry-rails/./node_modules/victory-bar/es/geometry-helper-methods.js","webpack://hnry-rails/./node_modules/victory-bar/es/path-helper-methods.js","webpack://hnry-rails/./node_modules/victory-bar/es/bar.js","webpack://hnry-rails/./node_modules/victory-bar/es/victory-bar.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/selection.js","webpack://hnry-rails/./node_modules/victory-brush-container/es/brush-helpers.js","webpack://hnry-rails/./node_modules/victory-brush-container/es/victory-brush-container.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/background.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/arc.js","webpack://hnry-rails/./node_modules/victory-polar-axis/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-polar-axis/es/victory-polar-axis.js","webpack://hnry-rails/./node_modules/victory-chart/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-chart/es/victory-chart.js","webpack://hnry-rails/./node_modules/d3-ease/src/linear.js","webpack://hnry-rails/./node_modules/d3-ease/src/quad.js","webpack://hnry-rails/./node_modules/d3-ease/src/cubic.js","webpack://hnry-rails/./node_modules/d3-ease/src/poly.js","webpack://hnry-rails/./node_modules/d3-ease/src/sin.js","webpack://hnry-rails/./node_modules/d3-ease/src/math.js","webpack://hnry-rails/./node_modules/d3-ease/src/exp.js","webpack://hnry-rails/./node_modules/d3-ease/src/circle.js","webpack://hnry-rails/./node_modules/d3-ease/src/bounce.js","webpack://hnry-rails/./node_modules/d3-ease/src/back.js","webpack://hnry-rails/./node_modules/d3-ease/src/elastic.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-animation/util.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-animation/victory-animation.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/clip-path.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-clip-container/victory-clip-container.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-portal/portal.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-container/victory-container.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/text.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/tspan.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-label/victory-label.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-portal/portal-context.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-portal/victory-portal.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/circle.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/line.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/line-segment.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/path.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/point-path-helpers.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/point.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/rect.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-theme/grayscale.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-theme/material.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-theme/victory-theme.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-transition/victory-transition.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/add-events.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/axis.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/collection.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/common-props.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/immutable.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/data.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/default-transitions.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/domain.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/events.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/helpers.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/hooks/use-animation-state.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/hooks/use-previous-props.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/label-helpers.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/pointRadial.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/bump.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/link.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/asterisk.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/circle.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/cross.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/diamond.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/diamond2.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/plus.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/square.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/square2.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/star.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/triangle.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/triangle2.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/wye.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol/times.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/symbol.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/noop.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/basis.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/basisClosed.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/basisOpen.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/bundle.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/cardinal.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/cardinalClosed.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/cardinalOpen.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/catmullRom.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/linearClosed.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/monotone.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/natural.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/step.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/offset/none.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/order/none.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/stack.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/offset/expand.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/offset/diverging.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/offset/silhouette.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/offset/wiggle.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/order/appearance.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/order/ascending.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/order/descending.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/order/insideOut.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/order/reverse.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/line-helpers.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/log.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/prop-types.js","webpack://hnry-rails/./node_modules/d3-scale/src/identity.js","webpack://hnry-rails/./node_modules/d3-scale/src/nice.js","webpack://hnry-rails/./node_modules/d3-scale/src/log.js","webpack://hnry-rails/./node_modules/d3-scale/src/symlog.js","webpack://hnry-rails/./node_modules/d3-scale/src/pow.js","webpack://hnry-rails/./node_modules/d3-scale/src/radial.js","webpack://hnry-rails/./node_modules/d3-array/src/max.js","webpack://hnry-rails/./node_modules/d3-array/src/min.js","webpack://hnry-rails/./node_modules/d3-array/src/sort.js","webpack://hnry-rails/./node_modules/d3-array/src/quickselect.js","webpack://hnry-rails/./node_modules/d3-array/src/quantile.js","webpack://hnry-rails/./node_modules/d3-scale/src/quantile.js","webpack://hnry-rails/./node_modules/d3-scale/src/quantize.js","webpack://hnry-rails/./node_modules/d3-scale/src/threshold.js","webpack://hnry-rails/./node_modules/d3-time/src/millisecond.js","webpack://hnry-rails/./node_modules/d3-time/src/ticks.js","webpack://hnry-rails/./node_modules/d3-time-format/src/locale.js","webpack://hnry-rails/./node_modules/d3-time-format/src/defaultLocale.js","webpack://hnry-rails/./node_modules/d3-scale/src/time.js","webpack://hnry-rails/./node_modules/d3-scale/src/utcTime.js","webpack://hnry-rails/./node_modules/d3-scale/src/sequential.js","webpack://hnry-rails/./node_modules/d3-scale/src/sequentialQuantile.js","webpack://hnry-rails/./node_modules/d3-scale/src/diverging.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/piecewise.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/scale.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/style.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/textsize.js","webpack://hnry-rails/./node_modules/d3-timer/src/timer.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/timer.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/timer-context.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/transitions.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/user-props.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-util/wrapper.js","webpack://hnry-rails/./node_modules/victory-legend/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-core/es/victory-primitives/border.js","webpack://hnry-rails/./node_modules/victory-legend/es/victory-legend.js","webpack://hnry-rails/./node_modules/victory-line/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-line/es/curve.js","webpack://hnry-rails/./node_modules/victory-line/es/victory-line.js","webpack://hnry-rails/./node_modules/victory-pie/es/slice.js","webpack://hnry-rails/./node_modules/victory-pie/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-pie/es/victory-pie.js","webpack://hnry-rails/./node_modules/victory-scatter/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-scatter/es/victory-scatter.js","webpack://hnry-rails/./node_modules/victory-shared-events/es/victory-shared-events.js","webpack://hnry-rails/./node_modules/victory-stack/es/helper-methods.js","webpack://hnry-rails/./node_modules/victory-stack/es/victory-stack.js","webpack://hnry-rails/./node_modules/victory-tooltip/es/flyout.js","webpack://hnry-rails/./node_modules/victory-tooltip/es/victory-tooltip.js","webpack://hnry-rails/./node_modules/@tanstack/virtual-core/dist/esm/utils.js","webpack://hnry-rails/./node_modules/@tanstack/virtual-core/dist/esm/index.js","webpack://hnry-rails/./node_modules/@tanstack/react-virtual/dist/esm/index.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-computed.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-watch.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/active-element-history.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/document-ready.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/components/combobox/combobox.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/get-text-value.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-text-value.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/components/menu/menu.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/components/radio-group/radio-group.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/components/transitions/utils/transition.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/once.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/components/transitions/transition.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-transition.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-flags.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-document-event.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-outside-click.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-window-event.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-owner.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/hooks/use-tree-walker.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/internal/open-closed.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/calculate-active-index.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/focus-management.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/owner.js","webpack://hnry-rails/./node_modules/@headlessui/react/dist/utils/platform.js","webpack://hnry-rails/./node_modules/@heroicons/react/24/solid/esm/ChatBubbleBottomCenterIcon.js","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-collapsible/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://hnry-rails/./node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-collapsible/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/number/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://hnry-rails/./node_modules/@radix-ui/react-slider/node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://hnry-rails/./node_modules/d3-array/src/ascending.js","webpack://hnry-rails/./node_modules/d3-array/src/bisect.js","webpack://hnry-rails/./node_modules/d3-array/src/descending.js","webpack://hnry-rails/./node_modules/d3-array/src/bisector.js","webpack://hnry-rails/./node_modules/d3-array/src/number.js","webpack://hnry-rails/./node_modules/d3-array/src/ticks.js","webpack://hnry-rails/./node_modules/d3-color/src/color.js","webpack://hnry-rails/./node_modules/d3-color/src/define.js","webpack://hnry-rails/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://hnry-rails/./node_modules/d3-format/src/formatRounded.js","webpack://hnry-rails/./node_modules/d3-format/src/formatTypes.js","webpack://hnry-rails/./node_modules/d3-format/src/identity.js","webpack://hnry-rails/./node_modules/d3-format/src/locale.js","webpack://hnry-rails/./node_modules/d3-format/src/defaultLocale.js","webpack://hnry-rails/./node_modules/d3-format/src/formatGroup.js","webpack://hnry-rails/./node_modules/d3-format/src/formatNumerals.js","webpack://hnry-rails/./node_modules/d3-format/src/formatTrim.js","webpack://hnry-rails/./node_modules/d3-format/src/exponent.js","webpack://hnry-rails/./node_modules/d3-format/src/formatDecimal.js","webpack://hnry-rails/./node_modules/d3-format/src/formatSpecifier.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/color.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/constant.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/number.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/basis.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/rgb.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/basisClosed.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/round.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/array.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/date.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/object.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/string.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/numberArray.js","webpack://hnry-rails/./node_modules/d3-interpolate/src/value.js","webpack://hnry-rails/./node_modules/d3-scale/src/band.js","webpack://hnry-rails/./node_modules/d3-array/src/range.js","webpack://hnry-rails/./node_modules/d3-scale/src/continuous.js","webpack://hnry-rails/./node_modules/d3-scale/src/constant.js","webpack://hnry-rails/./node_modules/d3-scale/src/init.js","webpack://hnry-rails/./node_modules/d3-scale/src/linear.js","webpack://hnry-rails/./node_modules/d3-scale/src/number.js","webpack://hnry-rails/./node_modules/internmap/src/index.js","webpack://hnry-rails/./node_modules/d3-scale/src/ordinal.js","webpack://hnry-rails/./node_modules/d3-scale/src/tickFormat.js","webpack://hnry-rails/./node_modules/d3-format/src/precisionPrefix.js","webpack://hnry-rails/./node_modules/d3-format/src/precisionRound.js","webpack://hnry-rails/./node_modules/d3-format/src/precisionFixed.js","webpack://hnry-rails/./node_modules/d3-time/src/day.js","webpack://hnry-rails/./node_modules/d3-time/src/duration.js","webpack://hnry-rails/./node_modules/d3-time/src/hour.js","webpack://hnry-rails/./node_modules/d3-time/src/interval.js","webpack://hnry-rails/./node_modules/d3-time/src/minute.js","webpack://hnry-rails/./node_modules/d3-time/src/month.js","webpack://hnry-rails/./node_modules/d3-time/src/second.js","webpack://hnry-rails/./node_modules/d3-time/src/week.js","webpack://hnry-rails/./node_modules/d3-time/src/year.js","webpack://hnry-rails/./node_modules/date-fns/add.mjs","webpack://hnry-rails/./node_modules/date-fns/differenceInDays.mjs","webpack://hnry-rails/./node_modules/date-fns/subDays.mjs","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/isObject.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/constants.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/ParseError.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/metadata.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/isPossible.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/format.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/isValid.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/parse.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/isPossiblePhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/min/exports/isPossiblePhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/es6/isValidPhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/min/exports/isValidPhoneNumber.js","webpack://hnry-rails/./node_modules/libphonenumber-js/metadata.min.json.js","webpack://hnry-rails/./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack://hnry-rails/./node_modules/react-hook-form/dist/index.esm.mjs","webpack://hnry-rails/./node_modules/react-international-phone/dist/index.mjs","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/arc.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/area.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/areaRadial.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/array.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/constant.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/linear.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/curve/radial.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/line.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/lineRadial.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/math.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-path/src/path.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/path.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/descending.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/identity.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/pie.js","webpack://hnry-rails/./node_modules/victory-vendor/node_modules/d3-shape/src/point.js"],"sourcesContent":["import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement,\n ariaLiveType = \"assertive\"\n } = _ref;\n // Hide element visually but keep it readable by screen readers\n const visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n };\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": ariaLiveType,\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of ');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import { getEventCoordinates } from '@dnd-kit/utilities';\n\nfunction createSnapModifier(gridSize) {\n return _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n x: Math.ceil(transform.x / gridSize) * gridSize,\n y: Math.ceil(transform.y / gridSize) * gridSize\n };\n };\n}\n\nconst restrictToHorizontalAxis = _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n y: 0\n };\n};\n\nfunction restrictToBoundingRect(transform, rect, boundingRect) {\n const value = { ...transform\n };\n\n if (rect.top + transform.y <= boundingRect.top) {\n value.y = boundingRect.top - rect.top;\n } else if (rect.bottom + transform.y >= boundingRect.top + boundingRect.height) {\n value.y = boundingRect.top + boundingRect.height - rect.bottom;\n }\n\n if (rect.left + transform.x <= boundingRect.left) {\n value.x = boundingRect.left - rect.left;\n } else if (rect.right + transform.x >= boundingRect.left + boundingRect.width) {\n value.x = boundingRect.left + boundingRect.width - rect.right;\n }\n\n return value;\n}\n\nconst restrictToParentElement = _ref => {\n let {\n containerNodeRect,\n draggingNodeRect,\n transform\n } = _ref;\n\n if (!draggingNodeRect || !containerNodeRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, containerNodeRect);\n};\n\nconst restrictToFirstScrollableAncestor = _ref => {\n let {\n draggingNodeRect,\n transform,\n scrollableAncestorRects\n } = _ref;\n const firstScrollableAncestorRect = scrollableAncestorRects[0];\n\n if (!draggingNodeRect || !firstScrollableAncestorRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, firstScrollableAncestorRect);\n};\n\nconst restrictToVerticalAxis = _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n x: 0\n };\n};\n\nconst restrictToWindowEdges = _ref => {\n let {\n transform,\n draggingNodeRect,\n windowRect\n } = _ref;\n\n if (!draggingNodeRect || !windowRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, windowRect);\n};\n\nconst snapCenterToCursor = _ref => {\n let {\n activatorEvent,\n draggingNodeRect,\n transform\n } = _ref;\n\n if (draggingNodeRect && activatorEvent) {\n const activatorCoordinates = getEventCoordinates(activatorEvent);\n\n if (!activatorCoordinates) {\n return transform;\n }\n\n const offsetX = activatorCoordinates.x - draggingNodeRect.left;\n const offsetY = activatorCoordinates.y - draggingNodeRect.top;\n return { ...transform,\n x: transform.x + offsetX - draggingNodeRect.width / 2,\n y: transform.y + offsetY - draggingNodeRect.height / 2\n };\n }\n\n return transform;\n};\n\nexport { createSnapModifier, restrictToFirstScrollableAncestor, restrictToHorizontalAxis, restrictToParentElement, restrictToVerticalAxis, restrictToWindowEdges, snapCenterToCursor };\n//# sourceMappingURL=modifiers.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","var f=r(),n=e=>c(e,f),m=r();n.write=e=>c(e,m);var d=r();n.onStart=e=>c(e,d);var h=r();n.onFrame=e=>c(e,h);var p=r();n.onFinish=e=>c(e,p);var i=[];n.setTimeout=(e,t)=>{let a=n.now()+t,o=()=>{let F=i.findIndex(z=>z.cancel==o);~F&&i.splice(F,1),u-=~F?1:0},s={time:a,handler:e,cancel:o};return i.splice(w(a),0,s),u+=1,v(),s};var w=e=>~(~i.findIndex(t=>t.time>e)||~i.length);n.cancel=e=>{d.delete(e),h.delete(e),p.delete(e),f.delete(e),m.delete(e)};n.sync=e=>{T=!0,n.batchedUpdates(e),T=!1};n.throttle=e=>{let t;function a(){try{e(...t)}finally{t=null}}function o(...s){t=s,n.onStart(a)}return o.handler=e,o.cancel=()=>{d.delete(a),t=null},o};var y=typeof window<\"u\"?window.requestAnimationFrame:()=>{};n.use=e=>y=e;n.now=typeof performance<\"u\"?()=>performance.now():Date.now;n.batchedUpdates=e=>e();n.catch=console.error;n.frameLoop=\"always\";n.advance=()=>{n.frameLoop!==\"demand\"?console.warn(\"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand\"):x()};var l=-1,u=0,T=!1;function c(e,t){T?(t.delete(e),e(0)):(t.add(e),v())}function v(){l<0&&(l=0,n.frameLoop!==\"demand\"&&y(b))}function R(){l=-1}function b(){~l&&(y(b),n.batchedUpdates(x))}function x(){let e=l;l=n.now();let t=w(l);if(t&&(Q(i.splice(0,t),a=>a.handler()),u-=t),!u){R();return}d.flush(),f.flush(e?Math.min(64,l-e):16.667),h.flush(),m.flush(),p.flush()}function r(){let e=new Set,t=e;return{add(a){u+=t==e&&!e.has(a)?1:0,e.add(a)},delete(a){return u-=t==e&&e.has(a)?1:0,e.delete(a)},flush(a){t.size&&(e=new Set,u-=t.size,Q(t,o=>o(a)&&e.add(o)),u+=e.size,t=e)}}}function Q(e,t){e.forEach(a=>{try{t(a)}catch(o){n.catch(o)}})}var S={count(){return u},isRunning(){return l>=0},clear(){l=-1,i=[],d=r(),f=r(),h=r(),m=r(),p=r(),u=0}};export{S as __raf,n as raf};\n","var ze=Object.defineProperty;var Le=(e,t)=>{for(var r in t)ze(e,r,{get:t[r],enumerable:!0})};var p={};Le(p,{assign:()=>U,colors:()=>c,createStringInterpolator:()=>k,skipAnimation:()=>ee,to:()=>J,willAdvance:()=>S});import{raf as I}from\"@react-spring/rafz\";function Y(){}var mt=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0}),l={arr:Array.isArray,obj:e=>!!e&&e.constructor.name===\"Object\",fun:e=>typeof e==\"function\",str:e=>typeof e==\"string\",num:e=>typeof e==\"number\",und:e=>e===void 0};function bt(e,t){if(l.arr(e)){if(!l.arr(t)||e.length!==t.length)return!1;for(let r=0;re.forEach(t);function xt(e,t,r){if(l.arr(e)){for(let n=0;nl.und(e)?[]:l.arr(e)?e:[e];function Pe(e,t){if(e.size){let r=Array.from(e);e.clear(),Ve(r,t)}}var yt=(e,...t)=>Pe(e,r=>r(...t)),h=()=>typeof window>\"u\"||!window.navigator||/ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);var k,J,c=null,ee=!1,S=Y,U=e=>{e.to&&(J=e.to),e.now&&(I.now=e.now),e.colors!==void 0&&(c=e.colors),e.skipAnimation!=null&&(ee=e.skipAnimation),e.createStringInterpolator&&(k=e.createStringInterpolator),e.requestAnimationFrame&&I.use(e.requestAnimationFrame),e.batchedUpdates&&(I.batchedUpdates=e.batchedUpdates),e.willAdvance&&(S=e.willAdvance),e.frameLoop&&(I.frameLoop=e.frameLoop)};import{raf as R}from\"@react-spring/rafz\";var E=new Set,u=[],H=[],A=0,qe={get idle(){return!E.size&&!u.length},start(e){A>e.priority?(E.add(e),R.onStart($e)):(te(e),R(B))},advance:B,sort(e){if(A)R.onFrame(()=>qe.sort(e));else{let t=u.indexOf(e);~t&&(u.splice(t,1),re(e))}},clear(){u=[],E.clear()}};function $e(){E.forEach(te),E.clear(),R(B)}function te(e){u.includes(e)||re(e)}function re(e){u.splice(Ge(u,t=>t.priority>e.priority),0,e)}function B(e){let t=H;for(let r=0;r0}function Ge(e,t){let r=e.findIndex(t);return r<0?e.length:r}var ne=(e,t,r)=>Math.min(Math.max(r,e),t);var It={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199};var d=\"[-+]?\\\\d*\\\\.?\\\\d+\",M=d+\"%\";function C(...e){return\"\\\\(\\\\s*(\"+e.join(\")\\\\s*,\\\\s*(\")+\")\\\\s*\\\\)\"}var oe=new RegExp(\"rgb\"+C(d,d,d)),fe=new RegExp(\"rgba\"+C(d,d,d,d)),ae=new RegExp(\"hsl\"+C(d,M,M)),ie=new RegExp(\"hsla\"+C(d,M,M,d)),se=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ue=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,le=/^#([0-9a-fA-F]{6})$/,ce=/^#([0-9a-fA-F]{8})$/;function be(e){let t;return typeof e==\"number\"?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=le.exec(e))?parseInt(t[1]+\"ff\",16)>>>0:c&&c[e]!==void 0?c[e]:(t=oe.exec(e))?(y(t[1])<<24|y(t[2])<<16|y(t[3])<<8|255)>>>0:(t=fe.exec(e))?(y(t[1])<<24|y(t[2])<<16|y(t[3])<<8|me(t[4]))>>>0:(t=se.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+\"ff\",16)>>>0:(t=ce.exec(e))?parseInt(t[1],16)>>>0:(t=ue.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=ae.exec(e))?(de(pe(t[1]),z(t[2]),z(t[3]))|255)>>>0:(t=ie.exec(e))?(de(pe(t[1]),z(t[2]),z(t[3]))|me(t[4]))>>>0:null}function j(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function de(e,t,r){let n=r<.5?r*(1+t):r+t-r*t,f=2*r-n,o=j(f,n,e+1/3),i=j(f,n,e),s=j(f,n,e-1/3);return Math.round(o*255)<<24|Math.round(i*255)<<16|Math.round(s*255)<<8}function y(e){let t=parseInt(e,10);return t<0?0:t>255?255:t}function pe(e){return(parseFloat(e)%360+360)%360/360}function me(e){let t=parseFloat(e);return t<0?0:t>1?255:Math.round(t*255)}function z(e){let t=parseFloat(e);return t<0?0:t>100?1:t/100}function D(e){let t=be(e);if(t===null)return e;t=t||0;let r=(t&4278190080)>>>24,n=(t&16711680)>>>16,f=(t&65280)>>>8,o=(t&255)/255;return`rgba(${r}, ${n}, ${f}, ${o})`}var W=(e,t,r)=>{if(l.fun(e))return e;if(l.arr(e))return W({range:e,output:t,extrapolate:r});if(l.str(e.output[0]))return k(e);let n=e,f=n.output,o=n.range||[0,1],i=n.extrapolateLeft||n.extrapolate||\"extend\",s=n.extrapolateRight||n.extrapolate||\"extend\",x=n.easing||(a=>a);return a=>{let F=He(a,o);return Ue(a,o[F],o[F+1],f[F],f[F+1],x,i,s,n.map)}};function Ue(e,t,r,n,f,o,i,s,x){let a=x?x(e):e;if(ar){if(s===\"identity\")return a;s===\"clamp\"&&(a=r)}return n===f?n:t===r?e<=t?n:f:(t===-1/0?a=-a:r===1/0?a=a-t:a=(a-t)/(r-t),a=o(a),n===-1/0?a=-a:f===1/0?a=a+n:a=a*(f-n)+n,a)}function He(e,t){for(var r=1;r=e);++r);return r-1}var Be=(e,t=\"end\")=>r=>{r=t===\"end\"?Math.min(r,.999):Math.max(r,.001);let n=r*e,f=t===\"end\"?Math.floor(n):Math.ceil(n);return ne(0,1,f/e)},P=1.70158,L=P*1.525,xe=P+1,he=2*Math.PI/3,ye=2*Math.PI/4.5,V=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,Lt={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:Math.pow(2,10*e-10),easeOutExpo:e=>e===1?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>xe*e*e*e-P*e*e,easeOutBack:e=>1+xe*Math.pow(e-1,3)+P*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*((L+1)*2*e-L)/2:(Math.pow(2*e-2,2)*((L+1)*(e*2-2)+L)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-Math.pow(2,10*e-10)*Math.sin((e*10-10.75)*he),easeOutElastic:e=>e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e*10-.75)*he)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*ye))/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*ye)/2+1,easeInBounce:e=>1-V(1-e),easeOutBounce:V,easeInOutBounce:e=>e<.5?(1-V(1-2*e))/2:(1+V(2*e-1))/2,steps:Be};var g=Symbol.for(\"FluidValue.get\"),m=Symbol.for(\"FluidValue.observers\");var Pt=e=>!!(e&&e[g]),ve=e=>e&&e[g]?e[g]():e,qt=e=>e[m]||null;function je(e,t){e.eventObserved?e.eventObserved(t):e(t)}function $t(e,t){let r=e[m];r&&r.forEach(n=>{je(n,t)})}var ge=class{[g];[m];constructor(t){if(!t&&!(t=this.get))throw Error(\"Unknown getter\");De(this,t)}},De=(e,t)=>Ee(e,g,t);function Gt(e,t){if(e[g]){let r=e[m];r||Ee(e,m,r=new Set),r.has(t)||(r.add(t),e.observerAdded&&e.observerAdded(r.size,t))}return t}function Qt(e,t){let r=e[m];if(r&&r.has(t)){let n=r.size-1;n?r.delete(t):e[m]=null,e.observerRemoved&&e.observerRemoved(n,t)}}var Ee=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0});var O=/[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,Oe=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi,K=new RegExp(`(${O.source})(%|[a-z]+)`,\"i\"),we=/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi,b=/var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;var N=e=>{let[t,r]=We(e);if(!t||h())return e;let n=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(n)return n.trim();if(r&&r.startsWith(\"--\")){let f=window.getComputedStyle(document.documentElement).getPropertyValue(r);return f||e}else{if(r&&b.test(r))return N(r);if(r)return r}return e},We=e=>{let t=b.exec(e);if(!t)return[,];let[,r,n]=t;return[r,n]};var _,Ke=(e,t,r,n,f)=>`rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${f})`,Xt=e=>{_||(_=c?new RegExp(`(${Object.keys(c).join(\"|\")})(?!\\\\w)`,\"g\"):/^\\b$/);let t=e.output.map(o=>ve(o).replace(b,N).replace(Oe,D).replace(_,D)),r=t.map(o=>o.match(O).map(Number)),f=r[0].map((o,i)=>r.map(s=>{if(!(i in s))throw Error('The arity of each \"output\" value must be equal');return s[i]})).map(o=>W({...e,output:o}));return o=>{let i=!K.test(t[0])&&t.find(x=>K.test(x))?.replace(O,\"\"),s=0;return t[0].replace(O,()=>`${f[s++](o)}${i||\"\"}`).replace(we,Ke)}};var Z=\"react-spring: \",Te=e=>{let t=e,r=!1;if(typeof t!=\"function\")throw new TypeError(`${Z}once requires a function parameter`);return(...n)=>{r||(t(...n),r=!0)}},Ne=Te(console.warn);function Jt(){Ne(`${Z}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`)}var _e=Te(console.warn);function er(){_e(`${Z}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`)}function or(e){return l.str(e)&&(e[0]==\"#\"||/\\d/.test(e)||!h()&&b.test(e)||e in(c||{}))}import{raf as Re}from\"@react-spring/rafz\";var v,q=new WeakMap,Ze=e=>e.forEach(({target:t,contentRect:r})=>q.get(t)?.forEach(n=>n(r)));function Fe(e,t){v||typeof ResizeObserver<\"u\"&&(v=new ResizeObserver(Ze));let r=q.get(t);return r||(r=new Set,q.set(t,r)),r.add(e),v&&v.observe(t),()=>{let n=q.get(t);n&&(n.delete(e),!n.size&&v&&v.unobserve(t))}}var $=new Set,w,Xe=()=>{let e=()=>{$.forEach(t=>t({width:window.innerWidth,height:window.innerHeight}))};return window.addEventListener(\"resize\",e),()=>{window.removeEventListener(\"resize\",e)}},Ie=e=>($.add(e),w||(w=Xe()),()=>{$.delete(e),!$.size&&w&&(w(),w=void 0)});var ke=(e,{container:t=document.documentElement}={})=>t===document.documentElement?Ie(e):Fe(e,t);var Se=(e,t,r)=>t-e===0?1:(r-e)/(t-e);var Ye={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}},G=class{callback;container;info;constructor(t,r){this.callback=t,this.container=r,this.info={time:0,x:this.createAxis(),y:this.createAxis()}}createAxis=()=>({current:0,progress:0,scrollLength:0});updateAxis=t=>{let r=this.info[t],{length:n,position:f}=Ye[t];r.current=this.container[`scroll${f}`],r.scrollLength=this.container[\"scroll\"+n]-this.container[\"client\"+n],r.progress=Se(0,r.scrollLength,r.current)};update=()=>{this.updateAxis(\"x\"),this.updateAxis(\"y\")};sendEvent=()=>{this.callback(this.info)};advance=()=>{this.update(),this.sendEvent()}};var T=new WeakMap,Ae=new WeakMap,X=new WeakMap,Me=e=>e===document.documentElement?window:e,yr=(e,{container:t=document.documentElement}={})=>{let r=X.get(t);r||(r=new Set,X.set(t,r));let n=new G(e,t);if(r.add(n),!T.has(t)){let o=()=>(r?.forEach(s=>s.advance()),!0);T.set(t,o);let i=Me(t);window.addEventListener(\"resize\",o,{passive:!0}),t!==document.documentElement&&Ae.set(t,ke(o,{container:t})),i.addEventListener(\"scroll\",o,{passive:!0})}let f=T.get(t);return Re(f),()=>{Re.cancel(f);let o=X.get(t);if(!o||(o.delete(n),o.size))return;let i=T.get(t);T.delete(t),i&&(Me(t).removeEventListener(\"scroll\",i),window.removeEventListener(\"resize\",i),Ae.get(t)?.())}};import{useRef as Je}from\"react\";function Er(e){let t=Je(null);return t.current===null&&(t.current=e()),t.current}import{useState as nt}from\"react\";import{useRef as rt}from\"react\";import{useEffect as et,useLayoutEffect as tt}from\"react\";var Q=h()?et:tt;var Ce=()=>{let e=rt(!1);return Q(()=>(e.current=!0,()=>{e.current=!1}),[]),e};function Mr(){let e=nt()[1],t=Ce();return()=>{t.current&&e(Math.random())}}import{useEffect as ot,useRef as ft,useState as at}from\"react\";function Lr(e,t){let[r]=at(()=>({inputs:t,result:e()})),n=ft(),f=n.current,o=f;return o?t&&o.inputs&&it(t,o.inputs)||(o={inputs:t,result:e()}):o=r,ot(()=>{n.current=o,f==r&&(r.inputs=r.result=void 0)},[o]),o.result}function it(e,t){if(e.length!==t.length)return!1;for(let r=0;rst(e,ut),ut=[];import{useEffect as lt,useRef as ct}from\"react\";function Ur(e){let t=ct();return lt(()=>{t.current=e}),t.current}import{useState as dt}from\"react\";var Wr=()=>{let[e,t]=dt(null);return Q(()=>{let r=window.matchMedia(\"(prefers-reduced-motion)\"),n=f=>{t(f.matches),U({skipAnimation:f.matches})};return n(r),r.addEventListener(\"change\",n),()=>{r.removeEventListener(\"change\",n)}},[]),e};import{raf as yn}from\"@react-spring/rafz\";export{ge as FluidValue,p as Globals,Gt as addFluidObserver,je as callFluidObserver,$t as callFluidObservers,ne as clamp,D as colorToRgba,It as colors,W as createInterpolator,Xt as createStringInterpolator,mt as defineHidden,er as deprecateDirectCall,Jt as deprecateInterpolate,Ve as each,xt as eachProp,Lt as easings,Pe as flush,yt as flushCalls,qe as frameLoop,qt as getFluidObservers,ve as getFluidValue,Pt as hasFluidValue,se as hex3,ue as hex4,le as hex6,ce as hex8,ae as hsl,ie as hsla,l as is,or as isAnimatedString,bt as isEqual,h as isSSR,Y as noop,ke as onResize,yr as onScroll,Te as once,Z as prefix,yn as raf,Qt as removeFluidObserver,oe as rgb,fe as rgba,De as setFluidGetter,ht as toArray,Er as useConstant,Mr as useForceUpdate,Q as useIsomorphicLayoutEffect,Lr as useMemoOne,$r as useOnce,Ur as usePrev,Wr as useReducedMotion};\n","import{defineHidden as B}from\"@react-spring/shared\";var h=Symbol.for(\"Animated:node\"),v=e=>!!e&&e[h]===e,k=e=>e&&e[h],D=(e,t)=>B(e,h,t),F=e=>e&&e[h]&&e[h].getPayload(),c=class{payload;constructor(){D(this,this)}getPayload(){return this.payload||[]}};import{is as A}from\"@react-spring/shared\";var l=class extends c{constructor(r){super();this._value=r;A.num(this._value)&&(this.lastPosition=this._value)}done=!0;elapsedTime;lastPosition;lastVelocity;v0;durationProgress=0;static create(r){return new l(r)}getPayload(){return[this]}getValue(){return this._value}setValue(r,n){return A.num(r)&&(this.lastPosition=r,n&&(r=Math.round(r/n)*n,this.done&&(this.lastPosition=r))),this._value===r?!1:(this._value=r,!0)}reset(){let{done:r}=this;this.done=!1,A.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,r&&(this.lastVelocity=null),this.v0=null)}};import{is as K,createInterpolator as R}from\"@react-spring/shared\";var d=class extends l{_string=null;_toString;constructor(t){super(0),this._toString=R({output:[t,t]})}static create(t){return new d(t)}getValue(){let t=this._string;return t??(this._string=this._toString(this._value))}setValue(t){if(K.str(t)){if(t==this._string)return!1;this._string=t,this._value=1}else if(super.setValue(t))this._string=null;else return!1;return!0}reset(t){t&&(this._toString=R({output:[this.getValue(),t]})),this._value=0,super.reset()}};import{isAnimatedString as q}from\"@react-spring/shared\";import{each as L,eachProp as w,getFluidValue as M,hasFluidValue as C}from\"@react-spring/shared\";var f={dependencies:null};var u=class extends c{constructor(r){super();this.source=r;this.setValue(r)}getValue(r){let n={};return w(this.source,(a,i)=>{v(a)?n[i]=a.getValue(r):C(a)?n[i]=M(a):r||(n[i]=a)}),n}setValue(r){this.source=r,this.payload=this._makePayload(r)}reset(){this.payload&&L(this.payload,r=>r.reset())}_makePayload(r){if(r){let n=new Set;return w(r,this._addToPayload,n),Array.from(n)}}_addToPayload(r){f.dependencies&&C(r)&&f.dependencies.add(r);let n=F(r);n&&L(n,a=>this.add(a))}};var y=class extends u{constructor(t){super(t)}static create(t){return new y(t)}getValue(){return this.source.map(t=>t.getValue())}setValue(t){let r=this.getPayload();return t.length==r.length?r.map((n,a)=>n.setValue(t[a])).some(Boolean):(super.setValue(t.map(z)),!0)}};function z(e){return(q(e)?d:l).create(e)}import{is as G,isAnimatedString as J}from\"@react-spring/shared\";function Le(e){let t=k(e);return t?t.constructor:G.arr(e)?y:J(e)?d:l}import{is as g,eachProp as oe}from\"@react-spring/shared\";import*as O from\"react\";import{forwardRef as Q,useRef as H,useCallback as X,useEffect as Y}from\"react\";import{is as N,each as V,raf as U,useForceUpdate as Z,useOnce as ee,addFluidObserver as te,removeFluidObserver as E,useIsomorphicLayoutEffect as re}from\"@react-spring/shared\";var x=(e,t)=>{let r=!N.fun(e)||e.prototype&&e.prototype.isReactComponent;return Q((n,a)=>{let i=H(null),o=r&&X(s=>{i.current=ae(a,s)},[a]),[m,T]=ne(n,t),W=Z(),P=()=>{let s=i.current;if(r&&!s)return;(s?t.applyAnimatedValues(s,m.getValue(!0)):!1)===!1&&W()},_=new b(P,T),p=H();re(()=>(p.current=_,V(T,s=>te(s,_)),()=>{p.current&&(V(p.current.deps,s=>E(s,p.current)),U.cancel(p.current.update))})),Y(P,[]),ee(()=>()=>{let s=p.current;V(s.deps,S=>E(S,s))});let $=t.getComponentProps(m.getValue());return O.createElement(e,{...$,ref:o})})},b=class{constructor(t,r){this.update=t;this.deps=r}eventObserved(t){t.type==\"change\"&&U.write(this.update)}};function ne(e,t){let r=new Set;return f.dependencies=r,e.style&&(e={...e,style:t.createAnimatedStyle(e.style)}),e=new u(e),f.dependencies=null,[e,r]}function ae(e,t){return e&&(N.fun(e)?e(t):e.current=t),t}var j=Symbol.for(\"AnimatedComponent\"),Ke=(e,{applyAnimatedValues:t=()=>!1,createAnimatedStyle:r=a=>new u(a),getComponentProps:n=a=>a}={})=>{let a={applyAnimatedValues:t,createAnimatedStyle:r,getComponentProps:n},i=o=>{let m=I(o)||\"Anonymous\";return g.str(o)?o=i[o]||(i[o]=x(o,a)):o=o[j]||(o[j]=x(o,a)),o.displayName=`Animated(${m})`,o};return oe(e,(o,m)=>{g.arr(e)&&(m=I(o)),i[m]=i(o)}),{animated:i}},I=e=>g.str(e)?e:e&&g.str(e.displayName)?e.displayName:g.fun(e)&&e.name||null;export{c as Animated,y as AnimatedArray,u as AnimatedObject,d as AnimatedString,l as AnimatedValue,Ke as createHost,k as getAnimated,Le as getAnimatedType,F as getPayload,v as isAnimated,D as setAnimated};\n","import{each as ge,useIsomorphicLayoutEffect as an}from\"@react-spring/shared\";import{is as K,toArray as $t,eachProp as dt,getFluidValue as Zt,isAnimatedString as en,Globals as tn}from\"@react-spring/shared\";function I(t,...e){return K.fun(t)?t(...e):t}var te=(t,e)=>t===!0||!!(e&&t&&(K.fun(t)?t(e):$t(t).includes(e))),et=(t,e)=>K.obj(t)?e&&t[e]:t;var ke=(t,e)=>t.default===!0?t[e]:t.default?t.default[e]:void 0,nn=t=>t,ne=(t,e=nn)=>{let n=rn;t.default&&t.default!==!0&&(t=t.default,n=Object.keys(t));let r={};for(let o of n){let s=e(t[o],o);K.und(s)||(r[o]=s)}return r},rn=[\"config\",\"onProps\",\"onStart\",\"onChange\",\"onPause\",\"onResume\",\"onRest\"],on={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function sn(t){let e={},n=0;if(dt(t,(r,o)=>{on[o]||(e[o]=r,n++)}),n)return e}function de(t){let e=sn(t);if(e){let n={to:e};return dt(t,(r,o)=>o in e||(n[o]=r)),n}return{...t}}function me(t){return t=Zt(t),K.arr(t)?t.map(me):en(t)?tn.createStringInterpolator({range:[0,1],output:[t,t]})(1):t}function Ue(t){for(let e in t)return!0;return!1}function Ee(t){return K.fun(t)||K.arr(t)&&K.obj(t[0])}function xe(t,e){t.ref?.delete(t),e?.delete(t)}function he(t,e){e&&t.ref!==e&&(t.ref?.delete(t),e.add(t),t.ref=e)}function wr(t,e,n=1e3){an(()=>{if(e){let r=0;ge(t,(o,s)=>{let i=o.current;if(i.length){let a=n*e[s];isNaN(a)?a=r:r=a,ge(i,u=>{ge(u.queue,p=>{let f=p.delay;p.delay=d=>a+I(f||0,d)})}),o.start()}})}else{let r=Promise.resolve();ge(t,o=>{let s=o.current;if(s.length){let i=s.map(a=>{let u=a.queue;return a.queue=[],u});r=r.then(()=>(ge(s,(a,u)=>ge(i[u]||[],p=>a.queue.push(p))),Promise.all(o.start())))}})}})}import{is as Qn}from\"@react-spring/shared\";import{useContext as Mn,useMemo as Xe,useRef as Nt}from\"react\";import{is as jn,each as Ye,usePrev as Dt,useOnce as Nn,useForceUpdate as Dn,useIsomorphicLayoutEffect as qn}from\"@react-spring/shared\";import{is as R,raf as ve,each as At,isEqual as Y,toArray as Rt,eachProp as Pn,frameLoop as Tn,flushCalls as Qe,getFluidValue as ie,isAnimatedString as xn,Globals as bn,callFluidObservers as An,hasFluidValue as Se,addFluidObserver as Rn,removeFluidObserver as vn,getFluidObservers as vt}from\"@react-spring/shared\";import{AnimatedValue as Cn,AnimatedString as Ct,getPayload as In,getAnimated as ae,setAnimated as Vn,getAnimatedType as It}from\"@react-spring/animated\";import{is as re,easings as un}from\"@react-spring/shared\";var mt={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}};var tt={...mt.default,mass:1,damping:1,easing:un.linear,clamp:!1},we=class{tension;friction;frequency;damping;mass;velocity=0;restVelocity;precision;progress;duration;easing;clamp;bounce;decay;round;constructor(){Object.assign(this,tt)}};function gt(t,e,n){n&&(n={...n},ht(n,e),e={...n,...e}),ht(t,e),Object.assign(t,e);for(let i in tt)t[i]==null&&(t[i]=tt[i]);let{frequency:r,damping:o}=t,{mass:s}=t;return re.und(r)||(r<.01&&(r=.01),o<0&&(o=0),t.tension=Math.pow(2*Math.PI/r,2)*s,t.friction=4*Math.PI*o*s/r),t}function ht(t,e){if(!re.und(e.decay))t.duration=void 0;else{let n=!re.und(e.tension)||!re.und(e.friction);(n||!re.und(e.frequency)||!re.und(e.damping)||!re.und(e.mass))&&(t.duration=void 0,t.decay=void 0),n&&(t.frequency=void 0)}}var yt=[],Le=class{changed=!1;values=yt;toValues=null;fromValues=yt;to;from;config=new we;immediate=!1};import{is as pn,raf as St,Globals as ln}from\"@react-spring/shared\";function Me(t,{key:e,props:n,defaultProps:r,state:o,actions:s}){return new Promise((i,a)=>{let u,p,f=te(n.cancel??r?.cancel,e);if(f)b();else{pn.und(n.pause)||(o.paused=te(n.pause,e));let c=r?.pause;c!==!0&&(c=o.paused||te(c,e)),u=I(n.delay||0,e),c?(o.resumeQueue.add(m),s.pause()):(s.resume(),m())}function d(){o.resumeQueue.add(m),o.timeouts.delete(p),p.cancel(),u=p.time-St.now()}function m(){u>0&&!ln.skipAnimation?(o.delayed=!0,p=St.setTimeout(b,u),o.pauseQueue.add(d),o.timeouts.add(p)):b()}function b(){o.delayed&&(o.delayed=!1),o.pauseQueue.delete(d),o.timeouts.delete(p),t<=(o.cancelId||0)&&(f=!0);try{s.start({...n,callId:t,cancel:f},i)}catch(c){a(c)}}})}import{is as je,raf as cn,flush as fn,eachProp as dn,Globals as Pt}from\"@react-spring/shared\";var be=(t,e)=>e.length==1?e[0]:e.some(n=>n.cancelled)?q(t.get()):e.every(n=>n.noop)?nt(t.get()):E(t.get(),e.every(n=>n.finished)),nt=t=>({value:t,noop:!0,finished:!0,cancelled:!1}),E=(t,e,n=!1)=>({value:t,finished:e,cancelled:n}),q=t=>({value:t,cancelled:!0,finished:!1});function De(t,e,n,r){let{callId:o,parentId:s,onRest:i}=e,{asyncTo:a,promise:u}=n;return!s&&t===a&&!e.reset?u:n.promise=(async()=>{n.asyncId=o,n.asyncTo=t;let p=ne(e,(l,h)=>h===\"onRest\"?void 0:l),f,d,m=new Promise((l,h)=>(f=l,d=h)),b=l=>{let h=o<=(n.cancelId||0)&&q(r)||o!==n.asyncId&&E(r,!1);if(h)throw l.result=h,d(l),l},c=(l,h)=>{let g=new Ae,x=new Ne;return(async()=>{if(Pt.skipAnimation)throw oe(n),x.result=E(r,!1),d(x),x;b(g);let S=je.obj(l)?{...l}:{...h,to:l};S.parentId=o,dn(p,(V,_)=>{je.und(S[_])&&(S[_]=V)});let A=await r.start(S);return b(g),n.paused&&await new Promise(V=>{n.resumeQueue.add(V)}),A})()},P;if(Pt.skipAnimation)return oe(n),E(r,!1);try{let l;je.arr(t)?l=(async h=>{for(let g of h)await c(g)})(t):l=Promise.resolve(t(c,r.stop.bind(r))),await Promise.all([l.then(f),m]),P=E(r.get(),!0,!1)}catch(l){if(l instanceof Ae)P=l.result;else if(l instanceof Ne)P=l.result;else throw l}finally{o==n.asyncId&&(n.asyncId=s,n.asyncTo=s?a:void 0,n.promise=s?u:void 0)}return je.fun(i)&&cn.batchedUpdates(()=>{i(P,r,r.item)}),P})()}function oe(t,e){fn(t.timeouts,n=>n.cancel()),t.pauseQueue.clear(),t.resumeQueue.clear(),t.asyncId=t.asyncTo=t.promise=void 0,e&&(t.cancelId=e)}var Ae=class extends Error{result;constructor(){super(\"An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.\")}},Ne=class extends Error{result;constructor(){super(\"SkipAnimationSignal\")}};import{deprecateInterpolate as mn,frameLoop as hn,FluidValue as gn,Globals as Tt,callFluidObservers as xt}from\"@react-spring/shared\";import{getAnimated as yn}from\"@react-spring/animated\";var Re=t=>t instanceof X,Sn=1,X=class extends gn{id=Sn++;_priority=0;get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){let e=yn(this);return e&&e.getValue()}to(...e){return Tt.to(this,e)}interpolate(...e){return mn(),Tt.to(this,e)}toJSON(){return this.get()}observerAdded(e){e==1&&this._attach()}observerRemoved(e){e==0&&this._detach()}_attach(){}_detach(){}_onChange(e,n=!1){xt(this,{type:\"change\",parent:this,value:e,idle:n})}_onPriorityChange(e){this.idle||hn.sort(this),xt(this,{type:\"priority\",parent:this,priority:e})}};var se=Symbol.for(\"SpringPhase\"),bt=1,rt=2,ot=4,qe=t=>(t[se]&bt)>0,Q=t=>(t[se]&rt)>0,ye=t=>(t[se]&ot)>0,st=(t,e)=>e?t[se]|=rt|bt:t[se]&=~rt,it=(t,e)=>e?t[se]|=ot:t[se]&=~ot;var ue=class extends X{key;animation=new Le;queue;defaultProps={};_state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_pendingCalls=new Set;_lastCallId=0;_lastToId=0;_memoizedDuration=0;constructor(e,n){if(super(),!R.und(e)||!R.und(n)){let r=R.obj(e)?{...e}:{...n,from:e};R.und(r.default)&&(r.default=!0),this.start(r)}}get idle(){return!(Q(this)||this._state.asyncTo)||ye(this)}get goal(){return ie(this.animation.to)}get velocity(){let e=ae(this);return e instanceof Cn?e.lastVelocity||0:e.getPayload().map(n=>n.lastVelocity||0)}get hasAnimated(){return qe(this)}get isAnimating(){return Q(this)}get isPaused(){return ye(this)}get isDelayed(){return this._state.delayed}advance(e){let n=!0,r=!1,o=this.animation,{toValues:s}=o,{config:i}=o,a=In(o.to);!a&&Se(o.to)&&(s=Rt(ie(o.to))),o.values.forEach((f,d)=>{if(f.done)return;let m=f.constructor==Ct?1:a?a[d].lastPosition:s[d],b=o.immediate,c=m;if(!b){if(c=f.lastPosition,i.tension<=0){f.done=!0;return}let P=f.elapsedTime+=e,l=o.fromValues[d],h=f.v0!=null?f.v0:f.v0=R.arr(i.velocity)?i.velocity[d]:i.velocity,g,x=i.precision||(l==m?.005:Math.min(1,Math.abs(m-l)*.001));if(R.und(i.duration))if(i.decay){let S=i.decay===!0?.998:i.decay,A=Math.exp(-(1-S)*P);c=l+h/(1-S)*(1-A),b=Math.abs(f.lastPosition-c)<=x,g=h*A}else{g=f.lastVelocity==null?h:f.lastVelocity;let S=i.restVelocity||x/10,A=i.clamp?0:i.bounce,V=!R.und(A),_=l==m?f.v0>0:lS,!(!v&&(b=Math.abs(m-c)<=x,b)));++L){V&&(w=c==m||c>m==_,w&&(g=-g*A,c=m));let N=-i.tension*1e-6*(c-m),y=-i.friction*.001*g,T=(N+y)/i.mass;g=g+T*C,c=c+g*C}}else{let S=1;i.duration>0&&(this._memoizedDuration!==i.duration&&(this._memoizedDuration=i.duration,f.durationProgress>0&&(f.elapsedTime=i.duration*f.durationProgress,P=f.elapsedTime+=e)),S=(i.progress||0)+P/this._memoizedDuration,S=S>1?1:S<0?0:S,f.durationProgress=S),c=l+i.easing(S)*(m-l),g=(c-f.lastPosition)/e,b=S==1}f.lastVelocity=g,Number.isNaN(c)&&(console.warn(\"Got NaN while animating:\",this),b=!0)}a&&!a[d].done&&(b=!1),b?f.done=!0:n=!1,f.setValue(c,i.round)&&(r=!0)});let u=ae(this),p=u.getValue();if(n){let f=ie(o.to);(p!==f||r)&&!i.decay?(u.setValue(f),this._onChange(f)):r&&i.decay&&this._onChange(p),this._stop()}else r&&this._onChange(p)}set(e){return ve.batchedUpdates(()=>{this._stop(),this._focus(e),this._set(e)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(Q(this)){let{to:e,config:n}=this.animation;ve.batchedUpdates(()=>{this._onStart(),n.decay||this._set(e,!1),this._stop()})}return this}update(e){return(this.queue||(this.queue=[])).push(e),this}start(e,n){let r;return R.und(e)?(r=this.queue||[],this.queue=[]):r=[R.obj(e)?e:{...n,to:e}],Promise.all(r.map(o=>this._update(o))).then(o=>be(this,o))}stop(e){let{to:n}=this.animation;return this._focus(this.get()),oe(this._state,e&&this._lastCallId),ve.batchedUpdates(()=>this._stop(n,e)),this}reset(){this._update({reset:!0})}eventObserved(e){e.type==\"change\"?this._start():e.type==\"priority\"&&(this.priority=e.priority+1)}_prepareNode(e){let n=this.key||\"\",{to:r,from:o}=e;r=R.obj(r)?r[n]:r,(r==null||Ee(r))&&(r=void 0),o=R.obj(o)?o[n]:o,o==null&&(o=void 0);let s={to:r,from:o};return qe(this)||(e.reverse&&([r,o]=[o,r]),o=ie(o),R.und(o)?ae(this)||this._set(r):this._set(o)),s}_update({...e},n){let{key:r,defaultProps:o}=this;e.default&&Object.assign(o,ne(e,(a,u)=>/^on/.test(u)?et(a,r):a)),_t(this,e,\"onProps\"),Ie(this,\"onProps\",e,this);let s=this._prepareNode(e);if(Object.isFrozen(this))throw Error(\"Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?\");let i=this._state;return Me(++this._lastCallId,{key:r,props:e,defaultProps:o,state:i,actions:{pause:()=>{ye(this)||(it(this,!0),Qe(i.pauseQueue),Ie(this,\"onPause\",E(this,Ce(this,this.animation.to)),this))},resume:()=>{ye(this)&&(it(this,!1),Q(this)&&this._resume(),Qe(i.resumeQueue),Ie(this,\"onResume\",E(this,Ce(this,this.animation.to)),this))},start:this._merge.bind(this,s)}}).then(a=>{if(e.loop&&a.finished&&!(n&&a.noop)){let u=at(e);if(u)return this._update(u,!0)}return a})}_merge(e,n,r){if(n.cancel)return this.stop(!0),r(q(this));let o=!R.und(e.to),s=!R.und(e.from);if(o||s)if(n.callId>this._lastToId)this._lastToId=n.callId;else return r(q(this));let{key:i,defaultProps:a,animation:u}=this,{to:p,from:f}=u,{to:d=p,from:m=f}=e;s&&!o&&(!n.default||R.und(d))&&(d=m),n.reverse&&([d,m]=[m,d]);let b=!Y(m,f);b&&(u.from=m),m=ie(m);let c=!Y(d,p);c&&this._focus(d);let P=Ee(n.to),{config:l}=u,{decay:h,velocity:g}=l;(o||s)&&(l.velocity=0),n.config&&!P&>(l,I(n.config,i),n.config!==a.config?I(a.config,i):void 0);let x=ae(this);if(!x||R.und(d))return r(E(this,!0));let S=R.und(n.reset)?s&&!n.default:!R.und(m)&&te(n.reset,i),A=S?m:this.get(),V=me(d),_=R.num(V)||R.arr(V)||xn(V),v=!P&&(!_||te(a.immediate||n.immediate,i));if(c){let L=It(d);if(L!==x.constructor)if(v)x=this._set(V);else throw Error(`Cannot animate between ${x.constructor.name} and ${L.name}, as the \"to\" prop suggests`)}let w=x.constructor,C=Se(d),$=!1;if(!C){let L=S||!qe(this)&&b;(c||L)&&($=Y(me(A),V),C=!$),(!Y(u.immediate,v)&&!v||!Y(l.decay,h)||!Y(l.velocity,g))&&(C=!0)}if($&&Q(this)&&(u.changed&&!S?C=!0:C||this._stop(p)),!P&&((C||Se(p))&&(u.values=x.getPayload(),u.toValues=Se(d)?null:w==Ct?[1]:Rt(V)),u.immediate!=v&&(u.immediate=v,!v&&!S&&this._set(p)),C)){let{onRest:L}=u;At(_n,y=>_t(this,n,y));let N=E(this,Ce(this,p));Qe(this._pendingCalls,N),this._pendingCalls.add(r),u.changed&&ve.batchedUpdates(()=>{u.changed=!S,L?.(N,this),S?I(a.onRest,N):u.onStart?.(N,this)})}S&&this._set(A),P?r(De(n.to,n,this._state,this)):C?this._start():Q(this)&&!c?this._pendingCalls.add(r):r(nt(A))}_focus(e){let n=this.animation;e!==n.to&&(vt(this)&&this._detach(),n.to=e,vt(this)&&this._attach())}_attach(){let e=0,{to:n}=this.animation;Se(n)&&(Rn(n,this),Re(n)&&(e=n.priority+1)),this.priority=e}_detach(){let{to:e}=this.animation;Se(e)&&vn(e,this)}_set(e,n=!0){let r=ie(e);if(!R.und(r)){let o=ae(this);if(!o||!Y(r,o.getValue())){let s=It(r);!o||o.constructor!=s?Vn(this,s.create(r)):o.setValue(r),o&&ve.batchedUpdates(()=>{this._onChange(r,n)})}}return ae(this)}_onStart(){let e=this.animation;e.changed||(e.changed=!0,Ie(this,\"onStart\",E(this,Ce(this,e.to)),this))}_onChange(e,n){n||(this._onStart(),I(this.animation.onChange,e,this)),I(this.defaultProps.onChange,e,this),super._onChange(e,n)}_start(){let e=this.animation;ae(this).reset(ie(e.to)),e.immediate||(e.fromValues=e.values.map(n=>n.lastPosition)),Q(this)||(st(this,!0),ye(this)||this._resume())}_resume(){bn.skipAnimation?this.finish():Tn.start(this)}_stop(e,n){if(Q(this)){st(this,!1);let r=this.animation;At(r.values,s=>{s.done=!0}),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),An(this,{type:\"idle\",parent:this});let o=n?q(this.get()):E(this.get(),Ce(this,e??r.to));Qe(this._pendingCalls,o),r.changed&&(r.changed=!1,Ie(this,\"onRest\",o,this))}}};function Ce(t,e){let n=me(e),r=me(t.get());return Y(r,n)}function at(t,e=t.loop,n=t.to){let r=I(e);if(r){let o=r!==!0&&de(r),s=(o||t).reverse,i=!o||o.reset;return Pe({...t,loop:e,default:!1,pause:void 0,to:!s||Ee(n)?n:void 0,from:i?t.from:void 0,reset:i,...o})}}function Pe(t){let{to:e,from:n}=t=de(t),r=new Set;return R.obj(e)&&Vt(e,r),R.obj(n)&&Vt(n,r),t.keys=r.size?Array.from(r):null,t}function Ot(t){let e=Pe(t);return R.und(e.default)&&(e.default=ne(e)),e}function Vt(t,e){Pn(t,(n,r)=>n!=null&&e.add(r))}var _n=[\"onStart\",\"onRest\",\"onChange\",\"onPause\",\"onResume\"];function _t(t,e,n){t.animation[n]=e[n]!==ke(e,n)?et(e[n],t.key):void 0}function Ie(t,e,...n){t.animation[e]?.(...n),t.defaultProps[e]?.(...n)}import{is as z,raf as kt,each as pe,noop as Ft,flush as ut,toArray as Ve,eachProp as Ut,flushCalls as On,addFluidObserver as Et}from\"@react-spring/shared\";var Fn=[\"onStart\",\"onChange\",\"onRest\"],kn=1,le=class{id=kn++;springs={};queue=[];ref;_flush;_initialProps;_lastAsyncId=0;_active=new Set;_changed=new Set;_started=!1;_item;_state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_events={onStart:new Map,onChange:new Map,onRest:new Map};constructor(e,n){this._onFrame=this._onFrame.bind(this),n&&(this._flush=n),e&&this.start({default:!0,...e})}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(e=>e.idle&&!e.isDelayed&&!e.isPaused)}get item(){return this._item}set item(e){this._item=e}get(){let e={};return this.each((n,r)=>e[r]=n.get()),e}set(e){for(let n in e){let r=e[n];z.und(r)||this.springs[n].set(r)}}update(e){return e&&this.queue.push(Pe(e)),this}start(e){let{queue:n}=this;return e?n=Ve(e).map(Pe):this.queue=[],this._flush?this._flush(this,n):(jt(this,n),ze(this,n))}stop(e,n){if(e!==!!e&&(n=e),n){let r=this.springs;pe(Ve(n),o=>r[o].stop(!!e))}else oe(this._state,this._lastAsyncId),this.each(r=>r.stop(!!e));return this}pause(e){if(z.und(e))this.start({pause:!0});else{let n=this.springs;pe(Ve(e),r=>n[r].pause())}return this}resume(e){if(z.und(e))this.start({pause:!1});else{let n=this.springs;pe(Ve(e),r=>n[r].resume())}return this}each(e){Ut(this.springs,e)}_onFrame(){let{onStart:e,onChange:n,onRest:r}=this._events,o=this._active.size>0,s=this._changed.size>0;(o&&!this._started||s&&!this._started)&&(this._started=!0,ut(e,([u,p])=>{p.value=this.get(),u(p,this,this._item)}));let i=!o&&this._started,a=s||i&&r.size?this.get():null;s&&n.size&&ut(n,([u,p])=>{p.value=a,u(p,this,this._item)}),i&&(this._started=!1,ut(r,([u,p])=>{p.value=a,u(p,this,this._item)}))}eventObserved(e){if(e.type==\"change\")this._changed.add(e.parent),e.idle||this._active.add(e.parent);else if(e.type==\"idle\")this._active.delete(e.parent);else return;kt.onFrame(this._onFrame)}};function ze(t,e){return Promise.all(e.map(n=>wt(t,n))).then(n=>be(t,n))}async function wt(t,e,n){let{keys:r,to:o,from:s,loop:i,onRest:a,onResolve:u}=e,p=z.obj(e.default)&&e.default;i&&(e.loop=!1),o===!1&&(e.to=null),s===!1&&(e.from=null);let f=z.arr(o)||z.fun(o)?o:void 0;f?(e.to=void 0,e.onRest=void 0,p&&(p.onRest=void 0)):pe(Fn,P=>{let l=e[P];if(z.fun(l)){let h=t._events[P];e[P]=({finished:g,cancelled:x})=>{let S=h.get(l);S?(g||(S.finished=!1),x&&(S.cancelled=!0)):h.set(l,{value:null,finished:g||!1,cancelled:x||!1})},p&&(p[P]=e[P])}});let d=t._state;e.pause===!d.paused?(d.paused=e.pause,On(e.pause?d.pauseQueue:d.resumeQueue)):d.paused&&(e.pause=!0);let m=(r||Object.keys(t.springs)).map(P=>t.springs[P].start(e)),b=e.cancel===!0||ke(e,\"cancel\")===!0;(f||b&&d.asyncId)&&m.push(Me(++t._lastAsyncId,{props:e,state:d,actions:{pause:Ft,resume:Ft,start(P,l){b?(oe(d,t._lastAsyncId),l(q(t))):(P.onRest=a,l(De(f,P,d,t)))}}})),d.paused&&await new Promise(P=>{d.resumeQueue.add(P)});let c=be(t,await Promise.all(m));if(i&&c.finished&&!(n&&c.noop)){let P=at(e,i,o);if(P)return jt(t,[P]),wt(t,P,!0)}return u&&kt.batchedUpdates(()=>u(c,t,t.item)),c}function _e(t,e){let n={...t.springs};return e&&pe(Ve(e),r=>{z.und(r.keys)&&(r=Pe(r)),z.obj(r.to)||(r={...r,to:void 0}),Mt(n,r,o=>Lt(o))}),pt(t,n),n}function pt(t,e){Ut(e,(n,r)=>{t.springs[r]||(t.springs[r]=n,Et(n,t))})}function Lt(t,e){let n=new ue;return n.key=t,e&&Et(n,e),n}function Mt(t,e,n){e.keys&&pe(e.keys,r=>{(t[r]||(t[r]=n(r)))._prepareNode(e)})}function jt(t,e){pe(e,n=>{Mt(t.springs,n,r=>Lt(r,t))})}import*as Be from\"react\";import{useContext as Un}from\"react\";import{useMemoOne as En}from\"@react-spring/shared\";var H=({children:t,...e})=>{let n=Un(Ge),r=e.pause||!!n.pause,o=e.immediate||!!n.immediate;e=En(()=>({pause:r,immediate:o}),[r,o]);let{Provider:s}=Ge;return Be.createElement(s,{value:e},t)},Ge=wn(H,{});H.Provider=Ge.Provider;H.Consumer=Ge.Consumer;function wn(t,e){return Object.assign(t,Be.createContext(e)),t.Provider._context=t,t.Consumer._context=t,t}import{each as ce,is as Ke,deprecateDirectCall as Ln}from\"@react-spring/shared\";var fe=()=>{let t=[],e=function(r){Ln();let o=[];return ce(t,(s,i)=>{if(Ke.und(r))o.push(s.start());else{let a=n(r,s,i);a&&o.push(s.start(a))}}),o};e.current=t,e.add=function(r){t.includes(r)||t.push(r)},e.delete=function(r){let o=t.indexOf(r);~o&&t.splice(o,1)},e.pause=function(){return ce(t,r=>r.pause(...arguments)),this},e.resume=function(){return ce(t,r=>r.resume(...arguments)),this},e.set=function(r){ce(t,(o,s)=>{let i=Ke.fun(r)?r(s,o):r;i&&o.set(i)})},e.start=function(r){let o=[];return ce(t,(s,i)=>{if(Ke.und(r))o.push(s.start());else{let a=this._getProps(r,s,i);a&&o.push(s.start(a))}}),o},e.stop=function(){return ce(t,r=>r.stop(...arguments)),this},e.update=function(r){return ce(t,(o,s)=>o.update(this._getProps(r,o,s))),this};let n=function(r,o,s){return Ke.fun(r)?r(s,o):r};return e._getProps=n,e};function He(t,e,n){let r=jn.fun(e)&&e;r&&!n&&(n=[]);let o=Xe(()=>r||arguments.length==3?fe():void 0,[]),s=Nt(0),i=Dn(),a=Xe(()=>({ctrls:[],queue:[],flush(h,g){let x=_e(h,g);return s.current>0&&!a.queue.length&&!Object.keys(x).some(A=>!h.springs[A])?ze(h,g):new Promise(A=>{pt(h,x),a.queue.push(()=>{A(ze(h,g))}),i()})}}),[]),u=Nt([...a.ctrls]),p=[],f=Dt(t)||0;Xe(()=>{Ye(u.current.slice(t,f),h=>{xe(h,o),h.stop(!0)}),u.current.length=t,d(f,t)},[t]),Xe(()=>{d(0,Math.min(f,t))},n);function d(h,g){for(let x=h;x_e(h,p[g])),b=Mn(H),c=Dt(b),P=b!==c&&Ue(b);qn(()=>{s.current++,a.ctrls=u.current;let{queue:h}=a;h.length&&(a.queue=[],Ye(h,g=>g())),Ye(u.current,(g,x)=>{o?.add(g),P&&g.start({default:b});let S=p[x];S&&(he(g,S.ref),g.ref?g.queue.push(S):g.start(S))})}),Nn(()=>()=>{Ye(a.ctrls,h=>h.stop(!0))});let l=m.map(h=>({...h}));return o?[l,o]:l}function J(t,e){let n=Qn.fun(t),[[r],o]=He(1,n?t:[t],n?e||[]:e);return n||arguments.length==2?[r,o]:r}import{useState as zn}from\"react\";var Gn=()=>fe(),Xo=()=>zn(Gn)[0];import{useConstant as Bn,useOnce as Kn}from\"@react-spring/shared\";var Wo=(t,e)=>{let n=Bn(()=>new ue(t,e));return Kn(()=>()=>{n.stop()}),n};import{each as Xn,is as qt,useIsomorphicLayoutEffect as Yn}from\"@react-spring/shared\";function Qt(t,e,n){let r=qt.fun(e)&&e;r&&!n&&(n=[]);let o=!0,s,i=He(t,(a,u)=>{let p=r?r(a,u):e;return s=p.ref,o=o&&p.reverse,p},n||[{}]);if(Yn(()=>{Xn(i[1].current,(a,u)=>{let p=i[1].current[u+(o?1:-1)];if(he(a,s),a.ref){p&&a.update({to:p.springs});return}p?a.start({to:p.springs}):a.start()})},n),r||arguments.length==3){let a=s??i[1];return a._getProps=(u,p,f)=>{let d=qt.fun(u)?u(f,p):u;if(d){let m=a.current[f+(d.reverse?1:-1)];return m&&(d.to=m.springs),d}},i}return i[0]}import*as Oe from\"react\";import{useContext as Hn,useRef as lt,useMemo as Jn}from\"react\";import{is as G,toArray as zt,useForceUpdate as Wn,useOnce as $n,usePrev as Zn,each as j,useIsomorphicLayoutEffect as Je}from\"@react-spring/shared\";function Gt(t,e,n){let r=G.fun(e)&&e,{reset:o,sort:s,trail:i=0,expires:a=!0,exitBeforeEnter:u=!1,onDestroyed:p,ref:f,config:d}=r?r():e,m=Jn(()=>r||arguments.length==3?fe():void 0,[]),b=zt(t),c=[],P=lt(null),l=o?null:P.current;Je(()=>{P.current=c}),$n(()=>(j(c,y=>{m?.add(y.ctrl),y.ctrl.ref=m}),()=>{j(P.current,y=>{y.expired&&clearTimeout(y.expirationId),xe(y.ctrl,m),y.ctrl.stop(!0)})}));let h=tr(b,r?r():e,l),g=o&&P.current||[];Je(()=>j(g,({ctrl:y,item:T,key:F})=>{xe(y,m),I(p,T,F)}));let x=[];if(l&&j(l,(y,T)=>{y.expired?(clearTimeout(y.expirationId),g.push(y)):(T=x[T]=h.indexOf(y.key),~T&&(c[T]=y))}),j(b,(y,T)=>{c[T]||(c[T]={key:h[T],item:y,phase:\"mount\",ctrl:new le},c[T].ctrl.item=y)}),x.length){let y=-1,{leave:T}=r?r():e;j(x,(F,k)=>{let O=l[k];~F?(y=c.indexOf(O),c[y]={...O,item:b[F]}):T&&c.splice(++y,0,O)})}G.fun(s)&&c.sort((y,T)=>s(y.item,T.item));let S=-i,A=Wn(),V=ne(e),_=new Map,v=lt(new Map),w=lt(!1);j(c,(y,T)=>{let F=y.key,k=y.phase,O=r?r():e,U,D,Jt=I(O.delay||0,F);if(k==\"mount\")U=O.enter,D=\"enter\";else{let M=h.indexOf(F)<0;if(k!=\"leave\")if(M)U=O.leave,D=\"leave\";else if(U=O.update)D=\"update\";else return;else if(!M)U=O.enter,D=\"enter\";else return}if(U=I(U,y.item,T),U=G.obj(U)?de(U):{to:U},!U.config){let M=d||V.config;U.config=I(M,y.item,T,D)}S+=i;let Z={...V,delay:Jt+S,ref:f,immediate:O.immediate,reset:!1,...U};if(D==\"enter\"&&G.und(Z.from)){let M=r?r():e,Te=G.und(M.initial)||l?M.from:M.initial;Z.from=I(Te,y.item,T)}let{onResolve:Wt}=Z;Z.onResolve=M=>{I(Wt,M);let Te=P.current,B=Te.find(Fe=>Fe.key===F);if(B&&!(M.cancelled&&B.phase!=\"update\")&&B.ctrl.idle){let Fe=Te.every(ee=>ee.ctrl.idle);if(B.phase==\"leave\"){let ee=I(a,B.item);if(ee!==!1){let Ze=ee===!0?0:ee;if(B.expired=!0,!Fe&&Ze>0){Ze<=2147483647&&(B.expirationId=setTimeout(A,Ze));return}}}Fe&&Te.some(ee=>ee.expired)&&(v.current.delete(B),u&&(w.current=!0),A())}};let ft=_e(y.ctrl,Z);D===\"leave\"&&u?v.current.set(y,{phase:D,springs:ft,payload:Z}):_.set(y,{phase:D,springs:ft,payload:Z})});let C=Hn(H),$=Zn(C),L=C!==$&&Ue(C);Je(()=>{L&&j(c,y=>{y.ctrl.start({default:C})})},[C]),j(_,(y,T)=>{if(v.current.size){let F=c.findIndex(k=>k.key===T.key);c.splice(F,1)}}),Je(()=>{j(v.current.size?v.current:_,({phase:y,payload:T},F)=>{let{ctrl:k}=F;F.phase=y,m?.add(k),L&&y==\"enter\"&&k.start({default:C}),T&&(he(k,T.ref),(k.ref||m)&&!w.current?k.update(T):(k.start(T),w.current&&(w.current=!1)))})},o?void 0:n);let N=y=>Oe.createElement(Oe.Fragment,null,c.map((T,F)=>{let{springs:k}=_.get(T)||T.ctrl,O=y({...k},T.item,T,F);return O&&O.type?Oe.createElement(O.type,{...O.props,key:G.str(T.key)||G.num(T.key)?T.key:T.ctrl.id,ref:O.ref}):O}));return m?[N,m]:N}var er=1;function tr(t,{key:e,keys:n=e},r){if(n===null){let o=new Set;return t.map(s=>{let i=r&&r.find(a=>a.item===s&&a.phase!==\"leave\"&&!o.has(a));return i?(o.add(i),i.key):er++})}return G.und(n)?t:G.fun(n)?t.map(n):zt(n)}import{each as nr,onScroll as rr,useIsomorphicLayoutEffect as or}from\"@react-spring/shared\";var hs=({container:t,...e}={})=>{let[n,r]=J(()=>({scrollX:0,scrollY:0,scrollXProgress:0,scrollYProgress:0,...e}),[]);return or(()=>{let o=rr(({x:s,y:i})=>{r.start({scrollX:s.current,scrollXProgress:s.progress,scrollY:i.current,scrollYProgress:i.progress})},{container:t?.current||void 0});return()=>{nr(Object.values(n),s=>s.stop()),o()}},[]),n};import{onResize as sr,each as ir,useIsomorphicLayoutEffect as ar}from\"@react-spring/shared\";var Ps=({container:t,...e})=>{let[n,r]=J(()=>({width:0,height:0,...e}),[]);return ar(()=>{let o=sr(({width:s,height:i})=>{r.start({width:s,height:i,immediate:n.width.get()===0||n.height.get()===0})},{container:t?.current||void 0});return()=>{ir(Object.values(n),s=>s.stop()),o()}},[]),n};import{useRef as ur,useState as pr}from\"react\";import{is as Bt,useIsomorphicLayoutEffect as lr}from\"@react-spring/shared\";var cr={any:0,all:1};function Cs(t,e){let[n,r]=pr(!1),o=ur(),s=Bt.fun(t)&&t,i=s?s():{},{to:a={},from:u={},...p}=i,f=s?e:t,[d,m]=J(()=>({from:u,...p}),[]);return lr(()=>{let b=o.current,{root:c,once:P,amount:l=\"any\",...h}=f??{};if(!b||P&&n||typeof IntersectionObserver>\"u\")return;let g=new WeakMap,x=()=>(a&&m.start(a),r(!0),P?void 0:()=>{u&&m.start(u),r(!1)}),S=V=>{V.forEach(_=>{let v=g.get(_.target);if(_.isIntersecting!==!!v)if(_.isIntersecting){let w=x();Bt.fun(w)?g.set(_.target,w):A.unobserve(_.target)}else v&&(v(),g.delete(_.target))})},A=new IntersectionObserver(S,{root:c&&c.current||void 0,threshold:typeof l==\"number\"||Array.isArray(l)?l:cr[l],...h});return A.observe(b),()=>A.unobserve(b)},[f]),s?[o,d]:[o,n]}function qs({children:t,...e}){return t(J(e))}import{is as fr}from\"@react-spring/shared\";function Bs({items:t,children:e,...n}){let r=Qt(t.length,n);return t.map((o,s)=>{let i=e(o,s);return fr.fun(i)?i(r[s]):i})}function Ys({items:t,children:e,...n}){return Gt(t,n)(e)}import{deprecateInterpolate as Cr}from\"@react-spring/shared\";import{is as dr,raf as mr,each as $e,isEqual as hr,toArray as We,frameLoop as gr,getFluidValue as Kt,createInterpolator as yr,Globals as Sr,callFluidObservers as Pr,addFluidObserver as Tr,removeFluidObserver as xr,hasFluidValue as Xt}from\"@react-spring/shared\";import{getAnimated as br,setAnimated as Ar,getAnimatedType as Rr,getPayload as Ht}from\"@react-spring/animated\";var W=class extends X{constructor(n,r){super();this.source=n;this.calc=yr(...r);let o=this._get(),s=Rr(o);Ar(this,s.create(o))}key;idle=!0;calc;_active=new Set;advance(n){let r=this._get(),o=this.get();hr(r,o)||(br(this).setValue(r),this._onChange(r,this.idle)),!this.idle&&Yt(this._active)&&ct(this)}_get(){let n=dr.arr(this.source)?this.source.map(Kt):We(Kt(this.source));return this.calc(...n)}_start(){this.idle&&!Yt(this._active)&&(this.idle=!1,$e(Ht(this),n=>{n.done=!1}),Sr.skipAnimation?(mr.batchedUpdates(()=>this.advance()),ct(this)):gr.start(this))}_attach(){let n=1;$e(We(this.source),r=>{Xt(r)&&Tr(r,this),Re(r)&&(r.idle||this._active.add(r),n=Math.max(n,r.priority+1))}),this.priority=n,this._start()}_detach(){$e(We(this.source),n=>{Xt(n)&&xr(n,this)}),this._active.clear(),ct(this)}eventObserved(n){n.type==\"change\"?n.idle?this.advance():(this._active.add(n.parent),this._start()):n.type==\"idle\"?this._active.delete(n.parent):n.type==\"priority\"&&(this.priority=We(this.source).reduce((r,o)=>Math.max(r,(Re(o)?o.priority:0)+1),0))}};function vr(t){return t.idle!==!1}function Yt(t){return!t.size||Array.from(t).every(vr)}function ct(t){t.idle||(t.idle=!0,$e(Ht(t),e=>{e.done=!0}),Pr(t,{type:\"idle\",parent:t}))}var ui=(t,...e)=>new W(t,e),pi=(t,...e)=>(Cr(),new W(t,e));import{Globals as Ir,frameLoop as Vr,createStringInterpolator as _r}from\"@react-spring/shared\";Ir.assign({createStringInterpolator:_r,to:(t,e)=>new W(t,e)});var di=Vr.advance;import{createInterpolator as Ui,useIsomorphicLayoutEffect as Ei,useReducedMotion as wi,easings as Li}from\"@react-spring/shared\";export*from\"@react-spring/types\";export{Ae as BailSignal,le as Controller,X as FrameValue,Ir as Globals,W as Interpolation,qs as Spring,H as SpringContext,fe as SpringRef,ue as SpringValue,Bs as Trail,Ys as Transition,mt as config,Ui as createInterpolator,Li as easings,de as inferTo,pi as interpolate,ui as to,di as update,wr as useChain,Cs as useInView,Ei as useIsomorphicLayoutEffect,wi as useReducedMotion,Ps as useResize,hs as useScroll,J as useSpring,Xo as useSpringRef,Wo as useSpringValue,He as useSprings,Qt as useTrail,Gt as useTransition};\n","import{Globals as M}from\"@react-spring/core\";import{unstable_batchedUpdates as N}from\"react-dom\";import{createStringInterpolator as U,colors as D}from\"@react-spring/shared\";import{createHost as H}from\"@react-spring/animated\";var k=/^--/;function I(t,e){return e==null||typeof e==\"boolean\"||e===\"\"?\"\":typeof e==\"number\"&&e!==0&&!k.test(t)&&!(c.hasOwnProperty(t)&&c[t])?e+\"px\":(\"\"+e).trim()}var v={};function V(t,e){if(!t.nodeType||!t.setAttribute)return!1;let r=t.nodeName===\"filter\"||t.parentNode&&t.parentNode.nodeName===\"filter\",{style:i,children:s,scrollTop:u,scrollLeft:l,viewBox:a,...n}=e,d=Object.values(n),m=Object.keys(n).map(o=>r||t.hasAttribute(o)?o:v[o]||(v[o]=o.replace(/([A-Z])/g,p=>\"-\"+p.toLowerCase())));s!==void 0&&(t.textContent=s);for(let o in i)if(i.hasOwnProperty(o)){let p=I(o,i[o]);k.test(o)?t.style.setProperty(o,p):t.style[o]=p}m.forEach((o,p)=>{t.setAttribute(o,d[p])}),u!==void 0&&(t.scrollTop=u),l!==void 0&&(t.scrollLeft=l),a!==void 0&&t.setAttribute(\"viewBox\",a)}var c={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},F=(t,e)=>t+e.charAt(0).toUpperCase()+e.substring(1),L=[\"Webkit\",\"Ms\",\"Moz\",\"O\"];c=Object.keys(c).reduce((t,e)=>(L.forEach(r=>t[F(r,e)]=t[e]),t),c);import{AnimatedObject as S}from\"@react-spring/animated\";import{is as b,each as f,toArray as E,eachProp as P,FluidValue as T,getFluidValue as w,callFluidObservers as j,hasFluidValue as A,addFluidObserver as R,removeFluidObserver as W}from\"@react-spring/shared\";var _=/^(matrix|translate|scale|rotate|skew)/,$=/^(translate)/,G=/^(rotate|skew)/,y=(t,e)=>b.num(t)&&t!==0?t+e:t,h=(t,e)=>b.arr(t)?t.every(r=>h(r,e)):b.num(t)?t===e:parseFloat(t)===e,g=class extends S{constructor({x:e,y:r,z:i,...s}){let u=[],l=[];(e||r||i)&&(u.push([e||0,r||0,i||0]),l.push(a=>[`translate3d(${a.map(n=>y(n,\"px\")).join(\",\")})`,h(a,0)])),P(s,(a,n)=>{if(n===\"transform\")u.push([a||\"\"]),l.push(d=>[d,d===\"\"]);else if(_.test(n)){if(delete s[n],b.und(a))return;let d=$.test(n)?\"px\":G.test(n)?\"deg\":\"\";u.push(E(a)),l.push(n===\"rotate3d\"?([m,o,p,O])=>[`rotate3d(${m},${o},${p},${y(O,d)})`,h(O,0)]:m=>[`${n}(${m.map(o=>y(o,d)).join(\",\")})`,h(m,n.startsWith(\"scale\")?1:0)])}}),u.length&&(s.transform=new x(u,l)),super(s)}},x=class extends T{constructor(r,i){super();this.inputs=r;this.transforms=i}_value=null;get(){return this._value||(this._value=this._get())}_get(){let r=\"\",i=!0;return f(this.inputs,(s,u)=>{let l=w(s[0]),[a,n]=this.transforms[u](b.arr(l)?l:s.map(w));r+=\" \"+a,i=i&&n}),i?\"none\":r}observerAdded(r){r==1&&f(this.inputs,i=>f(i,s=>A(s)&&R(s,this)))}observerRemoved(r){r==0&&f(this.inputs,i=>f(i,s=>A(s)&&W(s,this)))}eventObserved(r){r.type==\"change\"&&(this._value=null),j(this,r)}};var C=[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"];export*from\"@react-spring/core\";M.assign({batchedUpdates:N,createStringInterpolator:U,colors:D});var q=H(C,{applyAnimatedValues:V,createAnimatedStyle:t=>new g(t),getComponentProps:({scrollTop:t,scrollLeft:e,...r})=>r}),it=q.animated;export{it as a,it as animated};\n","var _excluded = [\"from\", \"to\", \"fill\", \"className\", \"innerRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport default function Line(_ref) {\n var _ref$from = _ref.from,\n from = _ref$from === void 0 ? {\n x: 0,\n y: 0\n } : _ref$from,\n _ref$to = _ref.to,\n to = _ref$to === void 0 ? {\n x: 1,\n y: 1\n } : _ref$to,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,\n className = _ref.className,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var isRectilinear = from.x === to.x || from.y === to.y;\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n ref: innerRef,\n className: cx('visx-line', className),\n x1: from.x,\n y1: from.y,\n x2: to.x,\n y2: to.y,\n fill: fill,\n shapeRendering: isRectilinear ? 'crispEdges' : 'auto'\n }, restProps));\n}","var _excluded = [\"verticalAnchor\", \"scaleToFit\", \"angle\", \"width\", \"lineHeight\", \"capHeight\", \"children\", \"style\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useMemo } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport getStringWidth from '../util/getStringWidth';\nfunction isNumber(val) {\n return typeof val === 'number';\n}\nfunction isXOrYInValid(xOrY) {\n return (\n // number that is not NaN or Infinity\n typeof xOrY === 'number' && Number.isFinite(xOrY) ||\n // for percentage\n typeof xOrY === 'string'\n );\n}\nexport default function useText(props) {\n var _props$verticalAnchor = props.verticalAnchor,\n verticalAnchor = _props$verticalAnchor === void 0 ? 'end' : _props$verticalAnchor,\n _props$scaleToFit = props.scaleToFit,\n scaleToFit = _props$scaleToFit === void 0 ? false : _props$scaleToFit,\n angle = props.angle,\n width = props.width,\n _props$lineHeight = props.lineHeight,\n lineHeight = _props$lineHeight === void 0 ? '1em' : _props$lineHeight,\n _props$capHeight = props.capHeight,\n capHeight = _props$capHeight === void 0 ? '0.71em' : _props$capHeight,\n children = props.children,\n style = props.style,\n textProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _textProps$x = textProps.x,\n x = _textProps$x === void 0 ? 0 : _textProps$x,\n _textProps$y = textProps.y,\n y = _textProps$y === void 0 ? 0 : _textProps$y;\n var isXOrYNotValid = !isXOrYInValid(x) || !isXOrYInValid(y);\n var _useMemo = useMemo(function () {\n var words = children == null ? [] : children.toString().split(/(?:(?!\\u00A0+)\\s+)/);\n return {\n wordsWithWidth: words.map(function (word) {\n return {\n word: word,\n wordWidth: getStringWidth(word, style) || 0\n };\n }),\n spaceWidth: getStringWidth(\"\\xA0\", style) || 0\n };\n }, [children, style]),\n wordsWithWidth = _useMemo.wordsWithWidth,\n spaceWidth = _useMemo.spaceWidth;\n var wordsByLines = useMemo(function () {\n if (isXOrYNotValid) {\n return [];\n }\n\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if (width || scaleToFit) {\n return wordsWithWidth.reduce(function (result, _ref) {\n var word = _ref.word,\n wordWidth = _ref.wordWidth;\n var currentLine = result[result.length - 1];\n if (currentLine && (width == null || scaleToFit || (currentLine.width || 0) + wordWidth + spaceWidth < width)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width = currentLine.width || 0;\n currentLine.width += wordWidth + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: wordWidth\n };\n result.push(newLine);\n }\n return result;\n }, []);\n }\n return [{\n words: children == null ? [] : children.toString().split(/(?:(?!\\u00A0+)\\s+)/)\n }];\n }, [isXOrYNotValid, width, scaleToFit, children, wordsWithWidth, spaceWidth]);\n var startDy = useMemo(function () {\n var startDyStr = isXOrYNotValid ? '' : verticalAnchor === 'start' ? reduceCSSCalc(\"calc(\" + capHeight + \")\") : verticalAnchor === 'middle' ? reduceCSSCalc(\"calc(\" + (wordsByLines.length - 1) / 2 + \" * -\" + lineHeight + \" + (\" + capHeight + \" / 2))\") : reduceCSSCalc(\"calc(\" + (wordsByLines.length - 1) + \" * -\" + lineHeight + \")\");\n return startDyStr;\n }, [isXOrYNotValid, verticalAnchor, capHeight, wordsByLines.length, lineHeight]);\n var transform = useMemo(function () {\n var transforms = [];\n if (isXOrYNotValid) {\n return '';\n }\n if (isNumber(x) && isNumber(y) && isNumber(width) && scaleToFit && wordsByLines.length > 0) {\n var lineWidth = wordsByLines[0].width || 1;\n var sx = scaleToFit === 'shrink-only' ? Math.min(width / lineWidth, 1) : width / lineWidth;\n var sy = sx;\n var originX = x - sx * x;\n var originY = y - sy * y;\n transforms.push(\"matrix(\" + sx + \", 0, 0, \" + sy + \", \" + originX + \", \" + originY + \")\");\n }\n if (angle) {\n transforms.push(\"rotate(\" + angle + \", \" + x + \", \" + y + \")\");\n }\n return transforms.length > 0 ? transforms.join(' ') : '';\n }, [isXOrYNotValid, x, y, width, scaleToFit, wordsByLines, angle]);\n return {\n wordsByLines: wordsByLines,\n startDy: startDy,\n transform: transform\n };\n}","var _excluded = [\"dx\", \"dy\", \"textAnchor\", \"innerRef\", \"innerTextRef\", \"verticalAnchor\", \"angle\", \"lineHeight\", \"scaleToFit\", \"capHeight\", \"width\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport useText from './hooks/useText';\nvar SVG_STYLE = {\n overflow: 'visible'\n};\nexport default function Text(props) {\n var _props$dx = props.dx,\n dx = _props$dx === void 0 ? 0 : _props$dx,\n _props$dy = props.dy,\n dy = _props$dy === void 0 ? 0 : _props$dy,\n _props$textAnchor = props.textAnchor,\n textAnchor = _props$textAnchor === void 0 ? 'start' : _props$textAnchor,\n innerRef = props.innerRef,\n innerTextRef = props.innerTextRef,\n verticalAnchor = props.verticalAnchor,\n angle = props.angle,\n _props$lineHeight = props.lineHeight,\n lineHeight = _props$lineHeight === void 0 ? '1em' : _props$lineHeight,\n _props$scaleToFit = props.scaleToFit,\n scaleToFit = _props$scaleToFit === void 0 ? false : _props$scaleToFit,\n capHeight = props.capHeight,\n width = props.width,\n textProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _textProps$x = textProps.x,\n x = _textProps$x === void 0 ? 0 : _textProps$x,\n fontSize = textProps.fontSize;\n var _useText = useText(props),\n wordsByLines = _useText.wordsByLines,\n startDy = _useText.startDy,\n transform = _useText.transform;\n return /*#__PURE__*/React.createElement(\"svg\", {\n ref: innerRef,\n x: dx,\n y: dy,\n fontSize: fontSize,\n style: SVG_STYLE\n }, wordsByLines.length > 0 ? /*#__PURE__*/React.createElement(\"text\", _extends({\n ref: innerTextRef,\n transform: transform\n }, textProps, {\n textAnchor: textAnchor\n }), wordsByLines.map(function (line, index) {\n return /*#__PURE__*/React.createElement(\"tspan\", {\n key: index,\n x: x,\n dy: index === 0 ? startDy : lineHeight\n }, line.words.join(' '));\n })) : null);\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Line } from '@visx/shape';\nimport { Group } from '@visx/group';\nimport { Text } from '@visx/text';\nimport Orientation from '../constants/orientation';\nexport default function Ticks(_ref) {\n var hideTicks = _ref.hideTicks,\n horizontal = _ref.horizontal,\n orientation = _ref.orientation,\n tickClassName = _ref.tickClassName,\n tickComponent = _ref.tickComponent,\n allTickLabelProps = _ref.tickLabelProps,\n _ref$tickStroke = _ref.tickStroke,\n tickStroke = _ref$tickStroke === void 0 ? '#222' : _ref$tickStroke,\n tickTransform = _ref.tickTransform,\n ticks = _ref.ticks,\n strokeWidth = _ref.strokeWidth,\n tickLineProps = _ref.tickLineProps;\n return ticks.map(function (_ref2) {\n var _allTickLabelProps$in;\n var value = _ref2.value,\n index = _ref2.index,\n from = _ref2.from,\n to = _ref2.to,\n formattedValue = _ref2.formattedValue;\n var tickLabelProps = (_allTickLabelProps$in = allTickLabelProps[index]) != null ? _allTickLabelProps$in : {};\n var tickLabelFontSize = Math.max(10, typeof tickLabelProps.fontSize === 'number' && tickLabelProps.fontSize || 0);\n var tickYCoord = to.y + (horizontal && orientation !== Orientation.top ? tickLabelFontSize : 0);\n return /*#__PURE__*/React.createElement(Group, {\n key: \"visx-tick-\" + value + \"-\" + index,\n className: cx('visx-axis-tick', tickClassName),\n transform: tickTransform\n }, !hideTicks && /*#__PURE__*/React.createElement(Line, _extends({\n from: from,\n to: to,\n stroke: tickStroke,\n strokeWidth: strokeWidth,\n strokeLinecap: \"square\"\n }, tickLineProps)), tickComponent ? tickComponent(_extends({}, tickLabelProps, {\n x: to.x,\n y: tickYCoord,\n formattedValue: formattedValue\n })) : /*#__PURE__*/React.createElement(Text, _extends({\n x: to.x,\n y: tickYCoord\n }, tickLabelProps), formattedValue));\n });\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Line } from '@visx/shape';\nimport { Text } from '@visx/text';\nimport getLabelTransform from '../utils/getLabelTransform';\nimport Orientation from '../constants/orientation';\nimport Ticks from './Ticks';\nvar defaultTextProps = {\n textAnchor: 'middle',\n fontFamily: 'Arial',\n fontSize: 10,\n fill: '#222'\n};\nexport default function AxisRenderer(_ref) {\n var axisFromPoint = _ref.axisFromPoint,\n axisLineClassName = _ref.axisLineClassName,\n axisToPoint = _ref.axisToPoint,\n hideAxisLine = _ref.hideAxisLine,\n hideTicks = _ref.hideTicks,\n horizontal = _ref.horizontal,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? '' : _ref$label,\n labelClassName = _ref.labelClassName,\n _ref$labelOffset = _ref.labelOffset,\n labelOffset = _ref$labelOffset === void 0 ? 14 : _ref$labelOffset,\n labelProps = _ref.labelProps,\n _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? Orientation.bottom : _ref$orientation,\n scale = _ref.scale,\n _ref$stroke = _ref.stroke,\n stroke = _ref$stroke === void 0 ? '#222' : _ref$stroke,\n strokeDasharray = _ref.strokeDasharray,\n _ref$strokeWidth = _ref.strokeWidth,\n strokeWidth = _ref$strokeWidth === void 0 ? 1 : _ref$strokeWidth,\n tickClassName = _ref.tickClassName,\n tickComponent = _ref.tickComponent,\n tickLineProps = _ref.tickLineProps,\n tickLabelProps = _ref.tickLabelProps,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n _ref$tickStroke = _ref.tickStroke,\n tickStroke = _ref$tickStroke === void 0 ? '#222' : _ref$tickStroke,\n tickTransform = _ref.tickTransform,\n ticks = _ref.ticks,\n _ref$ticksComponent = _ref.ticksComponent,\n ticksComponent = _ref$ticksComponent === void 0 ? Ticks : _ref$ticksComponent;\n var combinedLabelProps = _extends({}, defaultTextProps, labelProps);\n var tickLabelPropsDefault = _extends({}, defaultTextProps, typeof tickLabelProps === 'object' ? tickLabelProps : null);\n // compute the max tick label size to compute label offset\n var allTickLabelProps = ticks.map(function (_ref2) {\n var value = _ref2.value,\n index = _ref2.index;\n return typeof tickLabelProps === 'function' ? tickLabelProps(value, index, ticks) : tickLabelPropsDefault;\n });\n var maxTickLabelFontSize = Math.max.apply(Math, [10].concat(allTickLabelProps.map(function (props) {\n return typeof props.fontSize === 'number' ? props.fontSize : 0;\n })));\n return /*#__PURE__*/React.createElement(React.Fragment, null, ticksComponent({\n hideTicks: hideTicks,\n horizontal: horizontal,\n orientation: orientation,\n scale: scale,\n tickClassName: tickClassName,\n tickComponent: tickComponent,\n tickLabelProps: allTickLabelProps,\n tickStroke: tickStroke,\n tickTransform: tickTransform,\n ticks: ticks,\n strokeWidth: strokeWidth,\n tickLineProps: tickLineProps\n }), !hideAxisLine && /*#__PURE__*/React.createElement(Line, {\n className: cx('visx-axis-line', axisLineClassName),\n from: axisFromPoint,\n to: axisToPoint,\n stroke: stroke,\n strokeWidth: strokeWidth,\n strokeDasharray: strokeDasharray\n }), label && /*#__PURE__*/React.createElement(Text, _extends({\n className: cx('visx-axis-label', labelClassName)\n }, getLabelTransform({\n labelOffset: labelOffset,\n labelProps: combinedLabelProps,\n orientation: orientation,\n range: scale.range(),\n tickLabelFontSize: maxTickLabelFontSize,\n tickLength: tickLength\n }), combinedLabelProps), label));\n}","import Orientation from '../constants/orientation';\nexport default function getLabelTransform(_ref) {\n var labelOffset = _ref.labelOffset,\n labelProps = _ref.labelProps,\n orientation = _ref.orientation,\n range = _ref.range,\n tickLabelFontSize = _ref.tickLabelFontSize,\n tickLength = _ref.tickLength;\n var sign = orientation === Orientation.left || orientation === Orientation.top ? -1 : 1;\n var x;\n var y;\n var transform;\n if (orientation === Orientation.top || orientation === Orientation.bottom) {\n var yBottomOffset = orientation === Orientation.bottom && typeof labelProps.fontSize === 'number' ? labelProps.fontSize : 0;\n x = (Number(range[0]) + Number(range[range.length - 1])) / 2;\n y = sign * (tickLength + labelOffset + tickLabelFontSize + yBottomOffset);\n } else {\n x = sign * ((Number(range[0]) + Number(range[range.length - 1])) / 2);\n y = -(tickLength + labelOffset);\n transform = \"rotate(\" + sign * 90 + \")\";\n }\n return {\n x: x,\n y: y,\n transform: transform\n };\n}","export default function toString(x) {\n return x == null ? void 0 : x.toString();\n}","import { Point } from '@visx/point';\nexport default function createPoint(_ref, horizontal) {\n var x = _ref.x,\n y = _ref.y;\n return new Point(horizontal ? {\n x: x,\n y: y\n } : {\n x: y,\n y: x\n });\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nexport var defaultAxisRangePadding = 0;\nexport default function getAxisRangePaddingConfig(originalRangePadding) {\n if (originalRangePadding === void 0) {\n originalRangePadding = defaultAxisRangePadding;\n }\n return typeof originalRangePadding === 'number' ? {\n start: originalRangePadding,\n end: originalRangePadding\n } : _extends({\n start: defaultAxisRangePadding,\n end: defaultAxisRangePadding\n }, originalRangePadding);\n}","import _pt from \"prop-types\";\nvar _excluded = [\"children\", \"axisClassName\", \"hideAxisLine\", \"hideTicks\", \"hideZero\", \"innerRef\", \"left\", \"numTicks\", \"orientation\", \"rangePadding\", \"scale\", \"tickFormat\", \"tickLength\", \"tickValues\", \"top\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Group } from '@visx/group';\nimport { getTicks, coerceNumber } from '@visx/scale';\nimport AxisRenderer from './AxisRenderer';\nimport getTickPosition from '../utils/getTickPosition';\nimport getTickFormatter from '../utils/getTickFormatter';\nimport createPoint from '../utils/createPoint';\nimport Orientation from '../constants/orientation';\nimport getAxisRangePaddingConfig from '../utils/getAxisRangePaddingConfig';\nexport default function Axis(_ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? AxisRenderer : _ref$children,\n axisClassName = _ref.axisClassName,\n _ref$hideAxisLine = _ref.hideAxisLine,\n hideAxisLine = _ref$hideAxisLine === void 0 ? false : _ref$hideAxisLine,\n _ref$hideTicks = _ref.hideTicks,\n hideTicks = _ref$hideTicks === void 0 ? false : _ref$hideTicks,\n _ref$hideZero = _ref.hideZero,\n hideZero = _ref$hideZero === void 0 ? false : _ref$hideZero,\n innerRef = _ref.innerRef,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n _ref$numTicks = _ref.numTicks,\n numTicks = _ref$numTicks === void 0 ? 10 : _ref$numTicks,\n _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? Orientation.bottom : _ref$orientation,\n _ref$rangePadding = _ref.rangePadding,\n rangePadding = _ref$rangePadding === void 0 ? 0 : _ref$rangePadding,\n scale = _ref.scale,\n tickFormat = _ref.tickFormat,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n tickValues = _ref.tickValues,\n _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var format = tickFormat != null ? tickFormat : getTickFormatter(scale);\n var isLeft = orientation === Orientation.left;\n var isTop = orientation === Orientation.top;\n var horizontal = isTop || orientation === Orientation.bottom;\n var tickPosition = getTickPosition(scale);\n var tickSign = isLeft || isTop ? -1 : 1;\n var range = scale.range();\n var rangePaddingConfig = getAxisRangePaddingConfig(rangePadding);\n var axisFromPoint = createPoint({\n x: Number(range[0]) + 0.5 - rangePaddingConfig.start,\n y: 0\n }, horizontal);\n var axisToPoint = createPoint({\n x: Number(range[range.length - 1]) + 0.5 + rangePaddingConfig.end,\n y: 0\n }, horizontal);\n var filteredTickValues = (tickValues != null ? tickValues : getTicks(scale, numTicks)).filter(function (value) {\n return !hideZero || value !== 0 && value !== '0';\n }).map(function (value, index) {\n return {\n value: value,\n index: index\n };\n });\n var ticks = filteredTickValues.map(function (_ref2) {\n var value = _ref2.value,\n index = _ref2.index;\n var scaledValue = coerceNumber(tickPosition(value));\n return {\n value: value,\n index: index,\n from: createPoint({\n x: scaledValue,\n y: 0\n }, horizontal),\n to: createPoint({\n x: scaledValue,\n y: tickLength * tickSign\n }, horizontal),\n formattedValue: format(value, index, filteredTickValues)\n };\n });\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-axis', axisClassName),\n innerRef: innerRef,\n top: top,\n left: left\n }, children(_extends({}, restProps, {\n axisFromPoint: axisFromPoint,\n axisToPoint: axisToPoint,\n hideAxisLine: hideAxisLine,\n hideTicks: hideTicks,\n hideZero: hideZero,\n horizontal: horizontal,\n numTicks: numTicks,\n orientation: orientation,\n rangePadding: rangePadding,\n scale: scale,\n tickFormat: format,\n tickLength: tickLength,\n tickPosition: tickPosition,\n tickSign: tickSign,\n ticks: ticks\n })));\n}","import { toString } from '@visx/scale';\n/**\n * Returns a tick position for the given tick value\n */\nexport default function getTickFormatter(scale) {\n // Broaden type before using 'xxx' in s as typeguard.\n var s = scale;\n\n // For point or band scales,\n // have to add offset to make the tick centered.\n if ('tickFormat' in s) {\n return s.tickFormat();\n }\n return toString;\n}","/**\n * Create a function that returns a tick position for the given tick value\n */\nexport default function getTickPosition(scale, align) {\n if (align === void 0) {\n align = 'center';\n }\n // Broaden type before using 'xxx' in s as typeguard.\n var s = scale;\n\n // For point or band scales,\n // have to add offset to make the tick at center or end.\n if (align !== 'start' && 'bandwidth' in s) {\n var offset = s.bandwidth();\n if (align === 'center') offset /= 2;\n if (s.round()) offset = Math.round(offset);\n return function (d) {\n var scaledValue = s(d);\n return typeof scaledValue === 'number' ? scaledValue + offset : scaledValue;\n };\n }\n return scale;\n}","var _excluded = [\"axisClassName\", \"labelOffset\", \"tickLength\", \"tickLabelProps\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nexport var bottomTickLabelProps = {\n dy: '0.25em',\n fill: '#222',\n fontFamily: 'Arial',\n fontSize: 10,\n textAnchor: 'middle'\n};\nexport default function AxisBottom(_ref) {\n var axisClassName = _ref.axisClassName,\n _ref$labelOffset = _ref.labelOffset,\n labelOffset = _ref$labelOffset === void 0 ? 8 : _ref$labelOffset,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n tickLabelProps = _ref.tickLabelProps,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var tickLabelPropsFinal = typeof tickLabelProps === 'function' ? tickLabelProps : _extends({}, bottomTickLabelProps, tickLabelProps);\n return /*#__PURE__*/React.createElement(Axis, _extends({\n axisClassName: cx('visx-axis-bottom', axisClassName),\n labelOffset: labelOffset,\n orientation: Orientation.bottom,\n tickLabelProps: tickLabelPropsFinal,\n tickLength: tickLength\n }, restProps));\n}","var _excluded = [\"axisClassName\", \"labelOffset\", \"tickLength\", \"tickLabelProps\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nexport var leftTickLabelProps = {\n dx: '-0.25em',\n dy: '0.25em',\n fill: '#222',\n fontFamily: 'Arial',\n fontSize: 10,\n textAnchor: 'end'\n};\nexport default function AxisLeft(_ref) {\n var axisClassName = _ref.axisClassName,\n _ref$labelOffset = _ref.labelOffset,\n labelOffset = _ref$labelOffset === void 0 ? 36 : _ref$labelOffset,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n tickLabelProps = _ref.tickLabelProps,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var tickLabelPropsFinal = typeof tickLabelProps === 'function' ? tickLabelProps : _extends({}, leftTickLabelProps, tickLabelProps);\n return /*#__PURE__*/React.createElement(Axis, _extends({\n axisClassName: cx('visx-axis-left', axisClassName),\n labelOffset: labelOffset,\n orientation: Orientation.left,\n tickLabelProps: tickLabelPropsFinal,\n tickLength: tickLength\n }, restProps));\n}","var Orientation = {\n top: 'top',\n left: 'left',\n right: 'right',\n bottom: 'bottom'\n};\nexport default Orientation;","import _pt from \"prop-types\";\nvar _excluded = [\"children\", \"id\", \"from\", \"to\", \"x1\", \"y1\", \"x2\", \"y2\", \"fromOffset\", \"fromOpacity\", \"toOffset\", \"toOpacity\", \"rotate\", \"transform\", \"vertical\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nexport default function LinearGradient(_ref) {\n var children = _ref.children,\n id = _ref.id,\n from = _ref.from,\n to = _ref.to,\n _x1 = _ref.x1,\n _y1 = _ref.y1,\n _x2 = _ref.x2,\n _y2 = _ref.y2,\n _ref$fromOffset = _ref.fromOffset,\n fromOffset = _ref$fromOffset === void 0 ? '0%' : _ref$fromOffset,\n _ref$fromOpacity = _ref.fromOpacity,\n fromOpacity = _ref$fromOpacity === void 0 ? 1 : _ref$fromOpacity,\n _ref$toOffset = _ref.toOffset,\n toOffset = _ref$toOffset === void 0 ? '100%' : _ref$toOffset,\n _ref$toOpacity = _ref.toOpacity,\n toOpacity = _ref$toOpacity === void 0 ? 1 : _ref$toOpacity,\n rotate = _ref.rotate,\n transform = _ref.transform,\n _ref$vertical = _ref.vertical,\n vertical = _ref$vertical === void 0 ? true : _ref$vertical,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var x1 = _x1;\n var x2 = _x2;\n var y1 = _y1;\n var y2 = _y2;\n if (vertical && !x1 && !x2 && !y1 && !y2) {\n x1 = '0';\n x2 = '0';\n y1 = '0';\n y2 = '1';\n }\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", _extends({\n id: id,\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n gradientTransform: rotate ? \"rotate(\" + rotate + \")\" : transform\n }, restProps), !!children && children, !children && /*#__PURE__*/React.createElement(\"stop\", {\n offset: fromOffset,\n stopColor: from,\n stopOpacity: fromOpacity\n }), !children && /*#__PURE__*/React.createElement(\"stop\", {\n offset: toOffset,\n stopColor: to,\n stopOpacity: toOpacity\n })));\n}\nLinearGradient.propTypes = {\n id: _pt.string.isRequired,\n from: _pt.string,\n to: _pt.string,\n x1: _pt.oneOfType([_pt.string, _pt.number]),\n x2: _pt.oneOfType([_pt.string, _pt.number]),\n y1: _pt.oneOfType([_pt.string, _pt.number]),\n y2: _pt.oneOfType([_pt.string, _pt.number]),\n fromOffset: _pt.oneOfType([_pt.string, _pt.number]),\n fromOpacity: _pt.oneOfType([_pt.string, _pt.number]),\n toOffset: _pt.oneOfType([_pt.string, _pt.number]),\n toOpacity: _pt.oneOfType([_pt.string, _pt.number]),\n rotate: _pt.oneOfType([_pt.string, _pt.number]),\n transform: _pt.string,\n children: _pt.node,\n vertical: _pt.bool\n};","import _pt from \"prop-types\";\nvar _excluded = [\"top\", \"left\", \"scale\", \"width\", \"stroke\", \"strokeWidth\", \"strokeDasharray\", \"className\", \"children\", \"numTicks\", \"lineStyle\", \"offset\", \"tickValues\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport Line from '@visx/shape/lib/shapes/Line';\nimport { Group } from '@visx/group';\nimport { Point } from '@visx/point';\nimport { getTicks, coerceNumber } from '@visx/scale';\nimport getScaleBandwidth from '../utils/getScaleBandwidth';\nexport default function GridRows(_ref) {\n var _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n scale = _ref.scale,\n width = _ref.width,\n _ref$stroke = _ref.stroke,\n stroke = _ref$stroke === void 0 ? '#eaf0f6' : _ref$stroke,\n _ref$strokeWidth = _ref.strokeWidth,\n strokeWidth = _ref$strokeWidth === void 0 ? 1 : _ref$strokeWidth,\n strokeDasharray = _ref.strokeDasharray,\n className = _ref.className,\n children = _ref.children,\n _ref$numTicks = _ref.numTicks,\n numTicks = _ref$numTicks === void 0 ? 10 : _ref$numTicks,\n lineStyle = _ref.lineStyle,\n offset = _ref.offset,\n tickValues = _ref.tickValues,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var ticks = tickValues != null ? tickValues : getTicks(scale, numTicks);\n var scaleOffset = (offset != null ? offset : 0) + getScaleBandwidth(scale) / 2;\n var tickLines = ticks.map(function (d, index) {\n var _coerceNumber;\n var y = ((_coerceNumber = coerceNumber(scale(d))) != null ? _coerceNumber : 0) + scaleOffset;\n return {\n index: index,\n from: new Point({\n x: 0,\n y: y\n }),\n to: new Point({\n x: width,\n y: y\n })\n };\n });\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-rows', className),\n top: top,\n left: left\n }, children ? children({\n lines: tickLines\n }) : tickLines.map(function (_ref2) {\n var from = _ref2.from,\n to = _ref2.to,\n index = _ref2.index;\n return /*#__PURE__*/React.createElement(Line, _extends({\n key: \"row-line-\" + index,\n from: from,\n to: to,\n stroke: stroke,\n strokeWidth: strokeWidth,\n strokeDasharray: strokeDasharray,\n style: lineStyle\n }, restProps));\n }));\n}\nGridRows.propTypes = {\n tickValues: _pt.array,\n width: _pt.number.isRequired\n};","export default function getScaleBandwidth(scale) {\n return 'bandwidth' in scale ? scale.bandwidth() : 0;\n}","import _pt from \"prop-types\";\nvar _excluded = [\"top\", \"left\", \"transform\", \"className\", \"children\", \"innerRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport default function Group(_ref) {\n var _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n transform = _ref.transform,\n className = _ref.className,\n children = _ref.children,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n ref: innerRef,\n className: cx('visx-group', className),\n transform: transform || \"translate(\" + left + \", \" + top + \")\"\n }, restProps), children);\n}\nGroup.propTypes = {\n top: _pt.number,\n left: _pt.number,\n transform: _pt.string,\n className: _pt.string,\n children: _pt.node,\n innerRef: _pt.oneOfType([_pt.string, _pt.func, _pt.object])\n};","import _pt from \"prop-types\";\nvar _excluded = [\"flexDirection\", \"alignItems\", \"margin\", \"display\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nexport default function LegendItem(_ref) {\n var _ref$flexDirection = _ref.flexDirection,\n flexDirection = _ref$flexDirection === void 0 ? 'row' : _ref$flexDirection,\n _ref$alignItems = _ref.alignItems,\n alignItems = _ref$alignItems === void 0 ? 'center' : _ref$alignItems,\n _ref$margin = _ref.margin,\n margin = _ref$margin === void 0 ? '0' : _ref$margin,\n _ref$display = _ref.display,\n display = _ref$display === void 0 ? 'flex' : _ref$display,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"visx-legend-item\",\n style: {\n display: display,\n alignItems: alignItems,\n flexDirection: flexDirection,\n margin: margin\n }\n }, restProps), children);\n}\nLegendItem.propTypes = {\n alignItems: _pt.string,\n margin: _pt.oneOfType([_pt.string, _pt.number]),\n children: _pt.node,\n display: _pt.string\n};","import _pt from \"prop-types\";\nvar _excluded = [\"flex\", \"label\", \"margin\", \"align\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nexport default function LegendLabel(_ref) {\n var _ref$flex = _ref.flex,\n flex = _ref$flex === void 0 ? '1' : _ref$flex,\n label = _ref.label,\n _ref$margin = _ref.margin,\n margin = _ref$margin === void 0 ? '5px 0' : _ref$margin,\n _ref$align = _ref.align,\n align = _ref$align === void 0 ? 'left' : _ref$align,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"visx-legend-label\",\n style: {\n justifyContent: align,\n display: 'flex',\n flex: flex,\n margin: margin\n }\n }, restProps), children || label);\n}\nLegendLabel.propTypes = {\n align: _pt.string,\n label: _pt.node,\n flex: _pt.oneOfType([_pt.string, _pt.number]),\n margin: _pt.oneOfType([_pt.string, _pt.number]),\n children: _pt.node\n};","import _pt from \"prop-types\";\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nexport default function ShapeRect(_ref) {\n var fill = _ref.fill,\n width = _ref.width,\n height = _ref.height,\n style = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _extends({\n width: width,\n height: height,\n background: fill\n }, style)\n });\n}\nShapeRect.propTypes = {\n fill: _pt.string,\n width: _pt.oneOfType([_pt.string, _pt.number]),\n height: _pt.oneOfType([_pt.string, _pt.number])\n};","import _pt from \"prop-types\";\nimport React from 'react';\nimport { Group } from '@visx/group';\nexport default function ShapeCircle(_ref) {\n var fill = _ref.fill,\n width = _ref.width,\n height = _ref.height,\n style = _ref.style;\n var cleanWidth = typeof width === 'string' || typeof width === 'undefined' ? 0 : width;\n var cleanHeight = typeof height === 'string' || typeof height === 'undefined' ? 0 : height;\n var size = Math.max(cleanWidth, cleanHeight);\n var radius = size / 2;\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: size,\n height: size\n }, /*#__PURE__*/React.createElement(Group, {\n top: radius,\n left: radius\n }, /*#__PURE__*/React.createElement(\"circle\", {\n r: radius,\n fill: fill,\n style: style\n })));\n}\nShapeCircle.propTypes = {\n fill: _pt.string,\n width: _pt.oneOfType([_pt.string, _pt.number]),\n height: _pt.oneOfType([_pt.string, _pt.number])\n};","import _pt from \"prop-types\";\nimport React from 'react';\nimport { Group } from '@visx/group';\nexport default function ShapeLine(_ref) {\n var fill = _ref.fill,\n width = _ref.width,\n height = _ref.height,\n style = _ref.style;\n var cleanHeight = typeof height === 'string' || typeof height === 'undefined' ? 0 : height;\n var lineThickness = typeof (style == null ? void 0 : style.strokeWidth) === 'number' ? style == null ? void 0 : style.strokeWidth : 2;\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Group, {\n top: cleanHeight / 2 - lineThickness / 2\n }, /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n x2: width,\n y1: 0,\n y2: 0,\n stroke: fill,\n strokeWidth: lineThickness,\n style: style\n })));\n}\nShapeLine.propTypes = {\n fill: _pt.string,\n width: _pt.oneOfType([_pt.string, _pt.number]),\n height: _pt.oneOfType([_pt.string, _pt.number])\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport RectShape from '../shapes/Rect';\nimport CircleShape from '../shapes/Circle';\nimport LineShape from '../shapes/Line';\nvar NO_OP = function NO_OP() {\n return undefined;\n};\nexport default function renderShape(_ref) {\n var _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? 'rect' : _ref$shape,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? NO_OP : _ref$fill,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? NO_OP : _ref$size,\n width = _ref.width,\n height = _ref.height,\n label = _ref.label,\n item = _ref.item,\n itemIndex = _ref.itemIndex,\n _ref$shapeStyle = _ref.shapeStyle,\n shapeStyle = _ref$shapeStyle === void 0 ? NO_OP : _ref$shapeStyle;\n var props = {\n width: width,\n height: height,\n item: item,\n itemIndex: itemIndex,\n label: label,\n fill: fill(_extends({}, label)),\n size: size(_extends({}, label)),\n style: shapeStyle(_extends({}, label))\n };\n if (typeof shape === 'string') {\n if (shape === 'circle') {\n return /*#__PURE__*/React.createElement(CircleShape, props);\n }\n if (shape === 'line') {\n return /*#__PURE__*/React.createElement(LineShape, props);\n }\n return /*#__PURE__*/React.createElement(RectShape, props);\n }\n if ( /*#__PURE__*/React.isValidElement(shape)) {\n return /*#__PURE__*/React.cloneElement(shape, props);\n }\n if (shape) {\n return /*#__PURE__*/React.createElement(shape, props);\n }\n return null;\n}","import _pt from \"prop-types\";\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport ShapeRect from '../../shapes/Rect';\nimport renderShape from '../../util/renderShape';\nexport default function LegendShape(_ref) {\n var _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? ShapeRect : _ref$shape,\n width = _ref.width,\n height = _ref.height,\n margin = _ref.margin,\n label = _ref.label,\n item = _ref.item,\n itemIndex = _ref.itemIndex,\n fill = _ref.fill,\n size = _ref.size,\n shapeStyle = _ref.shapeStyle;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"visx-legend-shape\",\n style: {\n display: 'flex',\n width: size ? size(_extends({}, label)) : width,\n height: size ? size(_extends({}, label)) : height,\n margin: margin\n }\n }, renderShape({\n shape: shape,\n item: item,\n itemIndex: itemIndex,\n label: label,\n width: width,\n height: height,\n fill: fill,\n shapeStyle: shapeStyle\n }));\n}\nLegendShape.propTypes = {\n itemIndex: _pt.number.isRequired,\n margin: _pt.oneOfType([_pt.string, _pt.number]),\n width: _pt.oneOfType([_pt.string, _pt.number]),\n height: _pt.oneOfType([_pt.string, _pt.number])\n};","/** Returns an object's value if defined, or the object. */\nexport default function valueOrIdentity(_) {\n if (_ && typeof _ === 'object' && 'value' in _ && typeof _.value !== 'undefined') return _.value;\n return _;\n}\n\n/** Returns an object's value if defined, or the object, coerced to a string. */\nexport function valueOrIdentityString(_) {\n return String(valueOrIdentity(_));\n}","/** Returns a function which takes a Datum and index as input, and returns a formatted label object. */\nexport default function labelTransformFactory(_ref) {\n var scale = _ref.scale,\n labelFormat = _ref.labelFormat;\n return function (d, i) {\n return {\n datum: d,\n index: i,\n text: \"\" + labelFormat(d, i),\n value: scale(d)\n };\n };\n}","import _pt from \"prop-types\";\nvar _excluded = [\"className\", \"style\", \"scale\", \"shape\", \"domain\", \"fill\", \"size\", \"labelFormat\", \"labelTransform\", \"shapeWidth\", \"shapeHeight\", \"shapeMargin\", \"shapeStyle\", \"labelAlign\", \"labelFlex\", \"labelMargin\", \"itemMargin\", \"direction\", \"itemDirection\", \"legendLabelProps\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport LegendItem from './LegendItem';\nimport LegendLabel from './LegendLabel';\nimport LegendShape from './LegendShape';\nimport valueOrIdentity, { valueOrIdentityString } from '../../util/valueOrIdentity';\nimport labelTransformFactory from '../../util/labelTransformFactory';\nvar defaultStyle = {\n display: 'flex'\n};\nexport default function Legend(_ref) {\n var className = _ref.className,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? defaultStyle : _ref$style,\n scale = _ref.scale,\n shape = _ref.shape,\n inputDomain = _ref.domain,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? valueOrIdentityString : _ref$fill,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? valueOrIdentityString : _ref$size,\n _ref$labelFormat = _ref.labelFormat,\n labelFormat = _ref$labelFormat === void 0 ? valueOrIdentity : _ref$labelFormat,\n _ref$labelTransform = _ref.labelTransform,\n labelTransform = _ref$labelTransform === void 0 ? labelTransformFactory : _ref$labelTransform,\n _ref$shapeWidth = _ref.shapeWidth,\n shapeWidth = _ref$shapeWidth === void 0 ? 15 : _ref$shapeWidth,\n _ref$shapeHeight = _ref.shapeHeight,\n shapeHeight = _ref$shapeHeight === void 0 ? 15 : _ref$shapeHeight,\n _ref$shapeMargin = _ref.shapeMargin,\n shapeMargin = _ref$shapeMargin === void 0 ? '2px 4px 2px 0' : _ref$shapeMargin,\n shapeStyle = _ref.shapeStyle,\n _ref$labelAlign = _ref.labelAlign,\n labelAlign = _ref$labelAlign === void 0 ? 'left' : _ref$labelAlign,\n _ref$labelFlex = _ref.labelFlex,\n labelFlex = _ref$labelFlex === void 0 ? '1' : _ref$labelFlex,\n _ref$labelMargin = _ref.labelMargin,\n labelMargin = _ref$labelMargin === void 0 ? '0 4px' : _ref$labelMargin,\n _ref$itemMargin = _ref.itemMargin,\n itemMargin = _ref$itemMargin === void 0 ? '0' : _ref$itemMargin,\n _ref$direction = _ref.direction,\n direction = _ref$direction === void 0 ? 'column' : _ref$direction,\n _ref$itemDirection = _ref.itemDirection,\n itemDirection = _ref$itemDirection === void 0 ? 'row' : _ref$itemDirection,\n legendLabelProps = _ref.legendLabelProps,\n children = _ref.children,\n legendItemProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n // `Scale extends ScaleType` constraint is tricky\n // could consider removing `scale` altogether in the future and making `domain: Datum[]` required\n var domain = inputDomain || ('domain' in scale ? scale.domain() : []);\n var labelFormatter = labelTransform({\n scale: scale,\n labelFormat: labelFormat\n });\n var labels = domain.map(labelFormatter);\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children(labels));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cx('visx-legend', className),\n style: _extends({}, style, {\n flexDirection: direction\n })\n }, labels.map(function (label, i) {\n return /*#__PURE__*/React.createElement(LegendItem, _extends({\n key: \"legend-\" + label.text + \"-\" + i,\n margin: itemMargin,\n flexDirection: itemDirection\n }, legendItemProps), /*#__PURE__*/React.createElement(LegendShape, {\n shape: shape,\n height: shapeHeight,\n width: shapeWidth,\n margin: shapeMargin,\n item: domain[i],\n itemIndex: i,\n label: label,\n fill: fill,\n size: size,\n shapeStyle: shapeStyle\n }), /*#__PURE__*/React.createElement(LegendLabel, _extends({\n label: label.text,\n flex: labelFlex,\n margin: labelMargin,\n align: labelAlign\n }, legendLabelProps)));\n }));\n}\nLegend.propTypes = {\n children: _pt.func,\n className: _pt.string,\n domain: _pt.array,\n shapeWidth: _pt.oneOfType([_pt.string, _pt.number]),\n shapeHeight: _pt.oneOfType([_pt.string, _pt.number]),\n shapeMargin: _pt.oneOfType([_pt.string, _pt.number]),\n labelAlign: _pt.string,\n labelFlex: _pt.oneOfType([_pt.string, _pt.number]),\n labelMargin: _pt.oneOfType([_pt.string, _pt.number]),\n itemMargin: _pt.oneOfType([_pt.string, _pt.number]),\n fill: _pt.func,\n size: _pt.func,\n shapeStyle: _pt.func\n};","import React from 'react';\nimport Legend from './Legend';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n/** Ordinal scales map from strings to an Output type. */\nexport default function Ordinal(props) {\n return /*#__PURE__*/React.createElement(Legend, props);\n}","var Point = /*#__PURE__*/function () {\n function Point(_ref) {\n var _ref$x = _ref.x,\n x = _ref$x === void 0 ? 0 : _ref$x,\n _ref$y = _ref.y,\n y = _ref$y === void 0 ? 0 : _ref$y;\n this.x = 0;\n this.y = 0;\n this.x = x;\n this.y = y;\n }\n var _proto = Point.prototype;\n _proto.value = function value() {\n return {\n x: this.x,\n y: this.y\n };\n };\n _proto.toArray = function toArray() {\n return [this.x, this.y];\n };\n return Point;\n}();\nexport { Point as default };","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport debounce from 'lodash/debounce';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nvar defaultIgnoreDimensions = [];\nvar defaultInitialSize = {\n width: 0,\n height: 0,\n top: 0,\n left: 0\n};\nexport default function useParentSize(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$initialSize = _ref.initialSize,\n initialSize = _ref$initialSize === void 0 ? defaultInitialSize : _ref$initialSize,\n _ref$debounceTime = _ref.debounceTime,\n debounceTime = _ref$debounceTime === void 0 ? 300 : _ref$debounceTime,\n _ref$ignoreDimensions = _ref.ignoreDimensions,\n ignoreDimensions = _ref$ignoreDimensions === void 0 ? defaultIgnoreDimensions : _ref$ignoreDimensions,\n _ref$enableDebounceLe = _ref.enableDebounceLeadingCall,\n enableDebounceLeadingCall = _ref$enableDebounceLe === void 0 ? true : _ref$enableDebounceLe,\n resizeObserverPolyfill = _ref.resizeObserverPolyfill;\n var parentRef = useRef(null);\n var animationFrameID = useRef(0);\n var _useState = useState(_extends({}, defaultInitialSize, initialSize)),\n state = _useState[0],\n setState = _useState[1];\n var resize = useMemo(function () {\n var normalized = Array.isArray(ignoreDimensions) ? ignoreDimensions : [ignoreDimensions];\n return debounce(function (incoming) {\n setState(function (existing) {\n var stateKeys = Object.keys(existing);\n var keysWithChanges = stateKeys.filter(function (key) {\n return existing[key] !== incoming[key];\n });\n var shouldBail = keysWithChanges.every(function (key) {\n return normalized.includes(key);\n });\n return shouldBail ? existing : incoming;\n });\n }, debounceTime, {\n leading: enableDebounceLeadingCall\n });\n }, [debounceTime, enableDebounceLeadingCall, ignoreDimensions]);\n useEffect(function () {\n var LocalResizeObserver = resizeObserverPolyfill || window.ResizeObserver;\n var observer = new LocalResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var _entry$contentRect;\n var _ref2 = (_entry$contentRect = entry == null ? void 0 : entry.contentRect) != null ? _entry$contentRect : {},\n left = _ref2.left,\n top = _ref2.top,\n width = _ref2.width,\n height = _ref2.height;\n animationFrameID.current = window.requestAnimationFrame(function () {\n resize({\n width: width,\n height: height,\n top: top,\n left: left\n });\n });\n });\n });\n if (parentRef.current) observer.observe(parentRef.current);\n return function () {\n window.cancelAnimationFrame(animationFrameID.current);\n observer.disconnect();\n resize.cancel();\n };\n }, [resize, resizeObserverPolyfill]);\n return _extends({\n parentRef: parentRef,\n resize: resize\n }, state);\n}","import _pt from \"prop-types\";\nvar _excluded = [\"className\", \"children\", \"debounceTime\", \"ignoreDimensions\", \"initialSize\", \"parentSizeStyles\", \"enableDebounceLeadingCall\", \"resizeObserverPolyfill\"],\n _excluded2 = [\"parentRef\", \"resize\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport useParentSize from '../hooks/useParentSize';\nvar defaultParentSizeStyles = {\n width: '100%',\n height: '100%'\n};\nexport default function ParentSize(_ref) {\n var className = _ref.className,\n children = _ref.children,\n debounceTime = _ref.debounceTime,\n ignoreDimensions = _ref.ignoreDimensions,\n initialSize = _ref.initialSize,\n _ref$parentSizeStyles = _ref.parentSizeStyles,\n parentSizeStyles = _ref$parentSizeStyles === void 0 ? defaultParentSizeStyles : _ref$parentSizeStyles,\n _ref$enableDebounceLe = _ref.enableDebounceLeadingCall,\n enableDebounceLeadingCall = _ref$enableDebounceLe === void 0 ? true : _ref$enableDebounceLe,\n resizeObserverPolyfill = _ref.resizeObserverPolyfill,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var _useParentSize = useParentSize({\n initialSize: initialSize,\n debounceTime: debounceTime,\n ignoreDimensions: ignoreDimensions,\n enableDebounceLeadingCall: enableDebounceLeadingCall,\n resizeObserverPolyfill: resizeObserverPolyfill\n }),\n parentRef = _useParentSize.parentRef,\n resize = _useParentSize.resize,\n dimensions = _objectWithoutPropertiesLoose(_useParentSize, _excluded2);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n style: parentSizeStyles,\n ref: parentRef,\n className: className\n }, restProps), children(_extends({}, dimensions, {\n ref: parentRef.current,\n resize: resize\n })));\n}\nParentSize.propTypes = {\n className: _pt.string,\n children: _pt.func.isRequired\n};","export const radians = Math.PI / 180;\nexport const degrees = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nconst K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * degrees;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * radians;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb() {\n return hcl2lab(this).rgb();\n }\n}));\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * degrees - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * radians,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","import { interpolateRgb, interpolateLab, interpolateHcl, interpolateHclLong, interpolateHsl, interpolateHslLong, interpolateCubehelix, interpolateCubehelixLong } from '@visx/vendor/d3-interpolate';\nvar interpolatorMap = {\n lab: interpolateLab,\n hcl: interpolateHcl,\n 'hcl-long': interpolateHclLong,\n hsl: interpolateHsl,\n 'hsl-long': interpolateHslLong,\n cubehelix: interpolateCubehelix,\n 'cubehelix-long': interpolateCubehelixLong,\n rgb: interpolateRgb\n};\nexport default function createColorInterpolator(interpolate) {\n switch (interpolate) {\n case 'lab':\n case 'hcl':\n case 'hcl-long':\n case 'hsl':\n case 'hsl-long':\n case 'cubehelix':\n case 'cubehelix-long':\n case 'rgb':\n return interpolatorMap[interpolate];\n default:\n }\n var type = interpolate.type,\n gamma = interpolate.gamma;\n var interpolator = interpolatorMap[type];\n return typeof gamma === 'undefined' ? interpolator : interpolator.gamma(gamma);\n}","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color.js\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","var TEST_TIME = new Date(Date.UTC(2020, 1, 2, 3, 4, 5));\nvar TEST_FORMAT = '%Y-%m-%d %H:%M';\n\n/**\n * Check if the scale is UTC or Time scale\n * When local time is equal to UTC, always return true\n * @param scale time or utc scale\n */\nexport default function isUtcScale(scale) {\n // The only difference between time and utc scale is\n // whether the tick format function is utcFormat or timeFormat\n var output = scale.tickFormat(1, TEST_FORMAT)(TEST_TIME);\n return output === '2020-02-02 03:04';\n}","import { timeSecond, timeMinute, timeHour, timeDay, timeYear, timeMonth, timeWeek, utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear } from '@visx/vendor/d3-time';\nimport isUtcScale from '../utils/isUtcScale';\nvar localTimeIntervals = {\n day: timeDay,\n hour: timeHour,\n minute: timeMinute,\n month: timeMonth,\n second: timeSecond,\n week: timeWeek,\n year: timeYear\n};\nvar utcIntervals = {\n day: utcDay,\n hour: utcHour,\n minute: utcMinute,\n month: utcMonth,\n second: utcSecond,\n week: utcWeek,\n year: utcYear\n};\nexport default function applyNice(scale, config) {\n if ('nice' in config && typeof config.nice !== 'undefined' && 'nice' in scale) {\n var nice = config.nice;\n if (typeof nice === 'boolean') {\n if (nice) {\n scale.nice();\n }\n } else if (typeof nice === 'number') {\n scale.nice(nice);\n } else {\n var timeScale = scale;\n var isUtc = isUtcScale(timeScale);\n if (typeof nice === 'string') {\n timeScale.nice(isUtc ? utcIntervals[nice] : localTimeIntervals[nice]);\n } else {\n var interval = nice.interval,\n step = nice.step;\n var parsedInterval = (isUtc ? utcIntervals[interval] : localTimeIntervals[interval]).every(step);\n if (parsedInterval != null) {\n timeScale.nice(parsedInterval);\n }\n }\n }\n }\n}","import domain from './domain';\nimport range from './range';\nimport align from './align';\nimport base from './base';\nimport clamp from './clamp';\nimport constant from './constant';\nimport exponent from './exponent';\nimport interpolate from './interpolate';\nimport nice from './nice';\nimport padding from './padding';\nimport reverse from './reverse';\nimport round from './round';\nimport unknown from './unknown';\nimport zero from './zero';\n\n/**\n * List of all operators, in order of execution\n */\nexport var ALL_OPERATORS = [\n// domain => nice => zero\n'domain', 'nice', 'zero',\n// interpolate before round\n'interpolate', 'round',\n// set range then reverse\n'range', 'reverse',\n// Order does not matter for these operators\n'align', 'base', 'clamp', 'constant', 'exponent', 'padding', 'unknown'];\n// Use Record to enforce that all keys in OperatorType must exist.\nvar operators = {\n domain: domain,\n nice: nice,\n zero: zero,\n interpolate: interpolate,\n round: round,\n align: align,\n base: base,\n clamp: clamp,\n constant: constant,\n exponent: exponent,\n padding: padding,\n range: range,\n reverse: reverse,\n unknown: unknown\n};\nexport default function scaleOperator() {\n for (var _len = arguments.length, ops = new Array(_len), _key = 0; _key < _len; _key++) {\n ops[_key] = arguments[_key];\n }\n var selection = new Set(ops);\n var selectedOps = ALL_OPERATORS.filter(function (o) {\n return selection.has(o);\n });\n return function applyOperators(scale, config) {\n if (typeof config !== 'undefined') {\n selectedOps.forEach(function (op) {\n operators[op](scale, config);\n });\n }\n return scale;\n };\n}","export default function applyDomain(scale, config) {\n if (config.domain) {\n if ('nice' in scale || 'quantiles' in scale) {\n // continuous input scales\n scale.domain(config.domain);\n } else if ('padding' in scale) {\n // point and band scales\n scale.domain(config.domain);\n } else {\n // ordinal and threshold scale\n scale.domain(config.domain);\n }\n }\n}","export default function applyZero(scale, config) {\n if ('zero' in config && config.zero === true) {\n var domain = scale.domain();\n var a = domain[0],\n b = domain[1];\n var isDescending = b < a;\n var _ref = isDescending ? [b, a] : [a, b],\n min = _ref[0],\n max = _ref[1];\n var domainWithZero = [Math.min(0, min), Math.max(0, max)];\n scale.domain(isDescending ? domainWithZero.reverse() : domainWithZero);\n }\n}","import createColorInterpolator from '../utils/createColorInterpolator';\nexport default function applyInterpolate(scale, config) {\n if ('interpolate' in config && 'interpolate' in scale && typeof config.interpolate !== 'undefined') {\n var interpolator = createColorInterpolator(config.interpolate);\n scale.interpolate(interpolator);\n }\n}","import { interpolateRound } from '@visx/vendor/d3-interpolate';\nexport default function applyRound(scale, config) {\n if ('round' in config && typeof config.round !== 'undefined') {\n if (config.round && 'interpolate' in config && typeof config.interpolate !== 'undefined') {\n console.warn(\"[visx/scale/applyRound] ignoring round: scale config contains round and interpolate. only applying interpolate. config:\", config);\n } else if ('round' in scale) {\n // for point and band scales\n scale.round(config.round);\n } else if ('interpolate' in scale && config.round) {\n // for continuous output scales\n // setting config.round = true\n // is actually setting interpolator to interpolateRound\n // as these scales do not have scale.round() function\n scale.interpolate(interpolateRound);\n }\n }\n}","export default function applyAlign(scale, config) {\n if ('align' in scale && 'align' in config && typeof config.align !== 'undefined') {\n scale.align(config.align);\n }\n}","export default function applyBase(scale, config) {\n if ('base' in scale && 'base' in config && typeof config.base !== 'undefined') {\n scale.base(config.base);\n }\n}","export default function applyClamp(scale, config) {\n if ('clamp' in scale && 'clamp' in config && typeof config.clamp !== 'undefined') {\n scale.clamp(config.clamp);\n }\n}","export default function applyConstant(scale, config) {\n if ('constant' in scale && 'constant' in config && typeof config.constant !== 'undefined') {\n scale.constant(config.constant);\n }\n}","export default function applyExponent(scale, config) {\n if ('exponent' in scale && 'exponent' in config && typeof config.exponent !== 'undefined') {\n scale.exponent(config.exponent);\n }\n}","export default function applyPadding(scale, config) {\n if ('padding' in scale && 'padding' in config && typeof config.padding !== 'undefined') {\n scale.padding(config.padding);\n }\n if ('paddingInner' in scale && 'paddingInner' in config && typeof config.paddingInner !== 'undefined') {\n scale.paddingInner(config.paddingInner);\n }\n if ('paddingOuter' in scale && 'paddingOuter' in config && typeof config.paddingOuter !== 'undefined') {\n scale.paddingOuter(config.paddingOuter);\n }\n}","export default function applyRange(scale, config) {\n if (config.range) {\n if ('padding' in scale) {\n // point and band scales\n scale.range(config.range);\n } else {\n // the rest\n scale.range(config.range);\n }\n }\n}","export default function applyReverse(scale, config) {\n if (config.reverse) {\n var reversedRange = scale.range().slice().reverse();\n if ('padding' in scale) {\n // point and band scales\n scale.range(reversedRange);\n } else {\n // the rest\n scale.range(reversedRange);\n }\n }\n}","export default function applyUnknown(scale, config) {\n if ('unknown' in scale && 'unknown' in config && typeof config.unknown !== 'undefined') {\n scale.unknown(config.unknown);\n }\n}","import { scaleBand } from '@visx/vendor/d3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateBandScale = scaleOperator('domain', 'range', 'reverse', 'align', 'padding', 'round');\nexport default function createBandScale(config) {\n return updateBandScale(scaleBand(), config);\n}","import { scaleLinear } from '@visx/vendor/d3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateLinearScale = scaleOperator('domain', 'range', 'reverse', 'clamp', 'interpolate', 'nice', 'round', 'zero');\nexport default function createLinearScale(config) {\n return updateLinearScale(scaleLinear(), config);\n}","import { scaleOrdinal } from '@visx/vendor/d3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateOrdinalScale = scaleOperator('domain', 'range', 'reverse', 'unknown');\nexport default function createOrdinalScale(config) {\n return updateOrdinalScale(scaleOrdinal(), config);\n}","export default function coerceNumber(val) {\n if ((typeof val === 'function' || typeof val === 'object' && !!val) && 'valueOf' in val) {\n var num = val.valueOf();\n if (typeof num === 'number') return num;\n }\n return val;\n}","export default function getTicks(scale, numTicks) {\n // Because `Scale` is generic type which maybe a subset of AnyD3Scale\n // that may not have `ticks` field,\n // TypeScript will not let us do the `'ticks' in scale` check directly.\n // Have to manually cast and expand type first.\n var s = scale;\n if ('ticks' in s) {\n return s.ticks(numTicks);\n }\n return s.domain().filter(function (_, index, arr) {\n return numTicks == null || arr.length <= numTicks || index % Math.round((arr.length - 1) / numTicks) === 0;\n });\n}","var _excluded = [\"className\", \"innerRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport default function Bar(_ref) {\n var className = _ref.className,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"rect\", _extends({\n ref: innerRef,\n className: cx('visx-bar', className)\n }, restProps));\n}","var _excluded = [\"data\", \"className\", \"top\", \"left\", \"x0\", \"x0Scale\", \"x1Scale\", \"yScale\", \"color\", \"keys\", \"height\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Group } from '@visx/group';\nimport Bar from './Bar';\nimport getBandwidth from '../util/getBandwidth';\n/**\n * Generates bar groups as an array of objects and renders ``s for each datum grouped by `key`. A general setup might look like this:\n *\n * ```js\n * const data = [{\n * date: date1,\n * key1: value,\n * key2: value,\n * key3: value\n * }, {\n * date: date2,\n * key1: value,\n * key2: value,\n * key3: value,\n * }];\n *\n * const x0 = d => d.date;\n * const keys = [key1, key2, key3];\n *\n * const x0Scale = scaleBand({\n * domain: data.map(x0),\n * padding: 0.2\n * });\n * const x1Scale = scaleBand({\n * domain: keys,\n * padding: 0.1\n * });\n * const yScale = scaleLinear({\n * domain: [0, Math.max(...data.map(d => Math.max(...keys.map(key => d[key]))))]\n * });\n * const color = scaleOrdinal({\n * domain: keys,\n * range: [blue, green, purple]\n * });\n * ```\n *\n * Example: [https://airbnb.io/visx/bargroup](https://airbnb.io/visx/bargroup)\n */\nexport default function BarGroup(_ref) {\n var data = _ref.data,\n className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n x0 = _ref.x0,\n x0Scale = _ref.x0Scale,\n x1Scale = _ref.x1Scale,\n yScale = _ref.yScale,\n color = _ref.color,\n keys = _ref.keys,\n height = _ref.height,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var barWidth = getBandwidth(x1Scale);\n var barGroups = data.map(function (group, i) {\n return {\n index: i,\n x0: x0Scale(x0(group)),\n bars: keys.map(function (key, j) {\n var value = group[key];\n return {\n index: j,\n key: key,\n value: value,\n width: barWidth,\n x: x1Scale(key) || 0,\n y: yScale(value) || 0,\n color: color(key, j),\n height: height - (yScale(value) || 0)\n };\n })\n };\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children(barGroups));\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-bar-group', className),\n top: top,\n left: left\n }, barGroups.map(function (barGroup) {\n return /*#__PURE__*/React.createElement(Group, {\n key: \"bar-group-\" + barGroup.index + \"-\" + barGroup.x0,\n left: barGroup.x0\n }, barGroup.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(Bar, _extends({\n key: \"bar-group-bar-\" + barGroup.index + \"-\" + bar.index + \"-\" + bar.value + \"-\" + bar.key,\n x: bar.x,\n y: bar.y,\n width: bar.width,\n height: bar.height,\n fill: bar.color\n }, restProps));\n }));\n }));\n}","export default function getBandwidth(scale) {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n var range = scale.range();\n var domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n}","var _excluded = [\"children\", \"className\", \"innerRef\", \"x\", \"y\", \"width\", \"height\", \"radius\", \"all\", \"top\", \"bottom\", \"left\", \"right\", \"topLeft\", \"topRight\", \"bottomLeft\", \"bottomRight\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\n/** Hook that returns a BarRounded path. */\nexport function useBarRoundedPath(_ref) {\n var all = _ref.all,\n bottom = _ref.bottom,\n bottomLeft = _ref.bottomLeft,\n bottomRight = _ref.bottomRight,\n height = _ref.height,\n left = _ref.left,\n radius = _ref.radius,\n right = _ref.right,\n top = _ref.top,\n topLeft = _ref.topLeft,\n topRight = _ref.topRight,\n width = _ref.width,\n x = _ref.x,\n y = _ref.y;\n topRight = all || top || right || topRight;\n bottomRight = all || bottom || right || bottomRight;\n bottomLeft = all || bottom || left || bottomLeft;\n topLeft = all || top || left || topLeft;\n\n // clamp radius to center of shortest side of the rect\n radius = Math.max(1, Math.min(radius, Math.min(width, height) / 2));\n var diameter = 2 * radius;\n var path = (\"M\" + (x + radius) + \",\" + y + \" h\" + (width - diameter) + \"\\n \" + (topRight ? \"a\" + radius + \",\" + radius + \" 0 0 1 \" + radius + \",\" + radius : \"h\" + radius + \"v\" + radius) + \"\\n v\" + (height - diameter) + \"\\n \" + (bottomRight ? \"a\" + radius + \",\" + radius + \" 0 0 1 \" + -radius + \",\" + radius : \"v\" + radius + \"h\" + -radius) + \"\\n h\" + (diameter - width) + \"\\n \" + (bottomLeft ? \"a\" + radius + \",\" + radius + \" 0 0 1 \" + -radius + \",\" + -radius : \"h\" + -radius + \"v\" + -radius) + \"\\n v\" + (diameter - height) + \"\\n \" + (topLeft ? \"a\" + radius + \",\" + radius + \" 0 0 1 \" + radius + \",\" + -radius : \"v\" + -radius + \"h\" + radius) + \"\\nz\").split('\\n').join('');\n return path;\n}\nexport default function BarRounded(_ref2) {\n var children = _ref2.children,\n className = _ref2.className,\n innerRef = _ref2.innerRef,\n x = _ref2.x,\n y = _ref2.y,\n width = _ref2.width,\n height = _ref2.height,\n radius = _ref2.radius,\n _ref2$all = _ref2.all,\n all = _ref2$all === void 0 ? false : _ref2$all,\n _ref2$top = _ref2.top,\n top = _ref2$top === void 0 ? false : _ref2$top,\n _ref2$bottom = _ref2.bottom,\n bottom = _ref2$bottom === void 0 ? false : _ref2$bottom,\n _ref2$left = _ref2.left,\n left = _ref2$left === void 0 ? false : _ref2$left,\n _ref2$right = _ref2.right,\n right = _ref2$right === void 0 ? false : _ref2$right,\n _ref2$topLeft = _ref2.topLeft,\n topLeft = _ref2$topLeft === void 0 ? false : _ref2$topLeft,\n _ref2$topRight = _ref2.topRight,\n topRight = _ref2$topRight === void 0 ? false : _ref2$topRight,\n _ref2$bottomLeft = _ref2.bottomLeft,\n bottomLeft = _ref2$bottomLeft === void 0 ? false : _ref2$bottomLeft,\n _ref2$bottomRight = _ref2.bottomRight,\n bottomRight = _ref2$bottomRight === void 0 ? false : _ref2$bottomRight,\n restProps = _objectWithoutPropertiesLoose(_ref2, _excluded);\n var path = useBarRoundedPath({\n x: x,\n y: y,\n width: width,\n height: height,\n radius: radius,\n all: all,\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n topLeft: topLeft,\n topRight: topRight,\n bottomLeft: bottomLeft,\n bottomRight: bottomRight\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children({\n path: path\n }));\n return /*#__PURE__*/React.createElement(\"path\", _extends({\n ref: innerRef,\n className: cx('visx-bar-rounded', className),\n d: path\n }, restProps));\n}","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","/**\n * This is a workaround for TypeScript not inferring the correct\n * method overload/signature for some d3 shape methods.\n */\nexport default function setNumberOrNumberAccessor(func, value) {\n if (typeof value === 'number') func(value);else func(value);\n}","import { arc as d3Arc, area as d3Area, line as d3Line, pie as d3Pie, radialLine as d3RadialLine, stack as d3Stack } from 'd3-shape';\nimport setNumberOrNumberAccessor from './setNumberOrNumberAccessor';\nimport stackOrder from './stackOrder';\nimport stackOffset from './stackOffset';\nexport function arc(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n cornerRadius = _ref.cornerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n padAngle = _ref.padAngle,\n padRadius = _ref.padRadius;\n var path = d3Arc();\n if (innerRadius != null) setNumberOrNumberAccessor(path.innerRadius, innerRadius);\n if (outerRadius != null) setNumberOrNumberAccessor(path.outerRadius, outerRadius);\n if (cornerRadius != null) setNumberOrNumberAccessor(path.cornerRadius, cornerRadius);\n if (startAngle != null) setNumberOrNumberAccessor(path.startAngle, startAngle);\n if (endAngle != null) setNumberOrNumberAccessor(path.endAngle, endAngle);\n if (padAngle != null) setNumberOrNumberAccessor(path.padAngle, padAngle);\n if (padRadius != null) setNumberOrNumberAccessor(path.padRadius, padRadius);\n return path;\n}\nexport function area(_temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n x = _ref2.x,\n x0 = _ref2.x0,\n x1 = _ref2.x1,\n y = _ref2.y,\n y0 = _ref2.y0,\n y1 = _ref2.y1,\n defined = _ref2.defined,\n curve = _ref2.curve;\n var path = d3Area();\n if (x) setNumberOrNumberAccessor(path.x, x);\n if (x0) setNumberOrNumberAccessor(path.x0, x0);\n if (x1) setNumberOrNumberAccessor(path.x1, x1);\n if (y) setNumberOrNumberAccessor(path.y, y);\n if (y0) setNumberOrNumberAccessor(path.y0, y0);\n if (y1) setNumberOrNumberAccessor(path.y1, y1);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function line(_temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n x = _ref3.x,\n y = _ref3.y,\n defined = _ref3.defined,\n curve = _ref3.curve;\n var path = d3Line();\n if (x) setNumberOrNumberAccessor(path.x, x);\n if (y) setNumberOrNumberAccessor(path.y, y);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function pie(_temp4) {\n var _ref4 = _temp4 === void 0 ? {} : _temp4,\n startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle,\n padAngle = _ref4.padAngle,\n value = _ref4.value,\n sort = _ref4.sort,\n sortValues = _ref4.sortValues;\n var path = d3Pie();\n\n // ts can't distinguish between these method overloads\n if (sort === null) path.sort(sort);else if (sort != null) path.sort(sort);\n if (sortValues === null) path.sortValues(sortValues);else if (sortValues != null) path.sortValues(sortValues);\n if (value != null) path.value(value);\n if (padAngle != null) setNumberOrNumberAccessor(path.padAngle, padAngle);\n if (startAngle != null) setNumberOrNumberAccessor(path.startAngle, startAngle);\n if (endAngle != null) setNumberOrNumberAccessor(path.endAngle, endAngle);\n return path;\n}\nexport function radialLine(_temp5) {\n var _ref5 = _temp5 === void 0 ? {} : _temp5,\n angle = _ref5.angle,\n radius = _ref5.radius,\n defined = _ref5.defined,\n curve = _ref5.curve;\n var path = d3RadialLine();\n if (angle) setNumberOrNumberAccessor(path.angle, angle);\n if (radius) setNumberOrNumberAccessor(path.radius, radius);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function stack(_ref6) {\n var keys = _ref6.keys,\n value = _ref6.value,\n order = _ref6.order,\n offset = _ref6.offset;\n var path = d3Stack();\n if (keys) path.keys(keys);\n if (value) setNumberOrNumberAccessor(path.value, value);\n if (order) path.order(stackOrder(order));\n if (offset) path.offset(stackOffset(offset));\n return path;\n}","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","var _excluded = [\"children\", \"data\", \"x\", \"y\", \"fill\", \"className\", \"curve\", \"innerRef\", \"defined\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { line } from '../util/D3ShapeFactories';\nexport default function LinePath(_ref) {\n var children = _ref.children,\n _ref$data = _ref.data,\n data = _ref$data === void 0 ? [] : _ref$data,\n x = _ref.x,\n y = _ref.y,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,\n className = _ref.className,\n curve = _ref.curve,\n innerRef = _ref.innerRef,\n _ref$defined = _ref.defined,\n defined = _ref$defined === void 0 ? function () {\n return true;\n } : _ref$defined,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var path = line({\n x: x,\n y: y,\n defined: defined,\n curve: curve\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children({\n path: path\n }));\n return /*#__PURE__*/React.createElement(\"path\", _extends({\n ref: innerRef,\n className: cx('visx-linepath', className),\n d: path(data) || '',\n fill: fill\n // without this a datum surrounded by nulls will not be visible\n // https://github.com/d3/d3-shape#line_defined\n ,\n strokeLinecap: \"round\"\n }, restProps));\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = Line;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _excluded = [\"from\", \"to\", \"fill\", \"className\", \"innerRef\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction Line(_ref) {\n var _ref$from = _ref.from,\n from = _ref$from === void 0 ? {\n x: 0,\n y: 0\n } : _ref$from,\n _ref$to = _ref.to,\n to = _ref$to === void 0 ? {\n x: 1,\n y: 1\n } : _ref$to,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,\n className = _ref.className,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var isRectilinear = from.x === to.x || from.y === to.y;\n return /*#__PURE__*/_react.default.createElement(\"line\", _extends({\n ref: innerRef,\n className: (0, _classnames.default)('visx-line', className),\n x1: from.x,\n y1: from.y,\n x2: to.x,\n y2: to.y,\n fill: fill,\n shapeRendering: isRectilinear ? 'crispEdges' : 'auto'\n }, restProps));\n}","import memoize from 'lodash/memoize';\nvar MEASUREMENT_ELEMENT_ID = '__react_svg_text_measurement_id';\nfunction getStringWidth(str, style) {\n try {\n // Calculate length of each word to be used to determine number of words per line\n var textEl = document.getElementById(MEASUREMENT_ELEMENT_ID);\n if (!textEl) {\n var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.width = '0';\n svg.style.height = '0';\n svg.style.position = 'absolute';\n svg.style.top = '-100%';\n svg.style.left = '-100%';\n textEl = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n textEl.setAttribute('id', MEASUREMENT_ELEMENT_ID);\n svg.appendChild(textEl);\n document.body.appendChild(svg);\n }\n Object.assign(textEl.style, style);\n textEl.textContent = str;\n return textEl.getComputedTextLength();\n } catch (e) {\n return null;\n }\n}\nexport default memoize(getStringWidth, function (str, style) {\n return str + \"_\" + JSON.stringify(style);\n});","var _excluded = [\"tooltipOpen\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { useState, useCallback } from 'react';\nexport default function useTooltip( /** Optional initial TooltipState. */\ninitialTooltipState) {\n var _useState = useState(_extends({\n tooltipOpen: false\n }, initialTooltipState)),\n tooltipState = _useState[0],\n setTooltipState = _useState[1];\n var showTooltip = useCallback(function (showArgs) {\n return setTooltipState(typeof showArgs === 'function' ? function (_ref) {\n var tooltipOpen = _ref.tooltipOpen,\n show = _objectWithoutPropertiesLoose(_ref, _excluded);\n return _extends({}, showArgs(show), {\n tooltipOpen: true\n });\n } : {\n tooltipOpen: true,\n tooltipLeft: showArgs.tooltipLeft,\n tooltipTop: showArgs.tooltipTop,\n tooltipData: showArgs.tooltipData\n });\n }, [setTooltipState]);\n var hideTooltip = useCallback(function () {\n return setTooltipState({\n tooltipOpen: false,\n tooltipLeft: undefined,\n tooltipTop: undefined,\n tooltipData: undefined\n });\n }, [setTooltipState]);\n return {\n tooltipOpen: tooltipState.tooltipOpen,\n tooltipLeft: tooltipState.tooltipLeft,\n tooltipTop: tooltipState.tooltipTop,\n tooltipData: tooltipState.tooltipData,\n updateTooltip: setTooltipState,\n showTooltip: showTooltip,\n hideTooltip: hideTooltip\n };\n}","import _pt from \"prop-types\";\nvar _excluded = [\"className\", \"top\", \"left\", \"offsetLeft\", \"offsetTop\", \"style\", \"children\", \"unstyled\", \"applyPositionStyle\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport var defaultStyles = {\n position: 'absolute',\n backgroundColor: 'white',\n color: '#666666',\n padding: '.3rem .5rem',\n borderRadius: '3px',\n fontSize: '14px',\n boxShadow: '0 1px 2px rgba(33,33,33,0.2)',\n lineHeight: '1em',\n pointerEvents: 'none'\n};\nvar Tooltip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n _ref$offsetLeft = _ref.offsetLeft,\n offsetLeft = _ref$offsetLeft === void 0 ? 10 : _ref$offsetLeft,\n _ref$offsetTop = _ref.offsetTop,\n offsetTop = _ref$offsetTop === void 0 ? 10 : _ref$offsetTop,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? defaultStyles : _ref$style,\n children = _ref.children,\n _ref$unstyled = _ref.unstyled,\n unstyled = _ref$unstyled === void 0 ? false : _ref$unstyled,\n _ref$applyPositionSty = _ref.applyPositionStyle,\n applyPositionStyle = _ref$applyPositionSty === void 0 ? false : _ref$applyPositionSty,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n className: cx('visx-tooltip', className),\n style: _extends({\n top: top == null || offsetTop == null ? top : top + offsetTop,\n left: left == null || offsetLeft == null ? left : left + offsetLeft\n }, applyPositionStyle && {\n position: 'absolute'\n }, !unstyled && style)\n }, restProps), children);\n});\nTooltip.propTypes = {\n children: _pt.node,\n className: _pt.string,\n left: _pt.number,\n offsetLeft: _pt.number,\n offsetTop: _pt.number,\n top: _pt.number,\n applyPositionStyle: _pt.bool,\n unstyled: _pt.bool\n};\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var e,r,t,i=function(e){return e.replace(/[^\\d]/g,\"\")},n=function(e){return e.reduce(function(e,r){return e+r},0)},a=function(e,r){return e.slice(0,r)},l=function(e){var r=e.value;return e.delimiters.forEach(function(e){e.split(\"\").forEach(function(e){r=r.replace(new RegExp(e.replace(/([.?*+^$[\\]\\\\(){}|-])/g,\"\\\\$1\"),\"g\"),\"\")})}),r},u=function(e){var r=e.blocks,t=e.delimiter,i=void 0===t?\"\":t,n=e.delimiters,a=void 0===n?[]:n,l=e.delimiterLazyShow,u=void 0!==l&&l,c=\"\",s=e.value,o=\"\";return r.forEach(function(e,t){if(s.length>0){var n,l=s.slice(0,e),d=s.slice(e);o=a.length>0?null!=(n=a[u?t-1:t])?n:o:i,u?(t>0&&(c+=o),c+=l):(c+=l,l.length===e&&t0&&s.push(a),e=function(e){var r=e.value,t=e.prefix,i=e.tailPrefix,n=t.length;return 0===n?r:r===t&&\"\"!==r?\"\":r.slice(0,n)===t||i?r.slice(-n)!==t&&i?\"\":i?r.slice(0,-n):r.slice(n):\"\"}({value:e=l({value:e,delimiters:s}),prefix:m,tailPrefix:!1}),e=p?i(e):e,e=E?e.toUpperCase():e,e=I?e.toLowerCase():e,m.length>0&&(e=m+e),u({value:e,blocks:t,delimiter:a,delimiters:s,delimiterLazyShow:d})},o=function(e,r){var t=r.delimiter,i=r.delimiters;return l({value:e,delimiters:[].concat(void 0===i?[]:i,[void 0===t?\"\":t])})},d=\" \";!function(e){e.UATP=\"uatp\",e.AMEX=\"amex\",e.DINERS=\"diners\",e.DISCOVER=\"discover\",e.MASTERCARD=\"mastercard\",e.DANKORT=\"dankort\",e.INSTAPAYMENT=\"instapayment\",e.JCB15=\"jcb15\",e.JCB=\"jcb\",e.MAESTRO=\"maestro\",e.VISA=\"visa\",e.MIR=\"mir\",e.UNIONPAY=\"unionpay\",e.GENERAL=\"general\"}(t||(t={}));var v,m=((e={})[t.UATP]=[4,5,6],e[t.AMEX]=[4,6,5],e[t.DINERS]=[4,6,4],e[t.DISCOVER]=[4,4,4,4],e[t.MASTERCARD]=[4,4,4,4],e[t.DANKORT]=[4,4,4,4],e[t.INSTAPAYMENT]=[4,4,4,4],e[t.JCB15]=[4,6,5],e[t.JCB]=[4,4,4,4],e[t.MAESTRO]=[4,4,4,4],e[t.VISA]=[4,4,4,4],e[t.MIR]=[4,4,4,4],e[t.UNIONPAY]=[4,4,4,4],e[t.GENERAL]=[4,4,4,4],e),f=((r={})[t.UATP]=/^(?!1800)1\\d{0,14}/,r[t.AMEX]=/^3[47]\\d{0,13}/,r[t.DISCOVER]=/^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,r[t.DINERS]=/^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,r[t.MASTERCARD]=/^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,r[t.DANKORT]=/^(5019|4175|4571)\\d{0,12}/,r[t.INSTAPAYMENT]=/^63[7-9]\\d{0,13}/,r[t.JCB15]=/^(?:2131|1800)\\d{0,11}/,r[t.JCB]=/^(?:35\\d{0,2})\\d{0,12}/,r[t.MAESTRO]=/^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,r[t.MIR]=/^220[0-4]\\d{0,12}/,r[t.VISA]=/^4\\d{0,15}/,r[t.UNIONPAY]=/^(62|81)\\d{0,14}/,r),p=function(e){var r=e.reduce(function(e,r){return e+r},0);return e.concat(19-r)},h=function(e){for(var r=e.value,i=e.strictMode,n=0,a=Object.keys(f);n0&&(i=i.slice(0,s)),o){case v.LAKH:i=i.replace(/(\\d)(?=(\\d\\d)+\\d$)/g,\"$1\"+n);break;case v.WAN:i=i.replace(/(\\d)(?=(\\d{4})+$)/g,\"$1\"+n);break;case v.THOUSAND:i=i.replace(/(\\d)(?=(\\d{3})+$)/g,\"$1\"+n)}return m?E+i+(l>0?p:\"\")+f:t+i+(l>0?p:\"\")}({value:e,delimiter:void 0===i?\",\":i,numeralIntegerScale:void 0===a?0:a,numeralDecimalMark:void 0===l?\".\":l,numeralDecimalScale:void 0===u?2:u,stripLeadingZeroes:void 0===c||c,numeralPositiveOnly:void 0!==s&&s,numeralThousandsGroupStyle:void 0===n?x:n,tailPrefix:void 0!==o&&o,signBeforePrefix:void 0!==d&&d,prefix:void 0===m?\"\":m})},S=function(e,r){var t=(null!=r?r:{}).numeralDecimalMark;return e.replace(void 0===t?\".\":t,\"M\").replace(/[^0-9-M]/g,\"\").replace(\"M\",\".\")},N=\"/\",k=[\"d\",\"m\",\"Y\"],C=function(e,r){return r?(e<10?\"000\":e<100?\"00\":e<1e3?\"0\":\"\")+e:(e<10?\"0\":\"\")+e},L=function(e){return(e<10?\"0\":\"\")+e},P=function(e,r,t){var i;return e=Math.min(e,31),t=null!=(i=t)?i:0,((r=Math.min(r,12))<7&&r%2==0||r>8&&r%2==1)&&(e=Math.min(e,2===r?function(e){return e%4==0&&e%100!=0||e%400==0}(t)?29:28:30)),[e,r,t]},y=function(e,r){var t=null!=r?r:{},c=t.delimiterLazyShow,s=void 0!==c&&c,o=t.delimiter,d=void 0===o?\"/\":o,v=t.datePattern,m=void 0===v?k:v,f=t.dateMax,p=void 0===f?\"\":f,h=t.dateMin,E=void 0===h?\"\":h;e=i(e);var g=function(e){var r=[];return e.forEach(function(e){r.push(\"Y\"===e?4:2)}),r}(m),I=function(e){var r=e.dateMax,t=e.dateMin.split(\"-\").reverse().map(function(e){return parseInt(e,10)});2===t.length&&t.unshift(0);var i=r.split(\"-\").reverse().map(function(e){return parseInt(e,10)});return 2===i.length&&i.unshift(0),{min:t,max:i}}({dateMax:p,dateMin:E});e=function(e){var r=e.value,t=void 0===r?\"\":r,i=e.blocks,n=e.datePattern,a=e.min,l=e.max,u=\"\";return(void 0===i?[]:i).forEach(function(e,r){if(t.length>0){var i=t.slice(0,e),a=i.slice(0,1),l=t.slice(e);switch(n[r]){case\"d\":\"00\"===i?i=\"01\":parseInt(a,10)>3?i=\"0\"+a:parseInt(i,10)>31&&(i=\"31\");break;case\"m\":\"00\"===i?i=\"01\":parseInt(a,10)>1?i=\"0\"+a:parseInt(i,10)>12&&(i=\"12\")}u+=i,t=l}}),function(e){var r,t,i,n=e.value,a=void 0===n?\"\":n,l=e.datePattern,u=e.min,c=e.max,s=[],o=0,d=0,v=0,m=0,f=0,p=0,h=!1;return 4===a.length&&\"y\"!==l[0].toLowerCase()&&\"y\"!==l[1].toLowerCase()&&(f=2-(m=\"d\"===l[0]?0:2),r=parseInt(a.slice(m,m+2),10),t=parseInt(a.slice(f,f+2),10),s=P(r,t,0)),8===a.length&&(l.forEach(function(e,r){switch(e){case\"d\":o=r;break;case\"m\":d=r;break;default:v=r}}),p=2*v,m=o<=v?2*o:2*o+2,f=d<=v?2*d:2*d+2,r=parseInt(a.slice(m,m+2),10),t=parseInt(a.slice(f,f+2),10),i=parseInt(a.slice(p,p+4),10),h=4===a.slice(p,p+4).length,s=P(r,t,i)),4!==a.length||\"y\"!==l[0]&&\"y\"!==l[1]||(p=2-(f=\"m\"===l[0]?0:2),t=parseInt(a.slice(f,f+2),10),i=parseInt(a.slice(p,p+2),10),h=2===a.slice(p,p+2).length,s=[0,t,i]),6!==a.length||\"Y\"!==l[0]&&\"Y\"!==l[1]||(p=2-.5*(f=\"m\"===l[0]?0:4),t=parseInt(a.slice(f,f+2),10),i=parseInt(a.slice(p,p+4),10),h=4===a.slice(p,p+4).length,s=[0,t,i]),0===(s=function(e){var r=e.date,t=void 0===r?[]:r,i=e.min,n=e.max;return 0===t.length||i.length<3&&n.length<3||e.datePattern.filter(function(e){return\"y\"===e.toLowerCase()}).length>0&&0===t[2]?t:n.length>0&&(n[2]0&&(i[2]>t[2]||i[2]===t[2]&&(i[1]>t[1]||i[1]===t[1]&&i[0]>t[0]))?i:t}({date:s,datePattern:l,min:u,max:c})).length?a:l.reduce(function(e,r){switch(r){case\"d\":return e+(0===s[0]?\"\":L(s[0]));case\"m\":return e+(0===s[1]?\"\":L(s[1]));case\"y\":return e+(h?C(s[2],!1):\"\");case\"Y\":return e+(h?C(s[2],!0):\"\")}return e},\"\")}({value:u,datePattern:n,min:a,max:l})}({value:e,blocks:g,datePattern:m,min:I.min,max:I.max}),e=l({value:e,delimiters:[d]});var A=n(g);return e=a(e,A),u({value:e,blocks:g,delimiter:d,delimiterLazyShow:s})},D=\":\",R=[\"h\",\"m\",\"s\"],T=function(e){return(e<10?\"0\":\"\")+e},b=function(e,r,t){return t=Math.min(t,60),r=Math.min(r,60),[e=Math.min(e,60),r,t]},w=function(e,r){var t=null!=r?r:{},c=t.delimiterLazyShow,s=void 0!==c&&c,o=t.delimiter,d=void 0===o?\":\":o,v=t.timePattern,m=void 0===v?R:v,f=t.timeFormat,p=void 0===f?\"24\":f;e=i(e);var h=function(e){var r=[];return e.forEach(function(){r.push(2)}),r}(m);e=function(e){var r=e.value,t=e.timePattern,i=\"\",n=\"12\"===e.timeFormat?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60};return e.blocks.forEach(function(e,a){if(r.length>0){var l=r.slice(0,e),u=l.slice(0,1),c=r.slice(e);switch(t[a]){case\"h\":parseInt(u,10)>n.maxHourFirstDigit?l=\"0\"+u:parseInt(l,10)>n.maxHours&&(l=n.maxHours+\"\");break;case\"m\":case\"s\":parseInt(u,10)>n.maxMinutesFirstDigit?l=\"0\"+u:parseInt(l,10)>n.maxMinutes&&(l=n.maxMinutes+\"\")}i+=l,r=c}}),function(e){var r,t,i,n=e.value,a=e.timePattern,l=[],u=0,c=0,s=0,o=0,d=0,v=0;return 6===n.length&&(a.forEach(function(e,r){switch(e){case\"s\":u=2*r;break;case\"m\":c=2*r;break;case\"h\":s=2*r}}),v=s,d=c,o=u,r=parseInt(n.slice(o,o+2),10),t=parseInt(n.slice(d,d+2),10),i=parseInt(n.slice(v,v+2),10),l=b(i,t,r)),4!==n.length||a.includes(\"s\")||(a.forEach(function(e,r){switch(e){case\"m\":c=2*r;break;case\"h\":s=2*r}}),v=s,d=c,r=0,t=parseInt(n.slice(d,d+2),10),i=parseInt(n.slice(v,v+2),10),l=b(i,t,r)),0===l.length?n:a.reduce(function(e,r){switch(r){case\"s\":return e+T(l[2]);case\"m\":return e+T(l[1]);case\"h\":return e+T(l[0])}return e},\"\")}({value:i,timePattern:t})}({value:e,blocks:h,timePattern:m,timeFormat:p}),e=l({value:e,delimiters:[d]});var E=n(h);return e=a(e,E),u({value:e,blocks:h,delimiter:d,delimiterLazyShow:s})};export{d as DefaultCreditCardDelimiter,N as DefaultDateDelimiter,A as DefaultNumeralDelimiter,D as DefaultTimeDelimiter,v as NumeralThousandGroupStyles,E as formatCreditCard,y as formatDate,s as formatGeneral,M as formatNumeral,w as formatTime,g as getCreditCardType,c as registerCursorTracker,I as unformatCreditCard,o as unformatGeneral,S as unformatNumeral};\n//# sourceMappingURL=cleave-zen.module.js.map\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 3099:\n/***/ (function(module) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ 6077:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(111);\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ 1223:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(5112);\nvar create = __webpack_require__(30);\nvar definePropertyModule = __webpack_require__(3070);\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ 1530:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(8710).charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n\n\n/***/ }),\n\n/***/ 5787:\n/***/ (function(module) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ 9670:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(111);\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ 4019:\n/***/ (function(module) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n\n/***/ }),\n\n/***/ 260:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __webpack_require__(4019);\nvar DESCRIPTORS = __webpack_require__(9781);\nvar global = __webpack_require__(7854);\nvar isObject = __webpack_require__(111);\nvar has = __webpack_require__(6656);\nvar classof = __webpack_require__(648);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar redefine = __webpack_require__(1320);\nvar defineProperty = __webpack_require__(3070).f;\nvar getPrototypeOf = __webpack_require__(9518);\nvar setPrototypeOf = __webpack_require__(7674);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar uid = __webpack_require__(9711);\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n\n/***/ }),\n\n/***/ 3331:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(7854);\nvar DESCRIPTORS = __webpack_require__(9781);\nvar NATIVE_ARRAY_BUFFER = __webpack_require__(4019);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar redefineAll = __webpack_require__(2248);\nvar fails = __webpack_require__(7293);\nvar anInstance = __webpack_require__(5787);\nvar toInteger = __webpack_require__(9958);\nvar toLength = __webpack_require__(7466);\nvar toIndex = __webpack_require__(7067);\nvar IEEE754 = __webpack_require__(1179);\nvar getPrototypeOf = __webpack_require__(9518);\nvar setPrototypeOf = __webpack_require__(7674);\nvar getOwnPropertyNames = __webpack_require__(8006).f;\nvar defineProperty = __webpack_require__(3070).f;\nvar arrayFill = __webpack_require__(1285);\nvar setToStringTag = __webpack_require__(8003);\nvar InternalStateModule = __webpack_require__(9909);\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n\n\n/***/ }),\n\n/***/ 1048:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toObject = __webpack_require__(7908);\nvar toAbsoluteIndex = __webpack_require__(1400);\nvar toLength = __webpack_require__(7466);\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n/***/ }),\n\n/***/ 1285:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toObject = __webpack_require__(7908);\nvar toAbsoluteIndex = __webpack_require__(1400);\nvar toLength = __webpack_require__(7466);\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ 8533:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $forEach = __webpack_require__(2092).forEach;\nvar arrayMethodIsStrict = __webpack_require__(9341);\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n\n\n/***/ }),\n\n/***/ 8457:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bind = __webpack_require__(9974);\nvar toObject = __webpack_require__(7908);\nvar callWithSafeIterationClosing = __webpack_require__(3411);\nvar isArrayIteratorMethod = __webpack_require__(7659);\nvar toLength = __webpack_require__(7466);\nvar createProperty = __webpack_require__(6135);\nvar getIteratorMethod = __webpack_require__(1246);\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n\n/***/ }),\n\n/***/ 1318:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(5656);\nvar toLength = __webpack_require__(7466);\nvar toAbsoluteIndex = __webpack_require__(1400);\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ 2092:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar bind = __webpack_require__(9974);\nvar IndexedObject = __webpack_require__(8361);\nvar toObject = __webpack_require__(7908);\nvar toLength = __webpack_require__(7466);\nvar arraySpeciesCreate = __webpack_require__(5417);\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n\n\n/***/ }),\n\n/***/ 6583:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(5656);\nvar toInteger = __webpack_require__(9958);\nvar toLength = __webpack_require__(7466);\nvar arrayMethodIsStrict = __webpack_require__(9341);\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n\n\n/***/ }),\n\n/***/ 1194:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar V8_VERSION = __webpack_require__(7392);\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n\n/***/ }),\n\n/***/ 9341:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(7293);\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n\n\n/***/ }),\n\n/***/ 3671:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(3099);\nvar toObject = __webpack_require__(7908);\nvar IndexedObject = __webpack_require__(8361);\nvar toLength = __webpack_require__(7466);\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ 5417:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(111);\nvar isArray = __webpack_require__(3157);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n\n/***/ }),\n\n/***/ 3411:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(9670);\nvar iteratorClose = __webpack_require__(9212);\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n\n\n/***/ }),\n\n/***/ 7072:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n\n/***/ 4326:\n/***/ (function(module) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 648:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(1694);\nvar classofRaw = __webpack_require__(4326);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n\n/***/ }),\n\n/***/ 9920:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar has = __webpack_require__(6656);\nvar ownKeys = __webpack_require__(3887);\nvar getOwnPropertyDescriptorModule = __webpack_require__(1236);\nvar definePropertyModule = __webpack_require__(3070);\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n\n/***/ }),\n\n/***/ 8544:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n\n/***/ 4994:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __webpack_require__(3383).IteratorPrototype;\nvar create = __webpack_require__(30);\nvar createPropertyDescriptor = __webpack_require__(9114);\nvar setToStringTag = __webpack_require__(8003);\nvar Iterators = __webpack_require__(7497);\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n\n/***/ }),\n\n/***/ 8880:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar definePropertyModule = __webpack_require__(3070);\nvar createPropertyDescriptor = __webpack_require__(9114);\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ 9114:\n/***/ (function(module) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ 6135:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(7593);\nvar definePropertyModule = __webpack_require__(3070);\nvar createPropertyDescriptor = __webpack_require__(9114);\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n/***/ }),\n\n/***/ 654:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar createIteratorConstructor = __webpack_require__(4994);\nvar getPrototypeOf = __webpack_require__(9518);\nvar setPrototypeOf = __webpack_require__(7674);\nvar setToStringTag = __webpack_require__(8003);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar redefine = __webpack_require__(1320);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar IS_PURE = __webpack_require__(1913);\nvar Iterators = __webpack_require__(7497);\nvar IteratorsCore = __webpack_require__(3383);\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\n\n/***/ }),\n\n/***/ 9781:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n\n/***/ 317:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar isObject = __webpack_require__(111);\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 8324:\n/***/ (function(module) {\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n\n/***/ }),\n\n/***/ 8113:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(5005);\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n\n/***/ 7392:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar userAgent = __webpack_require__(8113);\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n\n\n/***/ }),\n\n/***/ 748:\n/***/ (function(module) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n\n/***/ 2109:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar getOwnPropertyDescriptor = __webpack_require__(1236).f;\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar redefine = __webpack_require__(1320);\nvar setGlobal = __webpack_require__(3505);\nvar copyConstructorProperties = __webpack_require__(9920);\nvar isForced = __webpack_require__(4705);\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n\n/***/ 7293:\n/***/ (function(module) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ 7007:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\n// TODO: Remove from `core-js@4` since it's moved to entry points\n__webpack_require__(4916);\nvar redefine = __webpack_require__(1320);\nvar fails = __webpack_require__(7293);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar regexpExec = __webpack_require__(2261);\nvar createNonEnumerableProperty = __webpack_require__(8880);\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n\n/***/ }),\n\n/***/ 9974:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(3099);\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ 5005:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar path = __webpack_require__(857);\nvar global = __webpack_require__(7854);\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n\n/***/ 1246:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar classof = __webpack_require__(648);\nvar Iterators = __webpack_require__(7497);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ 8554:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(9670);\nvar getIteratorMethod = __webpack_require__(1246);\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n\n\n/***/ }),\n\n/***/ 647:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toObject = __webpack_require__(7908);\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n\n\n/***/ }),\n\n/***/ 7854:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n /* global globalThis -- safe */\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\n\n/***/ }),\n\n/***/ 6656:\n/***/ (function(module) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 3501:\n/***/ (function(module) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 490:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(5005);\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ 4664:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar fails = __webpack_require__(7293);\nvar createElement = __webpack_require__(317);\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 1179:\n/***/ (function(module) {\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n\n\n/***/ }),\n\n/***/ 8361:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\nvar classof = __webpack_require__(4326);\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n\n/***/ 9587:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(111);\nvar setPrototypeOf = __webpack_require__(7674);\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n\n/***/ }),\n\n/***/ 2788:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar store = __webpack_require__(5465);\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n\n\n/***/ }),\n\n/***/ 9909:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(8536);\nvar global = __webpack_require__(7854);\nvar isObject = __webpack_require__(111);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar objectHas = __webpack_require__(6656);\nvar shared = __webpack_require__(5465);\nvar sharedKey = __webpack_require__(6200);\nvar hiddenKeys = __webpack_require__(3501);\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n\n/***/ 7659:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(5112);\nvar Iterators = __webpack_require__(7497);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ 3157:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar classof = __webpack_require__(4326);\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ 4705:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n\n/***/ 111:\n/***/ (function(module) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 1913:\n/***/ (function(module) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ 7850:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(111);\nvar classof = __webpack_require__(4326);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ 9212:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(9670);\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n\n\n/***/ }),\n\n/***/ 3383:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(7293);\nvar getPrototypeOf = __webpack_require__(9518);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar has = __webpack_require__(6656);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar IS_PURE = __webpack_require__(1913);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n\n/***/ 7497:\n/***/ (function(module) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 133:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n /* global Symbol -- required for testing */\n return !String(Symbol());\n});\n\n\n/***/ }),\n\n/***/ 590:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar IS_PURE = __webpack_require__(1913);\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n\n\n/***/ }),\n\n/***/ 8536:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar inspectSource = __webpack_require__(2788);\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n\n/***/ 1574:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar fails = __webpack_require__(7293);\nvar objectKeys = __webpack_require__(1956);\nvar getOwnPropertySymbolsModule = __webpack_require__(5181);\nvar propertyIsEnumerableModule = __webpack_require__(5296);\nvar toObject = __webpack_require__(7908);\nvar IndexedObject = __webpack_require__(8361);\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n /* global Symbol -- required for testing */\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(9670);\nvar defineProperties = __webpack_require__(6048);\nvar enumBugKeys = __webpack_require__(748);\nvar hiddenKeys = __webpack_require__(3501);\nvar html = __webpack_require__(490);\nvar documentCreateElement = __webpack_require__(317);\nvar sharedKey = __webpack_require__(6200);\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 6048:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar definePropertyModule = __webpack_require__(3070);\nvar anObject = __webpack_require__(9670);\nvar objectKeys = __webpack_require__(1956);\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ 3070:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar IE8_DOM_DEFINE = __webpack_require__(4664);\nvar anObject = __webpack_require__(9670);\nvar toPrimitive = __webpack_require__(7593);\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ 1236:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar propertyIsEnumerableModule = __webpack_require__(5296);\nvar createPropertyDescriptor = __webpack_require__(9114);\nvar toIndexedObject = __webpack_require__(5656);\nvar toPrimitive = __webpack_require__(7593);\nvar has = __webpack_require__(6656);\nvar IE8_DOM_DEFINE = __webpack_require__(4664);\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ 8006:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(6324);\nvar enumBugKeys = __webpack_require__(748);\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ 5181:\n/***/ (function(__unused_webpack_module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 9518:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar has = __webpack_require__(6656);\nvar toObject = __webpack_require__(7908);\nvar sharedKey = __webpack_require__(6200);\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n\n/***/ 6324:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar has = __webpack_require__(6656);\nvar toIndexedObject = __webpack_require__(5656);\nvar indexOf = __webpack_require__(1318).indexOf;\nvar hiddenKeys = __webpack_require__(3501);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ 1956:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(6324);\nvar enumBugKeys = __webpack_require__(748);\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 5296:\n/***/ (function(__unused_webpack_module, exports) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 7674:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/* eslint-disable no-proto -- safe */\nvar anObject = __webpack_require__(9670);\nvar aPossiblePrototype = __webpack_require__(6077);\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n\n/***/ }),\n\n/***/ 288:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(1694);\nvar classof = __webpack_require__(648);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n\n/***/ }),\n\n/***/ 3887:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(5005);\nvar getOwnPropertyNamesModule = __webpack_require__(8006);\nvar getOwnPropertySymbolsModule = __webpack_require__(5181);\nvar anObject = __webpack_require__(9670);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n\n/***/ 857:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\n\nmodule.exports = global;\n\n\n/***/ }),\n\n/***/ 2248:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(1320);\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n\n\n/***/ }),\n\n/***/ 1320:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar has = __webpack_require__(6656);\nvar setGlobal = __webpack_require__(3505);\nvar inspectSource = __webpack_require__(2788);\nvar InternalStateModule = __webpack_require__(9909);\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n/***/ }),\n\n/***/ 7651:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar classof = __webpack_require__(4326);\nvar regexpExec = __webpack_require__(2261);\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n\n\n/***/ }),\n\n/***/ 2261:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpFlags = __webpack_require__(7066);\nvar stickyHelpers = __webpack_require__(2999);\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ 7066:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(9670);\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n\n/***/ 2999:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar fails = __webpack_require__(7293);\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\n\n/***/ }),\n\n/***/ 4488:\n/***/ (function(module) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ 3505:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar createNonEnumerableProperty = __webpack_require__(8880);\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n\n\n/***/ }),\n\n/***/ 6340:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(5005);\nvar definePropertyModule = __webpack_require__(3070);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar DESCRIPTORS = __webpack_require__(9781);\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n\n\n/***/ }),\n\n/***/ 8003:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(3070).f;\nvar has = __webpack_require__(6656);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n\n\n/***/ }),\n\n/***/ 6200:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar shared = __webpack_require__(2309);\nvar uid = __webpack_require__(9711);\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 5465:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar setGlobal = __webpack_require__(3505);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n\n/***/ 2309:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(1913);\nvar store = __webpack_require__(5465);\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.9.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 6707:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(9670);\nvar aFunction = __webpack_require__(3099);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n\n/***/ }),\n\n/***/ 8710:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(9958);\nvar requireObjectCoercible = __webpack_require__(4488);\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ 3197:\n/***/ (function(module) {\n\n\"use strict\";\n\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n\n/***/ }),\n\n/***/ 6091:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar fails = __webpack_require__(7293);\nvar whitespaces = __webpack_require__(1361);\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n\n\n/***/ }),\n\n/***/ 3111:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(4488);\nvar whitespaces = __webpack_require__(1361);\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n\n\n/***/ }),\n\n/***/ 1400:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(9958);\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n\n/***/ 7067:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(9958);\nvar toLength = __webpack_require__(7466);\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n\n\n/***/ }),\n\n/***/ 5656:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(8361);\nvar requireObjectCoercible = __webpack_require__(4488);\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n\n/***/ 9958:\n/***/ (function(module) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n/***/ }),\n\n/***/ 7466:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(9958);\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 7908:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(4488);\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ 4590:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toPositiveInteger = __webpack_require__(3002);\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n\n\n/***/ }),\n\n/***/ 3002:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(9958);\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n\n\n/***/ }),\n\n/***/ 7593:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(111);\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 1694:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n/***/ }),\n\n/***/ 9843:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar global = __webpack_require__(7854);\nvar DESCRIPTORS = __webpack_require__(9781);\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(3832);\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar ArrayBufferModule = __webpack_require__(3331);\nvar anInstance = __webpack_require__(5787);\nvar createPropertyDescriptor = __webpack_require__(9114);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar toLength = __webpack_require__(7466);\nvar toIndex = __webpack_require__(7067);\nvar toOffset = __webpack_require__(4590);\nvar toPrimitive = __webpack_require__(7593);\nvar has = __webpack_require__(6656);\nvar classof = __webpack_require__(648);\nvar isObject = __webpack_require__(111);\nvar create = __webpack_require__(30);\nvar setPrototypeOf = __webpack_require__(7674);\nvar getOwnPropertyNames = __webpack_require__(8006).f;\nvar typedArrayFrom = __webpack_require__(7321);\nvar forEach = __webpack_require__(2092).forEach;\nvar setSpecies = __webpack_require__(6340);\nvar definePropertyModule = __webpack_require__(3070);\nvar getOwnPropertyDescriptorModule = __webpack_require__(1236);\nvar InternalStateModule = __webpack_require__(9909);\nvar inheritIfRequired = __webpack_require__(9587);\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ 3832:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/* eslint-disable no-new -- required for testing */\nvar global = __webpack_require__(7854);\nvar fails = __webpack_require__(7293);\nvar checkCorrectnessOfIteration = __webpack_require__(7072);\nvar NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(260).NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n\n\n/***/ }),\n\n/***/ 3074:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar aTypedArrayConstructor = __webpack_require__(260).aTypedArrayConstructor;\nvar speciesConstructor = __webpack_require__(6707);\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\n\n/***/ }),\n\n/***/ 7321:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar toObject = __webpack_require__(7908);\nvar toLength = __webpack_require__(7466);\nvar getIteratorMethod = __webpack_require__(1246);\nvar isArrayIteratorMethod = __webpack_require__(7659);\nvar bind = __webpack_require__(9974);\nvar aTypedArrayConstructor = __webpack_require__(260).aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ 9711:\n/***/ (function(module) {\n\nvar id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n\n/***/ }),\n\n/***/ 3307:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar NATIVE_SYMBOL = __webpack_require__(133);\n\nmodule.exports = NATIVE_SYMBOL\n /* global Symbol -- safe */\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\n\n/***/ }),\n\n/***/ 5112:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar shared = __webpack_require__(2309);\nvar has = __webpack_require__(6656);\nvar uid = __webpack_require__(9711);\nvar NATIVE_SYMBOL = __webpack_require__(133);\nvar USE_SYMBOL_AS_UID = __webpack_require__(3307);\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n\n/***/ 1361:\n/***/ (function(module) {\n\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n\n/***/ 8264:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar global = __webpack_require__(7854);\nvar arrayBufferModule = __webpack_require__(3331);\nvar setSpecies = __webpack_require__(6340);\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n\n\n/***/ }),\n\n/***/ 2222:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar fails = __webpack_require__(7293);\nvar isArray = __webpack_require__(3157);\nvar isObject = __webpack_require__(111);\nvar toObject = __webpack_require__(7908);\nvar toLength = __webpack_require__(7466);\nvar createProperty = __webpack_require__(6135);\nvar arraySpeciesCreate = __webpack_require__(5417);\nvar arrayMethodHasSpeciesSupport = __webpack_require__(1194);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar V8_VERSION = __webpack_require__(7392);\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n\n/***/ }),\n\n/***/ 7327:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar $filter = __webpack_require__(2092).filter;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(1194);\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ 2772:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar $indexOf = __webpack_require__(1318).indexOf;\nvar arrayMethodIsStrict = __webpack_require__(9341);\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ 6992:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(5656);\nvar addToUnscopables = __webpack_require__(1223);\nvar Iterators = __webpack_require__(7497);\nvar InternalStateModule = __webpack_require__(9909);\nvar defineIterator = __webpack_require__(654);\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ 1249:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar $map = __webpack_require__(2092).map;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(1194);\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ 7042:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar isObject = __webpack_require__(111);\nvar isArray = __webpack_require__(3157);\nvar toAbsoluteIndex = __webpack_require__(1400);\nvar toLength = __webpack_require__(7466);\nvar toIndexedObject = __webpack_require__(5656);\nvar createProperty = __webpack_require__(6135);\nvar wellKnownSymbol = __webpack_require__(5112);\nvar arrayMethodHasSpeciesSupport = __webpack_require__(1194);\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n\n\n/***/ }),\n\n/***/ 561:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar toAbsoluteIndex = __webpack_require__(1400);\nvar toInteger = __webpack_require__(9958);\nvar toLength = __webpack_require__(7466);\nvar toObject = __webpack_require__(7908);\nvar arraySpeciesCreate = __webpack_require__(5417);\nvar createProperty = __webpack_require__(6135);\nvar arrayMethodHasSpeciesSupport = __webpack_require__(1194);\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n\n\n/***/ }),\n\n/***/ 8309:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(9781);\nvar defineProperty = __webpack_require__(3070).f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n\n\n/***/ }),\n\n/***/ 489:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\nvar $ = __webpack_require__(2109);\nvar fails = __webpack_require__(7293);\nvar toObject = __webpack_require__(7908);\nvar nativeGetPrototypeOf = __webpack_require__(9518);\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n\n\n/***/ }),\n\n/***/ 1539:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(1694);\nvar redefine = __webpack_require__(1320);\nvar toString = __webpack_require__(288);\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n\n/***/ }),\n\n/***/ 4916:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar exec = __webpack_require__(2261);\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n\n\n/***/ }),\n\n/***/ 9714:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefine = __webpack_require__(1320);\nvar anObject = __webpack_require__(9670);\nvar fails = __webpack_require__(7293);\nvar flags = __webpack_require__(7066);\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n\n\n/***/ }),\n\n/***/ 8783:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(8710).charAt;\nvar InternalStateModule = __webpack_require__(9909);\nvar defineIterator = __webpack_require__(654);\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ 4723:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);\nvar anObject = __webpack_require__(9670);\nvar toLength = __webpack_require__(7466);\nvar requireObjectCoercible = __webpack_require__(4488);\nvar advanceStringIndex = __webpack_require__(1530);\nvar regExpExec = __webpack_require__(7651);\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n/***/ }),\n\n/***/ 5306:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);\nvar anObject = __webpack_require__(9670);\nvar toLength = __webpack_require__(7466);\nvar toInteger = __webpack_require__(9958);\nvar requireObjectCoercible = __webpack_require__(4488);\nvar advanceStringIndex = __webpack_require__(1530);\nvar getSubstitution = __webpack_require__(647);\nvar regExpExec = __webpack_require__(7651);\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n\n\n/***/ }),\n\n/***/ 3123:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);\nvar isRegExp = __webpack_require__(7850);\nvar anObject = __webpack_require__(9670);\nvar requireObjectCoercible = __webpack_require__(4488);\nvar speciesConstructor = __webpack_require__(6707);\nvar advanceStringIndex = __webpack_require__(1530);\nvar toLength = __webpack_require__(7466);\nvar callRegExpExec = __webpack_require__(7651);\nvar regexpExec = __webpack_require__(2261);\nvar fails = __webpack_require__(7293);\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n\n\n/***/ }),\n\n/***/ 3210:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2109);\nvar $trim = __webpack_require__(3111).trim;\nvar forcedStringTrimMethod = __webpack_require__(6091);\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n\n\n/***/ }),\n\n/***/ 2990:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $copyWithin = __webpack_require__(1048);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 8927:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $every = __webpack_require__(2092).every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 3105:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $fill = __webpack_require__(1285);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n\n\n/***/ }),\n\n/***/ 5035:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $filter = __webpack_require__(2092).filter;\nvar fromSpeciesAndList = __webpack_require__(3074);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n\n\n/***/ }),\n\n/***/ 7174:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $findIndex = __webpack_require__(2092).findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 4345:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $find = __webpack_require__(2092).find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 2846:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $forEach = __webpack_require__(2092).forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 4731:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $includes = __webpack_require__(1318).includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 7209:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $indexOf = __webpack_require__(1318).indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 6319:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(7854);\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar ArrayIterators = __webpack_require__(6992);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n\n\n/***/ }),\n\n/***/ 8867:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n\n\n/***/ }),\n\n/***/ 7789:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $lastIndexOf = __webpack_require__(6583);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n\n\n/***/ }),\n\n/***/ 3739:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $map = __webpack_require__(2092).map;\nvar speciesConstructor = __webpack_require__(6707);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n\n\n/***/ }),\n\n/***/ 4483:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $reduceRight = __webpack_require__(3671).right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 9368:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $reduce = __webpack_require__(3671).left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 2056:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n\n\n/***/ }),\n\n/***/ 3462:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar toLength = __webpack_require__(7466);\nvar toOffset = __webpack_require__(4590);\nvar toObject = __webpack_require__(7908);\nvar fails = __webpack_require__(7293);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n /* global Int8Array -- safe */\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n\n\n/***/ }),\n\n/***/ 678:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar speciesConstructor = __webpack_require__(6707);\nvar fails = __webpack_require__(7293);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n /* global Int8Array -- safe */\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n\n\n/***/ }),\n\n/***/ 7462:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar $some = __webpack_require__(2092).some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ 3824:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n\n\n/***/ }),\n\n/***/ 5021:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar toLength = __webpack_require__(7466);\nvar toAbsoluteIndex = __webpack_require__(1400);\nvar speciesConstructor = __webpack_require__(6707);\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n\n\n/***/ }),\n\n/***/ 2974:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(7854);\nvar ArrayBufferViewCore = __webpack_require__(260);\nvar fails = __webpack_require__(7293);\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n\n\n/***/ }),\n\n/***/ 5016:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar exportTypedArrayMethod = __webpack_require__(260).exportTypedArrayMethod;\nvar fails = __webpack_require__(7293);\nvar global = __webpack_require__(7854);\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n\n\n/***/ }),\n\n/***/ 2472:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(9843);\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n\n/***/ 4747:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar DOMIterables = __webpack_require__(8324);\nvar forEach = __webpack_require__(8533);\nvar createNonEnumerableProperty = __webpack_require__(8880);\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n\n\n/***/ }),\n\n/***/ 3948:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\nvar global = __webpack_require__(7854);\nvar DOMIterables = __webpack_require__(8324);\nvar ArrayIteratorMethods = __webpack_require__(6992);\nvar createNonEnumerableProperty = __webpack_require__(8880);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n\n/***/ }),\n\n/***/ 1637:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\n__webpack_require__(6992);\nvar $ = __webpack_require__(2109);\nvar getBuiltIn = __webpack_require__(5005);\nvar USE_NATIVE_URL = __webpack_require__(590);\nvar redefine = __webpack_require__(1320);\nvar redefineAll = __webpack_require__(2248);\nvar setToStringTag = __webpack_require__(8003);\nvar createIteratorConstructor = __webpack_require__(4994);\nvar InternalStateModule = __webpack_require__(9909);\nvar anInstance = __webpack_require__(5787);\nvar hasOwn = __webpack_require__(6656);\nvar bind = __webpack_require__(9974);\nvar classof = __webpack_require__(648);\nvar anObject = __webpack_require__(9670);\nvar isObject = __webpack_require__(111);\nvar create = __webpack_require__(30);\nvar createPropertyDescriptor = __webpack_require__(9114);\nvar getIterator = __webpack_require__(8554);\nvar getIteratorMethod = __webpack_require__(1246);\nvar wellKnownSymbol = __webpack_require__(5112);\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n\n/***/ }),\n\n/***/ 285:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\n__webpack_require__(8783);\nvar $ = __webpack_require__(2109);\nvar DESCRIPTORS = __webpack_require__(9781);\nvar USE_NATIVE_URL = __webpack_require__(590);\nvar global = __webpack_require__(7854);\nvar defineProperties = __webpack_require__(6048);\nvar redefine = __webpack_require__(1320);\nvar anInstance = __webpack_require__(5787);\nvar has = __webpack_require__(6656);\nvar assign = __webpack_require__(1574);\nvar arrayFrom = __webpack_require__(8457);\nvar codeAt = __webpack_require__(8710).codeAt;\nvar toASCII = __webpack_require__(3197);\nvar setToStringTag = __webpack_require__(8003);\nvar URLSearchParamsModule = __webpack_require__(1637);\nvar InternalStateModule = __webpack_require__(9909);\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\t\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\t\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\u000A\\u000D]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/global */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.g = (function() {\n/******/ \t\t\tif (typeof globalThis === 'object') return globalThis;\n/******/ \t\t\ttry {\n/******/ \t\t\t\treturn this || new Function('return this')();\n/******/ \t\t\t} catch (e) {\n/******/ \t\t\t\tif (typeof window === 'object') return window;\n/******/ \t\t\t}\n/******/ \t\t})();\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n!function() {\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Dropzone\": function() { return /* reexport */ Dropzone; },\n \"default\": function() { return /* binding */ dropzone_dist; }\n});\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js\nvar es_array_concat = __webpack_require__(2222);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js\nvar es_array_filter = __webpack_require__(7327);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.index-of.js\nvar es_array_index_of = __webpack_require__(2772);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js\nvar es_array_iterator = __webpack_require__(6992);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js\nvar es_array_map = __webpack_require__(1249);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js\nvar es_array_slice = __webpack_require__(7042);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js\nvar es_array_splice = __webpack_require__(561);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.constructor.js\nvar es_array_buffer_constructor = __webpack_require__(8264);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js\nvar es_function_name = __webpack_require__(8309);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-prototype-of.js\nvar es_object_get_prototype_of = __webpack_require__(489);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js\nvar es_object_to_string = __webpack_require__(1539);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js\nvar es_regexp_exec = __webpack_require__(4916);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js\nvar es_regexp_to_string = __webpack_require__(9714);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js\nvar es_string_iterator = __webpack_require__(8783);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js\nvar es_string_match = __webpack_require__(4723);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js\nvar es_string_replace = __webpack_require__(5306);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js\nvar es_string_split = __webpack_require__(3123);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.trim.js\nvar es_string_trim = __webpack_require__(3210);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.uint8-array.js\nvar es_typed_array_uint8_array = __webpack_require__(2472);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.copy-within.js\nvar es_typed_array_copy_within = __webpack_require__(2990);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.every.js\nvar es_typed_array_every = __webpack_require__(8927);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.fill.js\nvar es_typed_array_fill = __webpack_require__(3105);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.filter.js\nvar es_typed_array_filter = __webpack_require__(5035);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find.js\nvar es_typed_array_find = __webpack_require__(4345);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find-index.js\nvar es_typed_array_find_index = __webpack_require__(7174);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.for-each.js\nvar es_typed_array_for_each = __webpack_require__(2846);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.includes.js\nvar es_typed_array_includes = __webpack_require__(4731);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.index-of.js\nvar es_typed_array_index_of = __webpack_require__(7209);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.iterator.js\nvar es_typed_array_iterator = __webpack_require__(6319);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.join.js\nvar es_typed_array_join = __webpack_require__(8867);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.last-index-of.js\nvar es_typed_array_last_index_of = __webpack_require__(7789);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.map.js\nvar es_typed_array_map = __webpack_require__(3739);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce.js\nvar es_typed_array_reduce = __webpack_require__(9368);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce-right.js\nvar es_typed_array_reduce_right = __webpack_require__(4483);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reverse.js\nvar es_typed_array_reverse = __webpack_require__(2056);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.set.js\nvar es_typed_array_set = __webpack_require__(3462);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.slice.js\nvar es_typed_array_slice = __webpack_require__(678);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.some.js\nvar es_typed_array_some = __webpack_require__(7462);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.sort.js\nvar es_typed_array_sort = __webpack_require__(3824);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.subarray.js\nvar es_typed_array_subarray = __webpack_require__(5021);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-locale-string.js\nvar es_typed_array_to_locale_string = __webpack_require__(2974);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-string.js\nvar es_typed_array_to_string = __webpack_require__(5016);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js\nvar web_dom_collections_for_each = __webpack_require__(4747);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js\nvar web_dom_collections_iterator = __webpack_require__(3948);\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js\nvar web_url = __webpack_require__(285);\n;// CONCATENATED MODULE: ./src/emitter.js\n\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// The Emitter class provides the ability to call `.on()` on Dropzone to listen\n// to events.\n// It is strongly based on component's emitter class, and I removed the\n// functionality because of the dependency hell with different frameworks.\nvar Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n }\n\n _createClass(Emitter, [{\n key: \"on\",\n value: // Add an event listener for given event\n function on(event, fn) {\n this._callbacks = this._callbacks || {}; // Create namespace for this event\n\n if (!this._callbacks[event]) {\n this._callbacks[event] = [];\n }\n\n this._callbacks[event].push(fn);\n\n return this;\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n this._callbacks = this._callbacks || {};\n var callbacks = this._callbacks[event];\n\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 if (callbacks) {\n var _iterator = _createForOfIteratorHelper(callbacks, true),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var callback = _step.value;\n callback.apply(this, args);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } // trigger a corresponding DOM event\n\n\n if (this.element) {\n this.element.dispatchEvent(this.makeEvent(\"dropzone:\" + event, {\n args: args\n }));\n }\n\n return this;\n }\n }, {\n key: \"makeEvent\",\n value: function makeEvent(eventName, detail) {\n var params = {\n bubbles: true,\n cancelable: true,\n detail: detail\n };\n\n if (typeof window.CustomEvent === \"function\") {\n return new CustomEvent(eventName, params);\n } else {\n // IE 11 support\n // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent\n var evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n } // Remove event listener for given event. If fn is not provided, all event\n // listeners for that event will be removed. If neither is provided, all\n // event listeners will be removed.\n\n }, {\n key: \"off\",\n value: function off(event, fn) {\n if (!this._callbacks || arguments.length === 0) {\n this._callbacks = {};\n return this;\n } // specific event\n\n\n var callbacks = this._callbacks[event];\n\n if (!callbacks) {\n return this;\n } // remove all handlers\n\n\n if (arguments.length === 1) {\n delete this._callbacks[event];\n return this;\n } // remove specific handler\n\n\n for (var i = 0; i < callbacks.length; i++) {\n var callback = callbacks[i];\n\n if (callback === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n return this;\n }\n }]);\n\n return Emitter;\n}();\n\n\n;// CONCATENATED MODULE: ./src/preview-template.html\n// Module\nvar code = \"
Check
Error
\";\n// Exports\n/* harmony default export */ var preview_template = (code);\n;// CONCATENATED MODULE: ./src/options.js\n\n\n\n\n\nfunction options_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = options_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction options_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return options_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return options_arrayLikeToArray(o, minLen); }\n\nfunction options_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\nvar defaultOptions = {\n /**\n * Has to be specified on elements other than form (or when the form\n * doesn't have an `action` attribute). You can also\n * provide a function that will be called with `files` and\n * must return the url (since `v3.12.0`)\n */\n url: null,\n\n /**\n * Can be changed to `\"put\"` if necessary. You can also provide a function\n * that will be called with `files` and must return the method (since `v3.12.0`).\n */\n method: \"post\",\n\n /**\n * Will be set on the XHRequest.\n */\n withCredentials: false,\n\n /**\n * The timeout for the XHR requests in milliseconds (since `v4.4.0`).\n * If set to null or 0, no timeout is going to be set.\n */\n timeout: null,\n\n /**\n * How many file uploads to process in parallel (See the\n * Enqueuing file uploads documentation section for more info)\n */\n parallelUploads: 2,\n\n /**\n * Whether to send multiple files in one request. If\n * this it set to true, then the fallback file input element will\n * have the `multiple` attribute as well. This option will\n * also trigger additional events (like `processingmultiple`). See the events\n * documentation section for more information.\n */\n uploadMultiple: false,\n\n /**\n * Whether you want files to be uploaded in chunks to your server. This can't be\n * used in combination with `uploadMultiple`.\n *\n * See [chunksUploaded](#config-chunksUploaded) for the callback to finalise an upload.\n */\n chunking: false,\n\n /**\n * If `chunking` is enabled, this defines whether **every** file should be chunked,\n * even if the file size is below chunkSize. This means, that the additional chunk\n * form data will be submitted and the `chunksUploaded` callback will be invoked.\n */\n forceChunking: false,\n\n /**\n * If `chunking` is `true`, then this defines the chunk size in bytes.\n */\n chunkSize: 2000000,\n\n /**\n * If `true`, the individual chunks of a file are being uploaded simultaneously.\n */\n parallelChunkUploads: false,\n\n /**\n * Whether a chunk should be retried if it fails.\n */\n retryChunks: false,\n\n /**\n * If `retryChunks` is true, how many times should it be retried.\n */\n retryChunksLimit: 3,\n\n /**\n * The maximum filesize (in bytes) that is allowed to be uploaded.\n */\n maxFilesize: 256,\n\n /**\n * The name of the file param that gets transferred.\n * **NOTE**: If you have the option `uploadMultiple` set to `true`, then\n * Dropzone will append `[]` to the name.\n */\n paramName: \"file\",\n\n /**\n * Whether thumbnails for images should be generated\n */\n createImageThumbnails: true,\n\n /**\n * In MB. When the filename exceeds this limit, the thumbnail will not be generated.\n */\n maxThumbnailFilesize: 10,\n\n /**\n * If `null`, the ratio of the image will be used to calculate it.\n */\n thumbnailWidth: 120,\n\n /**\n * The same as `thumbnailWidth`. If both are null, images will not be resized.\n */\n thumbnailHeight: 120,\n\n /**\n * How the images should be scaled down in case both, `thumbnailWidth` and `thumbnailHeight` are provided.\n * Can be either `contain` or `crop`.\n */\n thumbnailMethod: \"crop\",\n\n /**\n * If set, images will be resized to these dimensions before being **uploaded**.\n * If only one, `resizeWidth` **or** `resizeHeight` is provided, the original aspect\n * ratio of the file will be preserved.\n *\n * The `options.transformFile` function uses these options, so if the `transformFile` function\n * is overridden, these options don't do anything.\n */\n resizeWidth: null,\n\n /**\n * See `resizeWidth`.\n */\n resizeHeight: null,\n\n /**\n * The mime type of the resized image (before it gets uploaded to the server).\n * If `null` the original mime type will be used. To force jpeg, for example, use `image/jpeg`.\n * See `resizeWidth` for more information.\n */\n resizeMimeType: null,\n\n /**\n * The quality of the resized images. See `resizeWidth`.\n */\n resizeQuality: 0.8,\n\n /**\n * How the images should be scaled down in case both, `resizeWidth` and `resizeHeight` are provided.\n * Can be either `contain` or `crop`.\n */\n resizeMethod: \"contain\",\n\n /**\n * The base that is used to calculate the **displayed** filesize. You can\n * change this to 1024 if you would rather display kibibytes, mebibytes,\n * etc... 1024 is technically incorrect, because `1024 bytes` are `1 kibibyte`\n * not `1 kilobyte`. You can change this to `1024` if you don't care about\n * validity.\n */\n filesizeBase: 1000,\n\n /**\n * If not `null` defines how many files this Dropzone handles. If it exceeds,\n * the event `maxfilesexceeded` will be called. The dropzone element gets the\n * class `dz-max-files-reached` accordingly so you can provide visual\n * feedback.\n */\n maxFiles: null,\n\n /**\n * An optional object to send additional headers to the server. Eg:\n * `{ \"My-Awesome-Header\": \"header value\" }`\n */\n headers: null,\n\n /**\n * If `true`, the dropzone element itself will be clickable, if `false`\n * nothing will be clickable.\n *\n * You can also pass an HTML element, a CSS selector (for multiple elements)\n * or an array of those. In that case, all of those elements will trigger an\n * upload when clicked.\n */\n clickable: true,\n\n /**\n * Whether hidden files in directories should be ignored.\n */\n ignoreHiddenFiles: true,\n\n /**\n * The default implementation of `accept` checks the file's mime type or\n * extension against this list. This is a comma separated list of mime\n * types or file extensions.\n *\n * Eg.: `image/*,application/pdf,.psd`\n *\n * If the Dropzone is `clickable` this option will also be used as\n * [`accept`](https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept)\n * parameter on the hidden file input as well.\n */\n acceptedFiles: null,\n\n /**\n * **Deprecated!**\n * Use acceptedFiles instead.\n */\n acceptedMimeTypes: null,\n\n /**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call `myDropzone.processQueue()`.\n *\n * See the [enqueuing file uploads](#enqueuing-file-uploads) documentation\n * section for more information.\n */\n autoProcessQueue: true,\n\n /**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n autoQueue: true,\n\n /**\n * If `true`, this will add a link to every file preview to remove or cancel (if\n * already uploading) the file. The `dictCancelUpload`, `dictCancelUploadConfirmation`\n * and `dictRemoveFile` options are used for the wording.\n */\n addRemoveLinks: false,\n\n /**\n * Defines where to display the file previews – if `null` the\n * Dropzone element itself is used. Can be a plain `HTMLElement` or a CSS\n * selector. The element should have the `dropzone-previews` class so\n * the previews are displayed properly.\n */\n previewsContainer: null,\n\n /**\n * Set this to `true` if you don't want previews to be shown.\n */\n disablePreviews: false,\n\n /**\n * This is the element the hidden input field (which is used when clicking on the\n * dropzone to trigger file selection) will be appended to. This might\n * be important in case you use frameworks to switch the content of your page.\n *\n * Can be a selector string, or an element directly.\n */\n hiddenInputContainer: \"body\",\n\n /**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n capture: null,\n\n /**\n * **Deprecated**. Use `renameFile` instead.\n */\n renameFilename: null,\n\n /**\n * A function that is invoked before the file is uploaded to the server and renames the file.\n * This function gets the `File` as argument and can use the `file.name`. The actual name of the\n * file that gets used during the upload can be accessed through `file.upload.filename`.\n */\n renameFile: null,\n\n /**\n * If `true` the fallback will be forced. This is very useful to test your server\n * implementations first and make sure that everything works as\n * expected without dropzone if you experience problems, and to test\n * how your fallbacks will look.\n */\n forceFallback: false,\n\n /**\n * The text used before any files are dropped.\n */\n dictDefaultMessage: \"Drop files here to upload\",\n\n /**\n * The text that replaces the default message text it the browser is not supported.\n */\n dictFallbackMessage: \"Your browser does not support drag'n'drop file uploads.\",\n\n /**\n * The text that will be added before the fallback form.\n * If you provide a fallback element yourself, or if this option is `null` this will\n * be ignored.\n */\n dictFallbackText: \"Please use the fallback form below to upload your files like in the olden days.\",\n\n /**\n * If the filesize is too big.\n * `{{filesize}}` and `{{maxFilesize}}` will be replaced with the respective configuration values.\n */\n dictFileTooBig: \"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.\",\n\n /**\n * If the file doesn't match the file type.\n */\n dictInvalidFileType: \"You can't upload files of this type.\",\n\n /**\n * If the server response was invalid.\n * `{{statusCode}}` will be replaced with the servers status code.\n */\n dictResponseError: \"Server responded with {{statusCode}} code.\",\n\n /**\n * If `addRemoveLinks` is true, the text to be used for the cancel upload link.\n */\n dictCancelUpload: \"Cancel upload\",\n\n /**\n * The text that is displayed if an upload was manually canceled\n */\n dictUploadCanceled: \"Upload canceled.\",\n\n /**\n * If `addRemoveLinks` is true, the text to be used for confirmation when cancelling upload.\n */\n dictCancelUploadConfirmation: \"Are you sure you want to cancel this upload?\",\n\n /**\n * If `addRemoveLinks` is true, the text to be used to remove a file.\n */\n dictRemoveFile: \"Remove file\",\n\n /**\n * If this is not null, then the user will be prompted before removing a file.\n */\n dictRemoveFileConfirmation: null,\n\n /**\n * Displayed if `maxFiles` is st and exceeded.\n * The string `{{maxFiles}}` will be replaced by the configuration value.\n */\n dictMaxFilesExceeded: \"You can not upload any more files.\",\n\n /**\n * Allows you to translate the different units. Starting with `tb` for terabytes and going down to\n * `b` for bytes.\n */\n dictFileSizeUnits: {\n tb: \"TB\",\n gb: \"GB\",\n mb: \"MB\",\n kb: \"KB\",\n b: \"b\"\n },\n\n /**\n * Called when dropzone initialized\n * You can add event listeners here\n */\n init: function init() {},\n\n /**\n * Can be an **object** of additional parameters to transfer to the server, **or** a `Function`\n * that gets invoked with the `files`, `xhr` and, if it's a chunked upload, `chunk` arguments. In case\n * of a function, this needs to return a map.\n *\n * The default implementation does nothing for normal uploads, but adds relevant information for\n * chunked uploads.\n *\n * This is the same as adding hidden input fields in the form element.\n */\n params: function params(files, xhr, chunk) {\n if (chunk) {\n return {\n dzuuid: chunk.file.upload.uuid,\n dzchunkindex: chunk.index,\n dztotalfilesize: chunk.file.size,\n dzchunksize: this.options.chunkSize,\n dztotalchunkcount: chunk.file.upload.totalChunkCount,\n dzchunkbyteoffset: chunk.index * this.options.chunkSize\n };\n }\n },\n\n /**\n * A function that gets a [file](https://developer.mozilla.org/en-US/docs/DOM/File)\n * and a `done` function as parameters.\n *\n * If the done function is invoked without arguments, the file is \"accepted\" and will\n * be processed. If you pass an error message, the file is rejected, and the error\n * message will be displayed.\n * This function will not be called if the file is too big or doesn't match the mime types.\n */\n accept: function accept(file, done) {\n return done();\n },\n\n /**\n * The callback that will be invoked when all chunks have been uploaded for a file.\n * It gets the file for which the chunks have been uploaded as the first parameter,\n * and the `done` function as second. `done()` needs to be invoked when everything\n * needed to finish the upload process is done.\n */\n chunksUploaded: function chunksUploaded(file, done) {\n done();\n },\n\n /**\n * Gets called when the browser is not supported.\n * The default implementation shows the fallback input field and adds\n * a text.\n */\n fallback: function fallback() {\n // This code should pass in IE7... :(\n var messageElement;\n this.element.className = \"\".concat(this.element.className, \" dz-browser-not-supported\");\n\n var _iterator = options_createForOfIteratorHelper(this.element.getElementsByTagName(\"div\"), true),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n\n if (/(^| )dz-message($| )/.test(child.className)) {\n messageElement = child;\n child.className = \"dz-message\"; // Removes the 'dz-default' class\n\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!messageElement) {\n messageElement = Dropzone.createElement('
');\n this.element.appendChild(messageElement);\n }\n\n var span = messageElement.getElementsByTagName(\"span\")[0];\n\n if (span) {\n if (span.textContent != null) {\n span.textContent = this.options.dictFallbackMessage;\n } else if (span.innerText != null) {\n span.innerText = this.options.dictFallbackMessage;\n }\n }\n\n return this.element.appendChild(this.getFallbackForm());\n },\n\n /**\n * Gets called to calculate the thumbnail dimensions.\n *\n * It gets `file`, `width` and `height` (both may be `null`) as parameters and must return an object containing:\n *\n * - `srcWidth` & `srcHeight` (required)\n * - `trgWidth` & `trgHeight` (required)\n * - `srcX` & `srcY` (optional, default `0`)\n * - `trgX` & `trgY` (optional, default `0`)\n *\n * Those values are going to be used by `ctx.drawImage()`.\n */\n resize: function resize(file, width, height, resizeMethod) {\n var info = {\n srcX: 0,\n srcY: 0,\n srcWidth: file.width,\n srcHeight: file.height\n };\n var srcRatio = file.width / file.height; // Automatically calculate dimensions if not specified\n\n if (width == null && height == null) {\n width = info.srcWidth;\n height = info.srcHeight;\n } else if (width == null) {\n width = height * srcRatio;\n } else if (height == null) {\n height = width / srcRatio;\n } // Make sure images aren't upscaled\n\n\n width = Math.min(width, info.srcWidth);\n height = Math.min(height, info.srcHeight);\n var trgRatio = width / height;\n\n if (info.srcWidth > width || info.srcHeight > height) {\n // Image is bigger and needs rescaling\n if (resizeMethod === \"crop\") {\n if (srcRatio > trgRatio) {\n info.srcHeight = file.height;\n info.srcWidth = info.srcHeight * trgRatio;\n } else {\n info.srcWidth = file.width;\n info.srcHeight = info.srcWidth / trgRatio;\n }\n } else if (resizeMethod === \"contain\") {\n // Method 'contain'\n if (srcRatio > trgRatio) {\n height = width / srcRatio;\n } else {\n width = height * srcRatio;\n }\n } else {\n throw new Error(\"Unknown resizeMethod '\".concat(resizeMethod, \"'\"));\n }\n }\n\n info.srcX = (file.width - info.srcWidth) / 2;\n info.srcY = (file.height - info.srcHeight) / 2;\n info.trgWidth = width;\n info.trgHeight = height;\n return info;\n },\n\n /**\n * Can be used to transform the file (for example, resize an image if necessary).\n *\n * The default implementation uses `resizeWidth` and `resizeHeight` (if provided) and resizes\n * images according to those dimensions.\n *\n * Gets the `file` as the first parameter, and a `done()` function as the second, that needs\n * to be invoked with the file when the transformation is done.\n */\n transformFile: function transformFile(file, done) {\n if ((this.options.resizeWidth || this.options.resizeHeight) && file.type.match(/image.*/)) {\n return this.resizeImage(file, this.options.resizeWidth, this.options.resizeHeight, this.options.resizeMethod, done);\n } else {\n return done(file);\n }\n },\n\n /**\n * A string that contains the template used for each dropped\n * file. Change it to fulfill your needs but make sure to properly\n * provide all elements.\n *\n * If you want to use an actual HTML element instead of providing a String\n * as a config option, you could create a div with the id `tpl`,\n * put the template inside it and provide the element like this:\n *\n * document\n * .querySelector('#tpl')\n * .innerHTML\n *\n */\n previewTemplate: preview_template,\n\n /*\n Those functions register themselves to the events on init and handle all\n the user interface specific stuff. Overwriting them won't break the upload\n but can break the way it's displayed.\n You can overwrite them if you don't like the default behavior. If you just\n want to add an additional event handler, register it on the dropzone object\n and don't overwrite those options.\n */\n // Those are self explanatory and simply concern the DragnDrop.\n drop: function drop(e) {\n return this.element.classList.remove(\"dz-drag-hover\");\n },\n dragstart: function dragstart(e) {},\n dragend: function dragend(e) {\n return this.element.classList.remove(\"dz-drag-hover\");\n },\n dragenter: function dragenter(e) {\n return this.element.classList.add(\"dz-drag-hover\");\n },\n dragover: function dragover(e) {\n return this.element.classList.add(\"dz-drag-hover\");\n },\n dragleave: function dragleave(e) {\n return this.element.classList.remove(\"dz-drag-hover\");\n },\n paste: function paste(e) {},\n // Called whenever there are no files left in the dropzone anymore, and the\n // dropzone should be displayed as if in the initial state.\n reset: function reset() {\n return this.element.classList.remove(\"dz-started\");\n },\n // Called when a file is added to the queue\n // Receives `file`\n addedfile: function addedfile(file) {\n var _this = this;\n\n if (this.element === this.previewsContainer) {\n this.element.classList.add(\"dz-started\");\n }\n\n if (this.previewsContainer && !this.options.disablePreviews) {\n file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim());\n file.previewTemplate = file.previewElement; // Backwards compatibility\n\n this.previewsContainer.appendChild(file.previewElement);\n\n var _iterator2 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll(\"[data-dz-name]\"), true),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var node = _step2.value;\n node.textContent = file.name;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var _iterator3 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll(\"[data-dz-size]\"), true),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n node = _step3.value;\n node.innerHTML = this.filesize(file.size);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n if (this.options.addRemoveLinks) {\n file._removeLink = Dropzone.createElement(\"
\".concat(this.options.dictRemoveFile, \"\"));\n file.previewElement.appendChild(file._removeLink);\n }\n\n var removeFileEvent = function removeFileEvent(e) {\n e.preventDefault();\n e.stopPropagation();\n\n if (file.status === Dropzone.UPLOADING) {\n return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function () {\n return _this.removeFile(file);\n });\n } else {\n if (_this.options.dictRemoveFileConfirmation) {\n return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function () {\n return _this.removeFile(file);\n });\n } else {\n return _this.removeFile(file);\n }\n }\n };\n\n var _iterator4 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll(\"[data-dz-remove]\"), true),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var removeLink = _step4.value;\n removeLink.addEventListener(\"click\", removeFileEvent);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n },\n // Called whenever a file is removed.\n removedfile: function removedfile(file) {\n if (file.previewElement != null && file.previewElement.parentNode != null) {\n file.previewElement.parentNode.removeChild(file.previewElement);\n }\n\n return this._updateMaxFilesReachedClass();\n },\n // Called when a thumbnail has been generated\n // Receives `file` and `dataUrl`\n thumbnail: function thumbnail(file, dataUrl) {\n if (file.previewElement) {\n file.previewElement.classList.remove(\"dz-file-preview\");\n\n var _iterator5 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll(\"[data-dz-thumbnail]\"), true),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var thumbnailElement = _step5.value;\n thumbnailElement.alt = file.name;\n thumbnailElement.src = dataUrl;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return setTimeout(function () {\n return file.previewElement.classList.add(\"dz-image-preview\");\n }, 1);\n }\n },\n // Called whenever an error occurs\n // Receives `file` and `message`\n error: function error(file, message) {\n if (file.previewElement) {\n file.previewElement.classList.add(\"dz-error\");\n\n if (typeof message !== \"string\" && message.error) {\n message = message.error;\n }\n\n var _iterator6 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll(\"[data-dz-errormessage]\"), true),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var node = _step6.value;\n node.textContent = message;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n },\n errormultiple: function errormultiple() {},\n // Called when a file gets processed. Since there is a cue, not all added\n // files are processed immediately.\n // Receives `file`\n processing: function processing(file) {\n if (file.previewElement) {\n file.previewElement.classList.add(\"dz-processing\");\n\n if (file._removeLink) {\n return file._removeLink.innerHTML = this.options.dictCancelUpload;\n }\n }\n },\n processingmultiple: function processingmultiple() {},\n // Called whenever the upload progress gets updated.\n // Receives `file`, `progress` (percentage 0-100) and `bytesSent`.\n // To get the total number of bytes of the file, use `file.size`\n uploadprogress: function uploadprogress(file, progress, bytesSent) {\n if (file.previewElement) {\n var _iterator7 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll(\"[data-dz-uploadprogress]\"), true),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var node = _step7.value;\n node.nodeName === \"PROGRESS\" ? node.value = progress : node.style.width = \"\".concat(progress, \"%\");\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n },\n // Called whenever the total upload progress gets updated.\n // Called with totalUploadProgress (0-100), totalBytes and totalBytesSent\n totaluploadprogress: function totaluploadprogress() {},\n // Called just before the file is sent. Gets the `xhr` object as second\n // parameter, so you can modify it (for example to add a CSRF token) and a\n // `formData` object to add additional information.\n sending: function sending() {},\n sendingmultiple: function sendingmultiple() {},\n // When the complete upload is finished and successful\n // Receives `file`\n success: function success(file) {\n if (file.previewElement) {\n return file.previewElement.classList.add(\"dz-success\");\n }\n },\n successmultiple: function successmultiple() {},\n // When the upload is canceled.\n canceled: function canceled(file) {\n return this.emit(\"error\", file, this.options.dictUploadCanceled);\n },\n canceledmultiple: function canceledmultiple() {},\n // When the upload is finished, either with success or an error.\n // Receives `file`\n complete: function complete(file) {\n if (file._removeLink) {\n file._removeLink.innerHTML = this.options.dictRemoveFile;\n }\n\n if (file.previewElement) {\n return file.previewElement.classList.add(\"dz-complete\");\n }\n },\n completemultiple: function completemultiple() {},\n maxfilesexceeded: function maxfilesexceeded() {},\n maxfilesreached: function maxfilesreached() {},\n queuecomplete: function queuecomplete() {},\n addedfiles: function addedfiles() {}\n};\n/* harmony default export */ var src_options = (defaultOptions);\n;// CONCATENATED MODULE: ./src/dropzone.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction dropzone_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = dropzone_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction dropzone_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return dropzone_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return dropzone_arrayLikeToArray(o, minLen); }\n\nfunction dropzone_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction dropzone_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction dropzone_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); } }\n\nfunction dropzone_createClass(Constructor, protoProps, staticProps) { if (protoProps) dropzone_defineProperties(Constructor.prototype, protoProps); if (staticProps) dropzone_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar Dropzone = /*#__PURE__*/function (_Emitter) {\n _inherits(Dropzone, _Emitter);\n\n var _super = _createSuper(Dropzone);\n\n function Dropzone(el, options) {\n var _this;\n\n dropzone_classCallCheck(this, Dropzone);\n\n _this = _super.call(this);\n var fallback, left;\n _this.element = el; // For backwards compatibility since the version was in the prototype previously\n\n _this.version = Dropzone.version;\n _this.clickableElements = [];\n _this.listeners = [];\n _this.files = []; // All files\n\n if (typeof _this.element === \"string\") {\n _this.element = document.querySelector(_this.element);\n } // Not checking if instance of HTMLElement or Element since IE9 is extremely weird.\n\n\n if (!_this.element || _this.element.nodeType == null) {\n throw new Error(\"Invalid dropzone element.\");\n }\n\n if (_this.element.dropzone) {\n throw new Error(\"Dropzone already attached.\");\n } // Now add this dropzone to the instances.\n\n\n Dropzone.instances.push(_assertThisInitialized(_this)); // Put the dropzone inside the element itself.\n\n _this.element.dropzone = _assertThisInitialized(_this);\n var elementOptions = (left = Dropzone.optionsForElement(_this.element)) != null ? left : {};\n _this.options = Dropzone.extend({}, src_options, elementOptions, options != null ? options : {});\n _this.options.previewTemplate = _this.options.previewTemplate.replace(/\\n*/g, \"\"); // If the browser failed, just call the fallback and leave\n\n if (_this.options.forceFallback || !Dropzone.isBrowserSupported()) {\n return _possibleConstructorReturn(_this, _this.options.fallback.call(_assertThisInitialized(_this)));\n } // @options.url = @element.getAttribute \"action\" unless @options.url?\n\n\n if (_this.options.url == null) {\n _this.options.url = _this.element.getAttribute(\"action\");\n }\n\n if (!_this.options.url) {\n throw new Error(\"No URL provided.\");\n }\n\n if (_this.options.acceptedFiles && _this.options.acceptedMimeTypes) {\n throw new Error(\"You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.\");\n }\n\n if (_this.options.uploadMultiple && _this.options.chunking) {\n throw new Error(\"You cannot set both: uploadMultiple and chunking.\");\n } // Backwards compatibility\n\n\n if (_this.options.acceptedMimeTypes) {\n _this.options.acceptedFiles = _this.options.acceptedMimeTypes;\n delete _this.options.acceptedMimeTypes;\n } // Backwards compatibility\n\n\n if (_this.options.renameFilename != null) {\n _this.options.renameFile = function (file) {\n return _this.options.renameFilename.call(_assertThisInitialized(_this), file.name, file);\n };\n }\n\n if (typeof _this.options.method === \"string\") {\n _this.options.method = _this.options.method.toUpperCase();\n }\n\n if ((fallback = _this.getExistingFallback()) && fallback.parentNode) {\n // Remove the fallback\n fallback.parentNode.removeChild(fallback);\n } // Display previews in the previewsContainer element or the Dropzone element unless explicitly set to false\n\n\n if (_this.options.previewsContainer !== false) {\n if (_this.options.previewsContainer) {\n _this.previewsContainer = Dropzone.getElement(_this.options.previewsContainer, \"previewsContainer\");\n } else {\n _this.previewsContainer = _this.element;\n }\n }\n\n if (_this.options.clickable) {\n if (_this.options.clickable === true) {\n _this.clickableElements = [_this.element];\n } else {\n _this.clickableElements = Dropzone.getElements(_this.options.clickable, \"clickable\");\n }\n }\n\n _this.init();\n\n return _this;\n } // Returns all files that have been accepted\n\n\n dropzone_createClass(Dropzone, [{\n key: \"getAcceptedFiles\",\n value: function getAcceptedFiles() {\n return this.files.filter(function (file) {\n return file.accepted;\n }).map(function (file) {\n return file;\n });\n } // Returns all files that have been rejected\n // Not sure when that's going to be useful, but added for completeness.\n\n }, {\n key: \"getRejectedFiles\",\n value: function getRejectedFiles() {\n return this.files.filter(function (file) {\n return !file.accepted;\n }).map(function (file) {\n return file;\n });\n }\n }, {\n key: \"getFilesWithStatus\",\n value: function getFilesWithStatus(status) {\n return this.files.filter(function (file) {\n return file.status === status;\n }).map(function (file) {\n return file;\n });\n } // Returns all files that are in the queue\n\n }, {\n key: \"getQueuedFiles\",\n value: function getQueuedFiles() {\n return this.getFilesWithStatus(Dropzone.QUEUED);\n }\n }, {\n key: \"getUploadingFiles\",\n value: function getUploadingFiles() {\n return this.getFilesWithStatus(Dropzone.UPLOADING);\n }\n }, {\n key: \"getAddedFiles\",\n value: function getAddedFiles() {\n return this.getFilesWithStatus(Dropzone.ADDED);\n } // Files that are either queued or uploading\n\n }, {\n key: \"getActiveFiles\",\n value: function getActiveFiles() {\n return this.files.filter(function (file) {\n return file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED;\n }).map(function (file) {\n return file;\n });\n } // The function that gets called when Dropzone is initialized. You\n // can (and should) setup event listeners inside this function.\n\n }, {\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n // In case it isn't set already\n if (this.element.tagName === \"form\") {\n this.element.setAttribute(\"enctype\", \"multipart/form-data\");\n }\n\n if (this.element.classList.contains(\"dropzone\") && !this.element.querySelector(\".dz-message\")) {\n this.element.appendChild(Dropzone.createElement(\"
\")));\n }\n\n if (this.clickableElements.length) {\n var setupHiddenFileInput = function setupHiddenFileInput() {\n if (_this2.hiddenFileInput) {\n _this2.hiddenFileInput.parentNode.removeChild(_this2.hiddenFileInput);\n }\n\n _this2.hiddenFileInput = document.createElement(\"input\");\n\n _this2.hiddenFileInput.setAttribute(\"type\", \"file\");\n\n if (_this2.options.maxFiles === null || _this2.options.maxFiles > 1) {\n _this2.hiddenFileInput.setAttribute(\"multiple\", \"multiple\");\n }\n\n _this2.hiddenFileInput.className = \"dz-hidden-input\";\n\n if (_this2.options.acceptedFiles !== null) {\n _this2.hiddenFileInput.setAttribute(\"accept\", _this2.options.acceptedFiles);\n }\n\n if (_this2.options.capture !== null) {\n _this2.hiddenFileInput.setAttribute(\"capture\", _this2.options.capture);\n } // Making sure that no one can \"tab\" into this field.\n\n\n _this2.hiddenFileInput.setAttribute(\"tabindex\", \"-1\"); // Not setting `display=\"none\"` because some browsers don't accept clicks\n // on elements that aren't displayed.\n\n\n _this2.hiddenFileInput.style.visibility = \"hidden\";\n _this2.hiddenFileInput.style.position = \"absolute\";\n _this2.hiddenFileInput.style.top = \"0\";\n _this2.hiddenFileInput.style.left = \"0\";\n _this2.hiddenFileInput.style.height = \"0\";\n _this2.hiddenFileInput.style.width = \"0\";\n Dropzone.getElement(_this2.options.hiddenInputContainer, \"hiddenInputContainer\").appendChild(_this2.hiddenFileInput);\n\n _this2.hiddenFileInput.addEventListener(\"change\", function () {\n var files = _this2.hiddenFileInput.files;\n\n if (files.length) {\n var _iterator = dropzone_createForOfIteratorHelper(files, true),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var file = _step.value;\n\n _this2.addFile(file);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n _this2.emit(\"addedfiles\", files);\n\n setupHiddenFileInput();\n });\n };\n\n setupHiddenFileInput();\n }\n\n this.URL = window.URL !== null ? window.URL : window.webkitURL; // Setup all event listeners on the Dropzone object itself.\n // They're not in @setupEventListeners() because they shouldn't be removed\n // again when the dropzone gets disabled.\n\n var _iterator2 = dropzone_createForOfIteratorHelper(this.events, true),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var eventName = _step2.value;\n this.on(eventName, this.options[eventName]);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n this.on(\"uploadprogress\", function () {\n return _this2.updateTotalUploadProgress();\n });\n this.on(\"removedfile\", function () {\n return _this2.updateTotalUploadProgress();\n });\n this.on(\"canceled\", function (file) {\n return _this2.emit(\"complete\", file);\n }); // Emit a `queuecomplete` event if all files finished uploading.\n\n this.on(\"complete\", function (file) {\n if (_this2.getAddedFiles().length === 0 && _this2.getUploadingFiles().length === 0 && _this2.getQueuedFiles().length === 0) {\n // This needs to be deferred so that `queuecomplete` really triggers after `complete`\n return setTimeout(function () {\n return _this2.emit(\"queuecomplete\");\n }, 0);\n }\n });\n\n var containsFiles = function containsFiles(e) {\n if (e.dataTransfer.types) {\n // Because e.dataTransfer.types is an Object in\n // IE, we need to iterate like this instead of\n // using e.dataTransfer.types.some()\n for (var i = 0; i < e.dataTransfer.types.length; i++) {\n if (e.dataTransfer.types[i] === \"Files\") return true;\n }\n }\n\n return false;\n };\n\n var noPropagation = function noPropagation(e) {\n // If there are no files, we don't want to stop\n // propagation so we don't interfere with other\n // drag and drop behaviour.\n if (!containsFiles(e)) return;\n e.stopPropagation();\n\n if (e.preventDefault) {\n return e.preventDefault();\n } else {\n return e.returnValue = false;\n }\n }; // Create the listeners\n\n\n this.listeners = [{\n element: this.element,\n events: {\n dragstart: function dragstart(e) {\n return _this2.emit(\"dragstart\", e);\n },\n dragenter: function dragenter(e) {\n noPropagation(e);\n return _this2.emit(\"dragenter\", e);\n },\n dragover: function dragover(e) {\n // Makes it possible to drag files from chrome's download bar\n // http://stackoverflow.com/questions/19526430/drag-and-drop-file-uploads-from-chrome-downloads-bar\n // Try is required to prevent bug in Internet Explorer 11 (SCRIPT65535 exception)\n var efct;\n\n try {\n efct = e.dataTransfer.effectAllowed;\n } catch (error) {}\n\n e.dataTransfer.dropEffect = \"move\" === efct || \"linkMove\" === efct ? \"move\" : \"copy\";\n noPropagation(e);\n return _this2.emit(\"dragover\", e);\n },\n dragleave: function dragleave(e) {\n return _this2.emit(\"dragleave\", e);\n },\n drop: function drop(e) {\n noPropagation(e);\n return _this2.drop(e);\n },\n dragend: function dragend(e) {\n return _this2.emit(\"dragend\", e);\n }\n } // This is disabled right now, because the browsers don't implement it properly.\n // \"paste\": (e) =>\n // noPropagation e\n // @paste e\n\n }];\n this.clickableElements.forEach(function (clickableElement) {\n return _this2.listeners.push({\n element: clickableElement,\n events: {\n click: function click(evt) {\n // Only the actual dropzone or the message element should trigger file selection\n if (clickableElement !== _this2.element || evt.target === _this2.element || Dropzone.elementInside(evt.target, _this2.element.querySelector(\".dz-message\"))) {\n _this2.hiddenFileInput.click(); // Forward the click\n\n }\n\n return true;\n }\n }\n });\n });\n this.enable();\n return this.options.init.call(this);\n } // Not fully tested yet\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.disable();\n this.removeAllFiles(true);\n\n if (this.hiddenFileInput != null ? this.hiddenFileInput.parentNode : undefined) {\n this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);\n this.hiddenFileInput = null;\n }\n\n delete this.element.dropzone;\n return Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1);\n }\n }, {\n key: \"updateTotalUploadProgress\",\n value: function updateTotalUploadProgress() {\n var totalUploadProgress;\n var totalBytesSent = 0;\n var totalBytes = 0;\n var activeFiles = this.getActiveFiles();\n\n if (activeFiles.length) {\n var _iterator3 = dropzone_createForOfIteratorHelper(this.getActiveFiles(), true),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var file = _step3.value;\n totalBytesSent += file.upload.bytesSent;\n totalBytes += file.upload.total;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n totalUploadProgress = 100 * totalBytesSent / totalBytes;\n } else {\n totalUploadProgress = 100;\n }\n\n return this.emit(\"totaluploadprogress\", totalUploadProgress, totalBytes, totalBytesSent);\n } // @options.paramName can be a function taking one parameter rather than a string.\n // A parameter name for a file is obtained simply by calling this with an index number.\n\n }, {\n key: \"_getParamName\",\n value: function _getParamName(n) {\n if (typeof this.options.paramName === \"function\") {\n return this.options.paramName(n);\n } else {\n return \"\".concat(this.options.paramName).concat(this.options.uploadMultiple ? \"[\".concat(n, \"]\") : \"\");\n }\n } // If @options.renameFile is a function,\n // the function will be used to rename the file.name before appending it to the formData\n\n }, {\n key: \"_renameFile\",\n value: function _renameFile(file) {\n if (typeof this.options.renameFile !== \"function\") {\n return file.name;\n }\n\n return this.options.renameFile(file);\n } // Returns a form that can be used as fallback if the browser does not support DragnDrop\n //\n // If the dropzone is already a form, only the input field and button are returned. Otherwise a complete form element is provided.\n // This code has to pass in IE7 :(\n\n }, {\n key: \"getFallbackForm\",\n value: function getFallbackForm() {\n var existingFallback, form;\n\n if (existingFallback = this.getExistingFallback()) {\n return existingFallback;\n }\n\n var fieldsString = '
';\n\n if (this.options.dictFallbackText) {\n fieldsString += \"

\".concat(this.options.dictFallbackText, \"

\");\n }\n\n fieldsString += \"
\");\n var fields = Dropzone.createElement(fieldsString);\n\n if (this.element.tagName !== \"FORM\") {\n form = Dropzone.createElement(\"
\"));\n form.appendChild(fields);\n } else {\n // Make sure that the enctype and method attributes are set properly\n this.element.setAttribute(\"enctype\", \"multipart/form-data\");\n this.element.setAttribute(\"method\", this.options.method);\n }\n\n return form != null ? form : fields;\n } // Returns the fallback elements if they exist already\n //\n // This code has to pass in IE7 :(\n\n }, {\n key: \"getExistingFallback\",\n value: function getExistingFallback() {\n var getFallback = function getFallback(elements) {\n var _iterator4 = dropzone_createForOfIteratorHelper(elements, true),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var el = _step4.value;\n\n if (/(^| )fallback($| )/.test(el.className)) {\n return el;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n };\n\n for (var _i = 0, _arr = [\"div\", \"form\"]; _i < _arr.length; _i++) {\n var tagName = _arr[_i];\n var fallback;\n\n if (fallback = getFallback(this.element.getElementsByTagName(tagName))) {\n return fallback;\n }\n }\n } // Activates all listeners stored in @listeners\n\n }, {\n key: \"setupEventListeners\",\n value: function setupEventListeners() {\n return this.listeners.map(function (elementListeners) {\n return function () {\n var result = [];\n\n for (var event in elementListeners.events) {\n var listener = elementListeners.events[event];\n result.push(elementListeners.element.addEventListener(event, listener, false));\n }\n\n return result;\n }();\n });\n } // Deactivates all listeners stored in @listeners\n\n }, {\n key: \"removeEventListeners\",\n value: function removeEventListeners() {\n return this.listeners.map(function (elementListeners) {\n return function () {\n var result = [];\n\n for (var event in elementListeners.events) {\n var listener = elementListeners.events[event];\n result.push(elementListeners.element.removeEventListener(event, listener, false));\n }\n\n return result;\n }();\n });\n } // Removes all event listeners and cancels all files in the queue or being processed.\n\n }, {\n key: \"disable\",\n value: function disable() {\n var _this3 = this;\n\n this.clickableElements.forEach(function (element) {\n return element.classList.remove(\"dz-clickable\");\n });\n this.removeEventListeners();\n this.disabled = true;\n return this.files.map(function (file) {\n return _this3.cancelUpload(file);\n });\n }\n }, {\n key: \"enable\",\n value: function enable() {\n delete this.disabled;\n this.clickableElements.forEach(function (element) {\n return element.classList.add(\"dz-clickable\");\n });\n return this.setupEventListeners();\n } // Returns a nicely formatted filesize\n\n }, {\n key: \"filesize\",\n value: function filesize(size) {\n var selectedSize = 0;\n var selectedUnit = \"b\";\n\n if (size > 0) {\n var units = [\"tb\", \"gb\", \"mb\", \"kb\", \"b\"];\n\n for (var i = 0; i < units.length; i++) {\n var unit = units[i];\n var cutoff = Math.pow(this.options.filesizeBase, 4 - i) / 10;\n\n if (size >= cutoff) {\n selectedSize = size / Math.pow(this.options.filesizeBase, 4 - i);\n selectedUnit = unit;\n break;\n }\n }\n\n selectedSize = Math.round(10 * selectedSize) / 10; // Cutting of digits\n }\n\n return \"\".concat(selectedSize, \" \").concat(this.options.dictFileSizeUnits[selectedUnit]);\n } // Adds or removes the `dz-max-files-reached` class from the form.\n\n }, {\n key: \"_updateMaxFilesReachedClass\",\n value: function _updateMaxFilesReachedClass() {\n if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {\n if (this.getAcceptedFiles().length === this.options.maxFiles) {\n this.emit(\"maxfilesreached\", this.files);\n }\n\n return this.element.classList.add(\"dz-max-files-reached\");\n } else {\n return this.element.classList.remove(\"dz-max-files-reached\");\n }\n }\n }, {\n key: \"drop\",\n value: function drop(e) {\n if (!e.dataTransfer) {\n return;\n }\n\n this.emit(\"drop\", e); // Convert the FileList to an Array\n // This is necessary for IE11\n\n var files = [];\n\n for (var i = 0; i < e.dataTransfer.files.length; i++) {\n files[i] = e.dataTransfer.files[i];\n } // Even if it's a folder, files.length will contain the folders.\n\n\n if (files.length) {\n var items = e.dataTransfer.items;\n\n if (items && items.length && items[0].webkitGetAsEntry != null) {\n // The browser supports dropping of folders, so handle items instead of files\n this._addFilesFromItems(items);\n } else {\n this.handleFiles(files);\n }\n }\n\n this.emit(\"addedfiles\", files);\n }\n }, {\n key: \"paste\",\n value: function paste(e) {\n if (__guard__(e != null ? e.clipboardData : undefined, function (x) {\n return x.items;\n }) == null) {\n return;\n }\n\n this.emit(\"paste\", e);\n var items = e.clipboardData.items;\n\n if (items.length) {\n return this._addFilesFromItems(items);\n }\n }\n }, {\n key: \"handleFiles\",\n value: function handleFiles(files) {\n var _iterator5 = dropzone_createForOfIteratorHelper(files, true),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var file = _step5.value;\n this.addFile(file);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n } // When a folder is dropped (or files are pasted), items must be handled\n // instead of files.\n\n }, {\n key: \"_addFilesFromItems\",\n value: function _addFilesFromItems(items) {\n var _this4 = this;\n\n return function () {\n var result = [];\n\n var _iterator6 = dropzone_createForOfIteratorHelper(items, true),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var item = _step6.value;\n var entry;\n\n if (item.webkitGetAsEntry != null && (entry = item.webkitGetAsEntry())) {\n if (entry.isFile) {\n result.push(_this4.addFile(item.getAsFile()));\n } else if (entry.isDirectory) {\n // Append all files from that directory to files\n result.push(_this4._addFilesFromDirectory(entry, entry.name));\n } else {\n result.push(undefined);\n }\n } else if (item.getAsFile != null) {\n if (item.kind == null || item.kind === \"file\") {\n result.push(_this4.addFile(item.getAsFile()));\n } else {\n result.push(undefined);\n }\n } else {\n result.push(undefined);\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return result;\n }();\n } // Goes through the directory, and adds each file it finds recursively\n\n }, {\n key: \"_addFilesFromDirectory\",\n value: function _addFilesFromDirectory(directory, path) {\n var _this5 = this;\n\n var dirReader = directory.createReader();\n\n var errorHandler = function errorHandler(error) {\n return __guardMethod__(console, \"log\", function (o) {\n return o.log(error);\n });\n };\n\n var readEntries = function readEntries() {\n return dirReader.readEntries(function (entries) {\n if (entries.length > 0) {\n var _iterator7 = dropzone_createForOfIteratorHelper(entries, true),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var entry = _step7.value;\n\n if (entry.isFile) {\n entry.file(function (file) {\n if (_this5.options.ignoreHiddenFiles && file.name.substring(0, 1) === \".\") {\n return;\n }\n\n file.fullPath = \"\".concat(path, \"/\").concat(file.name);\n return _this5.addFile(file);\n });\n } else if (entry.isDirectory) {\n _this5._addFilesFromDirectory(entry, \"\".concat(path, \"/\").concat(entry.name));\n }\n } // Recursively call readEntries() again, since browser only handle\n // the first 100 entries.\n // See: https://developer.mozilla.org/en-US/docs/Web/API/DirectoryReader#readEntries\n\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n readEntries();\n }\n\n return null;\n }, errorHandler);\n };\n\n return readEntries();\n } // If `done()` is called without argument the file is accepted\n // If you call it with an error message, the file is rejected\n // (This allows for asynchronous validation)\n //\n // This function checks the filesize, and if the file.type passes the\n // `acceptedFiles` check.\n\n }, {\n key: \"accept\",\n value: function accept(file, done) {\n if (this.options.maxFilesize && file.size > this.options.maxFilesize * 1024 * 1024) {\n done(this.options.dictFileTooBig.replace(\"{{filesize}}\", Math.round(file.size / 1024 / 10.24) / 100).replace(\"{{maxFilesize}}\", this.options.maxFilesize));\n } else if (!Dropzone.isValidFile(file, this.options.acceptedFiles)) {\n done(this.options.dictInvalidFileType);\n } else if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {\n done(this.options.dictMaxFilesExceeded.replace(\"{{maxFiles}}\", this.options.maxFiles));\n this.emit(\"maxfilesexceeded\", file);\n } else {\n this.options.accept.call(this, file, done);\n }\n }\n }, {\n key: \"addFile\",\n value: function addFile(file) {\n var _this6 = this;\n\n file.upload = {\n uuid: Dropzone.uuidv4(),\n progress: 0,\n // Setting the total upload size to file.size for the beginning\n // It's actual different than the size to be transmitted.\n total: file.size,\n bytesSent: 0,\n filename: this._renameFile(file) // Not setting chunking information here, because the acutal data — and\n // thus the chunks — might change if `options.transformFile` is set\n // and does something to the data.\n\n };\n this.files.push(file);\n file.status = Dropzone.ADDED;\n this.emit(\"addedfile\", file);\n\n this._enqueueThumbnail(file);\n\n this.accept(file, function (error) {\n if (error) {\n file.accepted = false;\n\n _this6._errorProcessing([file], error); // Will set the file.status\n\n } else {\n file.accepted = true;\n\n if (_this6.options.autoQueue) {\n _this6.enqueueFile(file);\n } // Will set .accepted = true\n\n }\n\n _this6._updateMaxFilesReachedClass();\n });\n } // Wrapper for enqueueFile\n\n }, {\n key: \"enqueueFiles\",\n value: function enqueueFiles(files) {\n var _iterator8 = dropzone_createForOfIteratorHelper(files, true),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var file = _step8.value;\n this.enqueueFile(file);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return null;\n }\n }, {\n key: \"enqueueFile\",\n value: function enqueueFile(file) {\n var _this7 = this;\n\n if (file.status === Dropzone.ADDED && file.accepted === true) {\n file.status = Dropzone.QUEUED;\n\n if (this.options.autoProcessQueue) {\n return setTimeout(function () {\n return _this7.processQueue();\n }, 0); // Deferring the call\n }\n } else {\n throw new Error(\"This file can't be queued because it has already been processed or was rejected.\");\n }\n }\n }, {\n key: \"_enqueueThumbnail\",\n value: function _enqueueThumbnail(file) {\n var _this8 = this;\n\n if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {\n this._thumbnailQueue.push(file);\n\n return setTimeout(function () {\n return _this8._processThumbnailQueue();\n }, 0); // Deferring the call\n }\n }\n }, {\n key: \"_processThumbnailQueue\",\n value: function _processThumbnailQueue() {\n var _this9 = this;\n\n if (this._processingThumbnail || this._thumbnailQueue.length === 0) {\n return;\n }\n\n this._processingThumbnail = true;\n\n var file = this._thumbnailQueue.shift();\n\n return this.createThumbnail(file, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, true, function (dataUrl) {\n _this9.emit(\"thumbnail\", file, dataUrl);\n\n _this9._processingThumbnail = false;\n return _this9._processThumbnailQueue();\n });\n } // Can be called by the user to remove a file\n\n }, {\n key: \"removeFile\",\n value: function removeFile(file) {\n if (file.status === Dropzone.UPLOADING) {\n this.cancelUpload(file);\n }\n\n this.files = without(this.files, file);\n this.emit(\"removedfile\", file);\n\n if (this.files.length === 0) {\n return this.emit(\"reset\");\n }\n } // Removes all files that aren't currently processed from the list\n\n }, {\n key: \"removeAllFiles\",\n value: function removeAllFiles(cancelIfNecessary) {\n // Create a copy of files since removeFile() changes the @files array.\n if (cancelIfNecessary == null) {\n cancelIfNecessary = false;\n }\n\n var _iterator9 = dropzone_createForOfIteratorHelper(this.files.slice(), true),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var file = _step9.value;\n\n if (file.status !== Dropzone.UPLOADING || cancelIfNecessary) {\n this.removeFile(file);\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n return null;\n } // Resizes an image before it gets sent to the server. This function is the default behavior of\n // `options.transformFile` if `resizeWidth` or `resizeHeight` are set. The callback is invoked with\n // the resized blob.\n\n }, {\n key: \"resizeImage\",\n value: function resizeImage(file, width, height, resizeMethod, callback) {\n var _this10 = this;\n\n return this.createThumbnail(file, width, height, resizeMethod, true, function (dataUrl, canvas) {\n if (canvas == null) {\n // The image has not been resized\n return callback(file);\n } else {\n var resizeMimeType = _this10.options.resizeMimeType;\n\n if (resizeMimeType == null) {\n resizeMimeType = file.type;\n }\n\n var resizedDataURL = canvas.toDataURL(resizeMimeType, _this10.options.resizeQuality);\n\n if (resizeMimeType === \"image/jpeg\" || resizeMimeType === \"image/jpg\") {\n // Now add the original EXIF information\n resizedDataURL = ExifRestore.restore(file.dataURL, resizedDataURL);\n }\n\n return callback(Dropzone.dataURItoBlob(resizedDataURL));\n }\n });\n }\n }, {\n key: \"createThumbnail\",\n value: function createThumbnail(file, width, height, resizeMethod, fixOrientation, callback) {\n var _this11 = this;\n\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n file.dataURL = fileReader.result; // Don't bother creating a thumbnail for SVG images since they're vector\n\n if (file.type === \"image/svg+xml\") {\n if (callback != null) {\n callback(fileReader.result);\n }\n\n return;\n }\n\n _this11.createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback);\n };\n\n fileReader.readAsDataURL(file);\n } // `mockFile` needs to have these attributes:\n //\n // { name: 'name', size: 12345, imageUrl: '' }\n //\n // `callback` will be invoked when the image has been downloaded and displayed.\n // `crossOrigin` will be added to the `img` tag when accessing the file.\n\n }, {\n key: \"displayExistingFile\",\n value: function displayExistingFile(mockFile, imageUrl, callback, crossOrigin) {\n var _this12 = this;\n\n var resizeThumbnail = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n this.emit(\"addedfile\", mockFile);\n this.emit(\"complete\", mockFile);\n\n if (!resizeThumbnail) {\n this.emit(\"thumbnail\", mockFile, imageUrl);\n if (callback) callback();\n } else {\n var onDone = function onDone(thumbnail) {\n _this12.emit(\"thumbnail\", mockFile, thumbnail);\n\n if (callback) callback();\n };\n\n mockFile.dataURL = imageUrl;\n this.createThumbnailFromUrl(mockFile, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, this.options.fixOrientation, onDone, crossOrigin);\n }\n }\n }, {\n key: \"createThumbnailFromUrl\",\n value: function createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback, crossOrigin) {\n var _this13 = this;\n\n // Not using `new Image` here because of a bug in latest Chrome versions.\n // See https://github.com/enyo/dropzone/pull/226\n var img = document.createElement(\"img\");\n\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n } // fixOrientation is not needed anymore with browsers handling imageOrientation\n\n\n fixOrientation = getComputedStyle(document.body)[\"imageOrientation\"] == \"from-image\" ? false : fixOrientation;\n\n img.onload = function () {\n var loadExif = function loadExif(callback) {\n return callback(1);\n };\n\n if (typeof EXIF !== \"undefined\" && EXIF !== null && fixOrientation) {\n loadExif = function loadExif(callback) {\n return EXIF.getData(img, function () {\n return callback(EXIF.getTag(this, \"Orientation\"));\n });\n };\n }\n\n return loadExif(function (orientation) {\n file.width = img.width;\n file.height = img.height;\n\n var resizeInfo = _this13.options.resize.call(_this13, file, width, height, resizeMethod);\n\n var canvas = document.createElement(\"canvas\");\n var ctx = canvas.getContext(\"2d\");\n canvas.width = resizeInfo.trgWidth;\n canvas.height = resizeInfo.trgHeight;\n\n if (orientation > 4) {\n canvas.width = resizeInfo.trgHeight;\n canvas.height = resizeInfo.trgWidth;\n }\n\n switch (orientation) {\n case 2:\n // horizontal flip\n ctx.translate(canvas.width, 0);\n ctx.scale(-1, 1);\n break;\n\n case 3:\n // 180° rotate left\n ctx.translate(canvas.width, canvas.height);\n ctx.rotate(Math.PI);\n break;\n\n case 4:\n // vertical flip\n ctx.translate(0, canvas.height);\n ctx.scale(1, -1);\n break;\n\n case 5:\n // vertical flip + 90 rotate right\n ctx.rotate(0.5 * Math.PI);\n ctx.scale(1, -1);\n break;\n\n case 6:\n // 90° rotate right\n ctx.rotate(0.5 * Math.PI);\n ctx.translate(0, -canvas.width);\n break;\n\n case 7:\n // horizontal flip + 90 rotate right\n ctx.rotate(0.5 * Math.PI);\n ctx.translate(canvas.height, -canvas.width);\n ctx.scale(-1, 1);\n break;\n\n case 8:\n // 90° rotate left\n ctx.rotate(-0.5 * Math.PI);\n ctx.translate(-canvas.height, 0);\n break;\n } // This is a bugfix for iOS' scaling bug.\n\n\n drawImageIOSFix(ctx, img, resizeInfo.srcX != null ? resizeInfo.srcX : 0, resizeInfo.srcY != null ? resizeInfo.srcY : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, resizeInfo.trgX != null ? resizeInfo.trgX : 0, resizeInfo.trgY != null ? resizeInfo.trgY : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);\n var thumbnail = canvas.toDataURL(\"image/png\");\n\n if (callback != null) {\n return callback(thumbnail, canvas);\n }\n });\n };\n\n if (callback != null) {\n img.onerror = callback;\n }\n\n return img.src = file.dataURL;\n } // Goes through the queue and processes files if there aren't too many already.\n\n }, {\n key: \"processQueue\",\n value: function processQueue() {\n var parallelUploads = this.options.parallelUploads;\n var processingLength = this.getUploadingFiles().length;\n var i = processingLength; // There are already at least as many files uploading than should be\n\n if (processingLength >= parallelUploads) {\n return;\n }\n\n var queuedFiles = this.getQueuedFiles();\n\n if (!(queuedFiles.length > 0)) {\n return;\n }\n\n if (this.options.uploadMultiple) {\n // The files should be uploaded in one request\n return this.processFiles(queuedFiles.slice(0, parallelUploads - processingLength));\n } else {\n while (i < parallelUploads) {\n if (!queuedFiles.length) {\n return;\n } // Nothing left to process\n\n\n this.processFile(queuedFiles.shift());\n i++;\n }\n }\n } // Wrapper for `processFiles`\n\n }, {\n key: \"processFile\",\n value: function processFile(file) {\n return this.processFiles([file]);\n } // Loads the file, then calls finishedLoading()\n\n }, {\n key: \"processFiles\",\n value: function processFiles(files) {\n var _iterator10 = dropzone_createForOfIteratorHelper(files, true),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var file = _step10.value;\n file.processing = true; // Backwards compatibility\n\n file.status = Dropzone.UPLOADING;\n this.emit(\"processing\", file);\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n if (this.options.uploadMultiple) {\n this.emit(\"processingmultiple\", files);\n }\n\n return this.uploadFiles(files);\n }\n }, {\n key: \"_getFilesWithXhr\",\n value: function _getFilesWithXhr(xhr) {\n var files;\n return files = this.files.filter(function (file) {\n return file.xhr === xhr;\n }).map(function (file) {\n return file;\n });\n } // Cancels the file upload and sets the status to CANCELED\n // **if** the file is actually being uploaded.\n // If it's still in the queue, the file is being removed from it and the status\n // set to CANCELED.\n\n }, {\n key: \"cancelUpload\",\n value: function cancelUpload(file) {\n if (file.status === Dropzone.UPLOADING) {\n var groupedFiles = this._getFilesWithXhr(file.xhr);\n\n var _iterator11 = dropzone_createForOfIteratorHelper(groupedFiles, true),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var groupedFile = _step11.value;\n groupedFile.status = Dropzone.CANCELED;\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n if (typeof file.xhr !== \"undefined\") {\n file.xhr.abort();\n }\n\n var _iterator12 = dropzone_createForOfIteratorHelper(groupedFiles, true),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var _groupedFile = _step12.value;\n this.emit(\"canceled\", _groupedFile);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n if (this.options.uploadMultiple) {\n this.emit(\"canceledmultiple\", groupedFiles);\n }\n } else if (file.status === Dropzone.ADDED || file.status === Dropzone.QUEUED) {\n file.status = Dropzone.CANCELED;\n this.emit(\"canceled\", file);\n\n if (this.options.uploadMultiple) {\n this.emit(\"canceledmultiple\", [file]);\n }\n }\n\n if (this.options.autoProcessQueue) {\n return this.processQueue();\n }\n }\n }, {\n key: \"resolveOption\",\n value: function resolveOption(option) {\n if (typeof option === \"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 option.apply(this, args);\n }\n\n return option;\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(file) {\n return this.uploadFiles([file]);\n }\n }, {\n key: \"uploadFiles\",\n value: function uploadFiles(files) {\n var _this14 = this;\n\n this._transformFiles(files, function (transformedFiles) {\n if (_this14.options.chunking) {\n // Chunking is not allowed to be used with `uploadMultiple` so we know\n // that there is only __one__file.\n var transformedFile = transformedFiles[0];\n files[0].upload.chunked = _this14.options.chunking && (_this14.options.forceChunking || transformedFile.size > _this14.options.chunkSize);\n files[0].upload.totalChunkCount = Math.ceil(transformedFile.size / _this14.options.chunkSize);\n }\n\n if (files[0].upload.chunked) {\n // This file should be sent in chunks!\n // If the chunking option is set, we **know** that there can only be **one** file, since\n // uploadMultiple is not allowed with this option.\n var file = files[0];\n var _transformedFile = transformedFiles[0];\n var startedChunkCount = 0;\n file.upload.chunks = [];\n\n var handleNextChunk = function handleNextChunk() {\n var chunkIndex = 0; // Find the next item in file.upload.chunks that is not defined yet.\n\n while (file.upload.chunks[chunkIndex] !== undefined) {\n chunkIndex++;\n } // This means, that all chunks have already been started.\n\n\n if (chunkIndex >= file.upload.totalChunkCount) return;\n startedChunkCount++;\n var start = chunkIndex * _this14.options.chunkSize;\n var end = Math.min(start + _this14.options.chunkSize, _transformedFile.size);\n var dataBlock = {\n name: _this14._getParamName(0),\n data: _transformedFile.webkitSlice ? _transformedFile.webkitSlice(start, end) : _transformedFile.slice(start, end),\n filename: file.upload.filename,\n chunkIndex: chunkIndex\n };\n file.upload.chunks[chunkIndex] = {\n file: file,\n index: chunkIndex,\n dataBlock: dataBlock,\n // In case we want to retry.\n status: Dropzone.UPLOADING,\n progress: 0,\n retries: 0 // The number of times this block has been retried.\n\n };\n\n _this14._uploadData(files, [dataBlock]);\n };\n\n file.upload.finishedChunkUpload = function (chunk, response) {\n var allFinished = true;\n chunk.status = Dropzone.SUCCESS; // Clear the data from the chunk\n\n chunk.dataBlock = null; // Leaving this reference to xhr intact here will cause memory leaks in some browsers\n\n chunk.xhr = null;\n\n for (var i = 0; i < file.upload.totalChunkCount; i++) {\n if (file.upload.chunks[i] === undefined) {\n return handleNextChunk();\n }\n\n if (file.upload.chunks[i].status !== Dropzone.SUCCESS) {\n allFinished = false;\n }\n }\n\n if (allFinished) {\n _this14.options.chunksUploaded(file, function () {\n _this14._finished(files, response, null);\n });\n }\n };\n\n if (_this14.options.parallelChunkUploads) {\n for (var i = 0; i < file.upload.totalChunkCount; i++) {\n handleNextChunk();\n }\n } else {\n handleNextChunk();\n }\n } else {\n var dataBlocks = [];\n\n for (var _i2 = 0; _i2 < files.length; _i2++) {\n dataBlocks[_i2] = {\n name: _this14._getParamName(_i2),\n data: transformedFiles[_i2],\n filename: files[_i2].upload.filename\n };\n }\n\n _this14._uploadData(files, dataBlocks);\n }\n });\n } /// Returns the right chunk for given file and xhr\n\n }, {\n key: \"_getChunk\",\n value: function _getChunk(file, xhr) {\n for (var i = 0; i < file.upload.totalChunkCount; i++) {\n if (file.upload.chunks[i] !== undefined && file.upload.chunks[i].xhr === xhr) {\n return file.upload.chunks[i];\n }\n }\n } // This function actually uploads the file(s) to the server.\n // If dataBlocks contains the actual data to upload (meaning, that this could either be transformed\n // files, or individual chunks for chunked upload).\n\n }, {\n key: \"_uploadData\",\n value: function _uploadData(files, dataBlocks) {\n var _this15 = this;\n\n var xhr = new XMLHttpRequest(); // Put the xhr object in the file objects to be able to reference it later.\n\n var _iterator13 = dropzone_createForOfIteratorHelper(files, true),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var file = _step13.value;\n file.xhr = xhr;\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n if (files[0].upload.chunked) {\n // Put the xhr object in the right chunk object, so it can be associated later, and found with _getChunk\n files[0].upload.chunks[dataBlocks[0].chunkIndex].xhr = xhr;\n }\n\n var method = this.resolveOption(this.options.method, files);\n var url = this.resolveOption(this.options.url, files);\n xhr.open(method, url, true); // Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\n var timeout = this.resolveOption(this.options.timeout, files);\n if (timeout) xhr.timeout = this.resolveOption(this.options.timeout, files); // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n\n xhr.withCredentials = !!this.options.withCredentials;\n\n xhr.onload = function (e) {\n _this15._finishedUploading(files, xhr, e);\n };\n\n xhr.ontimeout = function () {\n _this15._handleUploadError(files, xhr, \"Request timedout after \".concat(_this15.options.timeout / 1000, \" seconds\"));\n };\n\n xhr.onerror = function () {\n _this15._handleUploadError(files, xhr);\n }; // Some browsers do not have the .upload property\n\n\n var progressObj = xhr.upload != null ? xhr.upload : xhr;\n\n progressObj.onprogress = function (e) {\n return _this15._updateFilesUploadProgress(files, xhr, e);\n };\n\n var headers = {\n Accept: \"application/json\",\n \"Cache-Control\": \"no-cache\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n };\n\n if (this.options.headers) {\n Dropzone.extend(headers, this.options.headers);\n }\n\n for (var headerName in headers) {\n var headerValue = headers[headerName];\n\n if (headerValue) {\n xhr.setRequestHeader(headerName, headerValue);\n }\n }\n\n var formData = new FormData(); // Adding all @options parameters\n\n if (this.options.params) {\n var additionalParams = this.options.params;\n\n if (typeof additionalParams === \"function\") {\n additionalParams = additionalParams.call(this, files, xhr, files[0].upload.chunked ? this._getChunk(files[0], xhr) : null);\n }\n\n for (var key in additionalParams) {\n var value = additionalParams[key];\n\n if (Array.isArray(value)) {\n // The additional parameter contains an array,\n // so lets iterate over it to attach each value\n // individually.\n for (var i = 0; i < value.length; i++) {\n formData.append(key, value[i]);\n }\n } else {\n formData.append(key, value);\n }\n }\n } // Let the user add additional data if necessary\n\n\n var _iterator14 = dropzone_createForOfIteratorHelper(files, true),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var _file = _step14.value;\n this.emit(\"sending\", _file, xhr, formData);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n if (this.options.uploadMultiple) {\n this.emit(\"sendingmultiple\", files, xhr, formData);\n }\n\n this._addFormElementData(formData); // Finally add the files\n // Has to be last because some servers (eg: S3) expect the file to be the last parameter\n\n\n for (var _i3 = 0; _i3 < dataBlocks.length; _i3++) {\n var dataBlock = dataBlocks[_i3];\n formData.append(dataBlock.name, dataBlock.data, dataBlock.filename);\n }\n\n this.submitRequest(xhr, formData, files);\n } // Transforms all files with this.options.transformFile and invokes done with the transformed files when done.\n\n }, {\n key: \"_transformFiles\",\n value: function _transformFiles(files, done) {\n var _this16 = this;\n\n var transformedFiles = []; // Clumsy way of handling asynchronous calls, until I get to add a proper Future library.\n\n var doneCounter = 0;\n\n var _loop = function _loop(i) {\n _this16.options.transformFile.call(_this16, files[i], function (transformedFile) {\n transformedFiles[i] = transformedFile;\n\n if (++doneCounter === files.length) {\n done(transformedFiles);\n }\n });\n };\n\n for (var i = 0; i < files.length; i++) {\n _loop(i);\n }\n } // Takes care of adding other input elements of the form to the AJAX request\n\n }, {\n key: \"_addFormElementData\",\n value: function _addFormElementData(formData) {\n // Take care of other input elements\n if (this.element.tagName === \"FORM\") {\n var _iterator15 = dropzone_createForOfIteratorHelper(this.element.querySelectorAll(\"input, textarea, select, button\"), true),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var input = _step15.value;\n var inputName = input.getAttribute(\"name\");\n var inputType = input.getAttribute(\"type\");\n if (inputType) inputType = inputType.toLowerCase(); // If the input doesn't have a name, we can't use it.\n\n if (typeof inputName === \"undefined\" || inputName === null) continue;\n\n if (input.tagName === \"SELECT\" && input.hasAttribute(\"multiple\")) {\n // Possibly multiple values\n var _iterator16 = dropzone_createForOfIteratorHelper(input.options, true),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var option = _step16.value;\n\n if (option.selected) {\n formData.append(inputName, option.value);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n } else if (!inputType || inputType !== \"checkbox\" && inputType !== \"radio\" || input.checked) {\n formData.append(inputName, input.value);\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n }\n } // Invoked when there is new progress information about given files.\n // If e is not provided, it is assumed that the upload is finished.\n\n }, {\n key: \"_updateFilesUploadProgress\",\n value: function _updateFilesUploadProgress(files, xhr, e) {\n if (!files[0].upload.chunked) {\n // Handle file uploads without chunking\n var _iterator17 = dropzone_createForOfIteratorHelper(files, true),\n _step17;\n\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n var file = _step17.value;\n\n if (file.upload.total && file.upload.bytesSent && file.upload.bytesSent == file.upload.total) {\n // If both, the `total` and `bytesSent` have already been set, and\n // they are equal (meaning progress is at 100%), we can skip this\n // file, since an upload progress shouldn't go down.\n continue;\n }\n\n if (e) {\n file.upload.progress = 100 * e.loaded / e.total;\n file.upload.total = e.total;\n file.upload.bytesSent = e.loaded;\n } else {\n // No event, so we're at 100%\n file.upload.progress = 100;\n file.upload.bytesSent = file.upload.total;\n }\n\n this.emit(\"uploadprogress\", file, file.upload.progress, file.upload.bytesSent);\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n } else {\n // Handle chunked file uploads\n // Chunked upload is not compatible with uploading multiple files in one\n // request, so we know there's only one file.\n var _file2 = files[0]; // Since this is a chunked upload, we need to update the appropriate chunk\n // progress.\n\n var chunk = this._getChunk(_file2, xhr);\n\n if (e) {\n chunk.progress = 100 * e.loaded / e.total;\n chunk.total = e.total;\n chunk.bytesSent = e.loaded;\n } else {\n // No event, so we're at 100%\n chunk.progress = 100;\n chunk.bytesSent = chunk.total;\n } // Now tally the *file* upload progress from its individual chunks\n\n\n _file2.upload.progress = 0;\n _file2.upload.total = 0;\n _file2.upload.bytesSent = 0;\n\n for (var i = 0; i < _file2.upload.totalChunkCount; i++) {\n if (_file2.upload.chunks[i] && typeof _file2.upload.chunks[i].progress !== \"undefined\") {\n _file2.upload.progress += _file2.upload.chunks[i].progress;\n _file2.upload.total += _file2.upload.chunks[i].total;\n _file2.upload.bytesSent += _file2.upload.chunks[i].bytesSent;\n }\n } // Since the process is a percentage, we need to divide by the amount of\n // chunks we've used.\n\n\n _file2.upload.progress = _file2.upload.progress / _file2.upload.totalChunkCount;\n this.emit(\"uploadprogress\", _file2, _file2.upload.progress, _file2.upload.bytesSent);\n }\n }\n }, {\n key: \"_finishedUploading\",\n value: function _finishedUploading(files, xhr, e) {\n var response;\n\n if (files[0].status === Dropzone.CANCELED) {\n return;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (xhr.responseType !== \"arraybuffer\" && xhr.responseType !== \"blob\") {\n response = xhr.responseText;\n\n if (xhr.getResponseHeader(\"content-type\") && ~xhr.getResponseHeader(\"content-type\").indexOf(\"application/json\")) {\n try {\n response = JSON.parse(response);\n } catch (error) {\n e = error;\n response = \"Invalid JSON response from server.\";\n }\n }\n }\n\n this._updateFilesUploadProgress(files, xhr);\n\n if (!(200 <= xhr.status && xhr.status < 300)) {\n this._handleUploadError(files, xhr, response);\n } else {\n if (files[0].upload.chunked) {\n files[0].upload.finishedChunkUpload(this._getChunk(files[0], xhr), response);\n } else {\n this._finished(files, response, e);\n }\n }\n }\n }, {\n key: \"_handleUploadError\",\n value: function _handleUploadError(files, xhr, response) {\n if (files[0].status === Dropzone.CANCELED) {\n return;\n }\n\n if (files[0].upload.chunked && this.options.retryChunks) {\n var chunk = this._getChunk(files[0], xhr);\n\n if (chunk.retries++ < this.options.retryChunksLimit) {\n this._uploadData(files, [chunk.dataBlock]);\n\n return;\n } else {\n console.warn(\"Retried this chunk too often. Giving up.\");\n }\n }\n\n this._errorProcessing(files, response || this.options.dictResponseError.replace(\"{{statusCode}}\", xhr.status), xhr);\n }\n }, {\n key: \"submitRequest\",\n value: function submitRequest(xhr, formData, files) {\n if (xhr.readyState != 1) {\n console.warn(\"Cannot send this request because the XMLHttpRequest.readyState is not OPENED.\");\n return;\n }\n\n xhr.send(formData);\n } // Called internally when processing is finished.\n // Individual callbacks have to be called in the appropriate sections.\n\n }, {\n key: \"_finished\",\n value: function _finished(files, responseText, e) {\n var _iterator18 = dropzone_createForOfIteratorHelper(files, true),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var file = _step18.value;\n file.status = Dropzone.SUCCESS;\n this.emit(\"success\", file, responseText, e);\n this.emit(\"complete\", file);\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n\n if (this.options.uploadMultiple) {\n this.emit(\"successmultiple\", files, responseText, e);\n this.emit(\"completemultiple\", files);\n }\n\n if (this.options.autoProcessQueue) {\n return this.processQueue();\n }\n } // Called internally when processing is finished.\n // Individual callbacks have to be called in the appropriate sections.\n\n }, {\n key: \"_errorProcessing\",\n value: function _errorProcessing(files, message, xhr) {\n var _iterator19 = dropzone_createForOfIteratorHelper(files, true),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var file = _step19.value;\n file.status = Dropzone.ERROR;\n this.emit(\"error\", file, message, xhr);\n this.emit(\"complete\", file);\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n if (this.options.uploadMultiple) {\n this.emit(\"errormultiple\", files, message, xhr);\n this.emit(\"completemultiple\", files);\n }\n\n if (this.options.autoProcessQueue) {\n return this.processQueue();\n }\n }\n }], [{\n key: \"initClass\",\n value: function initClass() {\n // Exposing the emitter class, mainly for tests\n this.prototype.Emitter = Emitter;\n /*\n This is a list of all available events you can register on a dropzone object.\n You can register an event handler like this:\n dropzone.on(\"dragEnter\", function() { });\n */\n\n this.prototype.events = [\"drop\", \"dragstart\", \"dragend\", \"dragenter\", \"dragover\", \"dragleave\", \"addedfile\", \"addedfiles\", \"removedfile\", \"thumbnail\", \"error\", \"errormultiple\", \"processing\", \"processingmultiple\", \"uploadprogress\", \"totaluploadprogress\", \"sending\", \"sendingmultiple\", \"success\", \"successmultiple\", \"canceled\", \"canceledmultiple\", \"complete\", \"completemultiple\", \"reset\", \"maxfilesexceeded\", \"maxfilesreached\", \"queuecomplete\"];\n this.prototype._thumbnailQueue = [];\n this.prototype._processingThumbnail = false;\n } // global utility\n\n }, {\n key: \"extend\",\n value: function extend(target) {\n for (var _len2 = arguments.length, objects = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n objects[_key2 - 1] = arguments[_key2];\n }\n\n for (var _i4 = 0, _objects = objects; _i4 < _objects.length; _i4++) {\n var object = _objects[_i4];\n\n for (var key in object) {\n var val = object[key];\n target[key] = val;\n }\n }\n\n return target;\n }\n }, {\n key: \"uuidv4\",\n value: function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0,\n v = c === \"x\" ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n }\n }]);\n\n return Dropzone;\n}(Emitter);\n\n\nDropzone.initClass();\nDropzone.version = \"5.9.3\"; // This is a map of options for your different dropzones. Add configurations\n// to this object for your different dropzone elemens.\n//\n// Example:\n//\n// Dropzone.options.myDropzoneElementId = { maxFilesize: 1 };\n//\n// To disable autoDiscover for a specific element, you can set `false` as an option:\n//\n// Dropzone.options.myDisabledElementId = false;\n//\n// And in html:\n//\n//
\n\nDropzone.options = {}; // Returns the options for an element or undefined if none available.\n\nDropzone.optionsForElement = function (element) {\n // Get the `Dropzone.options.elementId` for this element if it exists\n if (element.getAttribute(\"id\")) {\n return Dropzone.options[camelize(element.getAttribute(\"id\"))];\n } else {\n return undefined;\n }\n}; // Holds a list of all dropzone instances\n\n\nDropzone.instances = []; // Returns the dropzone for given element if any\n\nDropzone.forElement = function (element) {\n if (typeof element === \"string\") {\n element = document.querySelector(element);\n }\n\n if ((element != null ? element.dropzone : undefined) == null) {\n throw new Error(\"No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.\");\n }\n\n return element.dropzone;\n}; // Set to false if you don't want Dropzone to automatically find and attach to .dropzone elements.\n\n\nDropzone.autoDiscover = true; // Looks for all .dropzone elements and creates a dropzone for them\n\nDropzone.discover = function () {\n var dropzones;\n\n if (document.querySelectorAll) {\n dropzones = document.querySelectorAll(\".dropzone\");\n } else {\n dropzones = []; // IE :(\n\n var checkElements = function checkElements(elements) {\n return function () {\n var result = [];\n\n var _iterator20 = dropzone_createForOfIteratorHelper(elements, true),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var el = _step20.value;\n\n if (/(^| )dropzone($| )/.test(el.className)) {\n result.push(dropzones.push(el));\n } else {\n result.push(undefined);\n }\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n\n return result;\n }();\n };\n\n checkElements(document.getElementsByTagName(\"div\"));\n checkElements(document.getElementsByTagName(\"form\"));\n }\n\n return function () {\n var result = [];\n\n var _iterator21 = dropzone_createForOfIteratorHelper(dropzones, true),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var dropzone = _step21.value;\n\n // Create a dropzone unless auto discover has been disabled for specific element\n if (Dropzone.optionsForElement(dropzone) !== false) {\n result.push(new Dropzone(dropzone));\n } else {\n result.push(undefined);\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n return result;\n }();\n}; // Some browsers support drag and drog functionality, but not correctly.\n//\n// So I created a blocklist of userAgents. Yes, yes. Browser sniffing, I know.\n// But what to do when browsers *theoretically* support an API, but crash\n// when using it.\n//\n// This is a list of regular expressions tested against navigator.userAgent\n//\n// ** It should only be used on browser that *do* support the API, but\n// incorrectly **\n\n\nDropzone.blockedBrowsers = [// The mac os and windows phone version of opera 12 seems to have a problem with the File drag'n'drop API.\n/opera.*(Macintosh|Windows Phone).*version\\/12/i]; // Checks if the browser is supported\n\nDropzone.isBrowserSupported = function () {\n var capableBrowser = true;\n\n if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {\n if (!(\"classList\" in document.createElement(\"a\"))) {\n capableBrowser = false;\n } else {\n if (Dropzone.blacklistedBrowsers !== undefined) {\n // Since this has been renamed, this makes sure we don't break older\n // configuration.\n Dropzone.blockedBrowsers = Dropzone.blacklistedBrowsers;\n } // The browser supports the API, but may be blocked.\n\n\n var _iterator22 = dropzone_createForOfIteratorHelper(Dropzone.blockedBrowsers, true),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var regex = _step22.value;\n\n if (regex.test(navigator.userAgent)) {\n capableBrowser = false;\n continue;\n }\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n } else {\n capableBrowser = false;\n }\n\n return capableBrowser;\n};\n\nDropzone.dataURItoBlob = function (dataURI) {\n // convert base64 to raw binary data held in a string\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n var byteString = atob(dataURI.split(\",\")[1]); // separate out the mime component\n\n var mimeString = dataURI.split(\",\")[0].split(\":\")[1].split(\";\")[0]; // write the bytes of the string to an ArrayBuffer\n\n var ab = new ArrayBuffer(byteString.length);\n var ia = new Uint8Array(ab);\n\n for (var i = 0, end = byteString.length, asc = 0 <= end; asc ? i <= end : i >= end; asc ? i++ : i--) {\n ia[i] = byteString.charCodeAt(i);\n } // write the ArrayBuffer to a blob\n\n\n return new Blob([ab], {\n type: mimeString\n });\n}; // Returns an array without the rejected item\n\n\nvar without = function without(list, rejectedItem) {\n return list.filter(function (item) {\n return item !== rejectedItem;\n }).map(function (item) {\n return item;\n });\n}; // abc-def_ghi -> abcDefGhi\n\n\nvar camelize = function camelize(str) {\n return str.replace(/[\\-_](\\w)/g, function (match) {\n return match.charAt(1).toUpperCase();\n });\n}; // Creates an element from string\n\n\nDropzone.createElement = function (string) {\n var div = document.createElement(\"div\");\n div.innerHTML = string;\n return div.childNodes[0];\n}; // Tests if given element is inside (or simply is) the container\n\n\nDropzone.elementInside = function (element, container) {\n if (element === container) {\n return true;\n } // Coffeescript doesn't support do/while loops\n\n\n while (element = element.parentNode) {\n if (element === container) {\n return true;\n }\n }\n\n return false;\n};\n\nDropzone.getElement = function (el, name) {\n var element;\n\n if (typeof el === \"string\") {\n element = document.querySelector(el);\n } else if (el.nodeType != null) {\n element = el;\n }\n\n if (element == null) {\n throw new Error(\"Invalid `\".concat(name, \"` option provided. Please provide a CSS selector or a plain HTML element.\"));\n }\n\n return element;\n};\n\nDropzone.getElements = function (els, name) {\n var el, elements;\n\n if (els instanceof Array) {\n elements = [];\n\n try {\n var _iterator23 = dropzone_createForOfIteratorHelper(els, true),\n _step23;\n\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {\n el = _step23.value;\n elements.push(this.getElement(el, name));\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n } catch (e) {\n elements = null;\n }\n } else if (typeof els === \"string\") {\n elements = [];\n\n var _iterator24 = dropzone_createForOfIteratorHelper(document.querySelectorAll(els), true),\n _step24;\n\n try {\n for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {\n el = _step24.value;\n elements.push(el);\n }\n } catch (err) {\n _iterator24.e(err);\n } finally {\n _iterator24.f();\n }\n } else if (els.nodeType != null) {\n elements = [els];\n }\n\n if (elements == null || !elements.length) {\n throw new Error(\"Invalid `\".concat(name, \"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.\"));\n }\n\n return elements;\n}; // Asks the user the question and calls accepted or rejected accordingly\n//\n// The default implementation just uses `window.confirm` and then calls the\n// appropriate callback.\n\n\nDropzone.confirm = function (question, accepted, rejected) {\n if (window.confirm(question)) {\n return accepted();\n } else if (rejected != null) {\n return rejected();\n }\n}; // Validates the mime type like this:\n//\n// https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n\n\nDropzone.isValidFile = function (file, acceptedFiles) {\n if (!acceptedFiles) {\n return true;\n } // If there are no accepted mime types, it's OK\n\n\n acceptedFiles = acceptedFiles.split(\",\");\n var mimeType = file.type;\n var baseMimeType = mimeType.replace(/\\/.*$/, \"\");\n\n var _iterator25 = dropzone_createForOfIteratorHelper(acceptedFiles, true),\n _step25;\n\n try {\n for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {\n var validType = _step25.value;\n validType = validType.trim();\n\n if (validType.charAt(0) === \".\") {\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n return true;\n }\n } else if (/\\/\\*$/.test(validType)) {\n // This is something like a image/* mime type\n if (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n return true;\n }\n } else {\n if (mimeType === validType) {\n return true;\n }\n }\n }\n } catch (err) {\n _iterator25.e(err);\n } finally {\n _iterator25.f();\n }\n\n return false;\n}; // Augment jQuery\n\n\nif (typeof jQuery !== \"undefined\" && jQuery !== null) {\n jQuery.fn.dropzone = function (options) {\n return this.each(function () {\n return new Dropzone(this, options);\n });\n };\n} // Dropzone file status codes\n\n\nDropzone.ADDED = \"added\";\nDropzone.QUEUED = \"queued\"; // For backwards compatibility. Now, if a file is accepted, it's either queued\n// or uploading.\n\nDropzone.ACCEPTED = Dropzone.QUEUED;\nDropzone.UPLOADING = \"uploading\";\nDropzone.PROCESSING = Dropzone.UPLOADING; // alias\n\nDropzone.CANCELED = \"canceled\";\nDropzone.ERROR = \"error\";\nDropzone.SUCCESS = \"success\";\n/*\n\n Bugfix for iOS 6 and 7\n Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios\n based on the work of https://github.com/stomita/ios-imagefile-megapixel\n\n */\n// Detecting vertical squash in loaded image.\n// Fixes a bug which squash image vertically while drawing into canvas for some images.\n// This is a bug in iOS6 devices. This function from https://github.com/stomita/ios-imagefile-megapixel\n\nvar detectVerticalSquash = function detectVerticalSquash(img) {\n var iw = img.naturalWidth;\n var ih = img.naturalHeight;\n var canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = ih;\n var ctx = canvas.getContext(\"2d\");\n ctx.drawImage(img, 0, 0);\n\n var _ctx$getImageData = ctx.getImageData(1, 0, 1, ih),\n data = _ctx$getImageData.data; // search image edge pixel position in case it is squashed vertically.\n\n\n var sy = 0;\n var ey = ih;\n var py = ih;\n\n while (py > sy) {\n var alpha = data[(py - 1) * 4 + 3];\n\n if (alpha === 0) {\n ey = py;\n } else {\n sy = py;\n }\n\n py = ey + sy >> 1;\n }\n\n var ratio = py / ih;\n\n if (ratio === 0) {\n return 1;\n } else {\n return ratio;\n }\n}; // A replacement for context.drawImage\n// (args are for source and destination).\n\n\nvar drawImageIOSFix = function drawImageIOSFix(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {\n var vertSquashRatio = detectVerticalSquash(img);\n return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);\n}; // Based on MinifyJpeg\n// Source: http://www.perry.cz/files/ExifRestorer.js\n// http://elicon.blog57.fc2.com/blog-entry-206.html\n\n\nvar ExifRestore = /*#__PURE__*/function () {\n function ExifRestore() {\n dropzone_classCallCheck(this, ExifRestore);\n }\n\n dropzone_createClass(ExifRestore, null, [{\n key: \"initClass\",\n value: function initClass() {\n this.KEY_STR = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n }\n }, {\n key: \"encode64\",\n value: function encode64(input) {\n var output = \"\";\n var chr1 = undefined;\n var chr2 = undefined;\n var chr3 = \"\";\n var enc1 = undefined;\n var enc2 = undefined;\n var enc3 = undefined;\n var enc4 = \"\";\n var i = 0;\n\n while (true) {\n chr1 = input[i++];\n chr2 = input[i++];\n chr3 = input[i++];\n enc1 = chr1 >> 2;\n enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);\n chr1 = chr2 = chr3 = \"\";\n enc1 = enc2 = enc3 = enc4 = \"\";\n\n if (!(i < input.length)) {\n break;\n }\n }\n\n return output;\n }\n }, {\n key: \"restore\",\n value: function restore(origFileBase64, resizedFileBase64) {\n if (!origFileBase64.match(\"data:image/jpeg;base64,\")) {\n return resizedFileBase64;\n }\n\n var rawImage = this.decode64(origFileBase64.replace(\"data:image/jpeg;base64,\", \"\"));\n var segments = this.slice2Segments(rawImage);\n var image = this.exifManipulation(resizedFileBase64, segments);\n return \"data:image/jpeg;base64,\".concat(this.encode64(image));\n }\n }, {\n key: \"exifManipulation\",\n value: function exifManipulation(resizedFileBase64, segments) {\n var exifArray = this.getExifArray(segments);\n var newImageArray = this.insertExif(resizedFileBase64, exifArray);\n var aBuffer = new Uint8Array(newImageArray);\n return aBuffer;\n }\n }, {\n key: \"getExifArray\",\n value: function getExifArray(segments) {\n var seg = undefined;\n var x = 0;\n\n while (x < segments.length) {\n seg = segments[x];\n\n if (seg[0] === 255 & seg[1] === 225) {\n return seg;\n }\n\n x++;\n }\n\n return [];\n }\n }, {\n key: \"insertExif\",\n value: function insertExif(resizedFileBase64, exifArray) {\n var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\");\n var buf = this.decode64(imageData);\n var separatePoint = buf.indexOf(255, 3);\n var mae = buf.slice(0, separatePoint);\n var ato = buf.slice(separatePoint);\n var array = mae;\n array = array.concat(exifArray);\n array = array.concat(ato);\n return array;\n }\n }, {\n key: \"slice2Segments\",\n value: function slice2Segments(rawImageArray) {\n var head = 0;\n var segments = [];\n\n while (true) {\n var length;\n\n if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 218) {\n break;\n }\n\n if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 216) {\n head += 2;\n } else {\n length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3];\n var endPoint = head + length + 2;\n var seg = rawImageArray.slice(head, endPoint);\n segments.push(seg);\n head = endPoint;\n }\n\n if (head > rawImageArray.length) {\n break;\n }\n }\n\n return segments;\n }\n }, {\n key: \"decode64\",\n value: function decode64(input) {\n var output = \"\";\n var chr1 = undefined;\n var chr2 = undefined;\n var chr3 = \"\";\n var enc1 = undefined;\n var enc2 = undefined;\n var enc3 = undefined;\n var enc4 = \"\";\n var i = 0;\n var buf = []; // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n\n var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n\n if (base64test.exec(input)) {\n console.warn(\"There were invalid base64 characters in the input text.\\nValid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\\nExpect errors in decoding.\");\n }\n\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (true) {\n enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n chr1 = enc1 << 2 | enc2 >> 4;\n chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n chr3 = (enc3 & 3) << 6 | enc4;\n buf.push(chr1);\n\n if (enc3 !== 64) {\n buf.push(chr2);\n }\n\n if (enc4 !== 64) {\n buf.push(chr3);\n }\n\n chr1 = chr2 = chr3 = \"\";\n enc1 = enc2 = enc3 = enc4 = \"\";\n\n if (!(i < input.length)) {\n break;\n }\n }\n\n return buf;\n }\n }]);\n\n return ExifRestore;\n}();\n\nExifRestore.initClass();\n/*\n * contentloaded.js\n *\n * Author: Diego Perini (diego.perini at gmail.com)\n * Summary: cross-browser wrapper for DOMContentLoaded\n * Updated: 20101020\n * License: MIT\n * Version: 1.2\n *\n * URL:\n * http://javascript.nwbox.com/ContentLoaded/\n * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE\n */\n// @win window reference\n// @fn function reference\n\nvar contentLoaded = function contentLoaded(win, fn) {\n var done = false;\n var top = true;\n var doc = win.document;\n var root = doc.documentElement;\n var add = doc.addEventListener ? \"addEventListener\" : \"attachEvent\";\n var rem = doc.addEventListener ? \"removeEventListener\" : \"detachEvent\";\n var pre = doc.addEventListener ? \"\" : \"on\";\n\n var init = function init(e) {\n if (e.type === \"readystatechange\" && doc.readyState !== \"complete\") {\n return;\n }\n\n (e.type === \"load\" ? win : doc)[rem](pre + e.type, init, false);\n\n if (!done && (done = true)) {\n return fn.call(win, e.type || e);\n }\n };\n\n var poll = function poll() {\n try {\n root.doScroll(\"left\");\n } catch (e) {\n setTimeout(poll, 50);\n return;\n }\n\n return init(\"poll\");\n };\n\n if (doc.readyState !== \"complete\") {\n if (doc.createEventObject && root.doScroll) {\n try {\n top = !win.frameElement;\n } catch (error) {}\n\n if (top) {\n poll();\n }\n }\n\n doc[add](pre + \"DOMContentLoaded\", init, false);\n doc[add](pre + \"readystatechange\", init, false);\n return win[add](pre + \"load\", init, false);\n }\n}; // As a single function to be able to write tests.\n\n\nDropzone._autoDiscoverFunction = function () {\n if (Dropzone.autoDiscover) {\n return Dropzone.discover();\n }\n};\n\ncontentLoaded(window, Dropzone._autoDiscoverFunction);\n\nfunction __guard__(value, transform) {\n return typeof value !== \"undefined\" && value !== null ? transform(value) : undefined;\n}\n\nfunction __guardMethod__(obj, methodName, transform) {\n if (typeof obj !== \"undefined\" && obj !== null && typeof obj[methodName] === \"function\") {\n return transform(obj, methodName);\n } else {\n return undefined;\n }\n}\n\n\n;// CONCATENATED MODULE: ./tool/dropzone.dist.js\n /// Make Dropzone a global variable.\n\nwindow.Dropzone = Dropzone;\n/* harmony default export */ var dropzone_dist = (Dropzone);\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","// =========\n// = humps =\n// =========\n// Underscore-to-camelCase converter (and vice versa)\n// for strings and object keys\n\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n\n\n;(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i 0) {\n var thisPos = stack.indexOf(this)\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)\n if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value)\n }\n else stack.push(value)\n\n return replacer == null ? value : replacer.call(this, key, value)\n }\n}\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\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","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\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 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 keysIn = require('./keysIn');\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 } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\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 SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","var baseForOwn = require('./_baseForOwn');\n\n/**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n}\n\nmodule.exports = baseInverter;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\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 baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nmodule.exports = baseIsRegExp;\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 basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nmodule.exports = baseSome;\n","var eq = require('./eq');\n\n/**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n}\n\nmodule.exports = baseSortedUniq;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n","var arrayMap = require('./_arrayMap');\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nmodule.exports = baseValues;\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 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 arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var baseInverter = require('./_baseInverter');\n\n/**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\nfunction createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n}\n\nmodule.exports = createInverter;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\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 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","/** 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 assignValue = require('./_assignValue'),\n copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n isArrayLike = require('./isArrayLike'),\n isPrototype = require('./_isPrototype'),\n keys = require('./keys');\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 own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = clone;\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 clearTimeout(timerId);\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","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\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 own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n});\n\nmodule.exports = difference;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","/**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\nfunction fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n}\n\nmodule.exports = fromPairs;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\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 object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","var baseIndexOf = require('./_baseIndexOf'),\n isArrayLike = require('./isArrayLike'),\n isString = require('./isString'),\n toInteger = require('./toInteger'),\n values = require('./values');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n}\n\nmodule.exports = includes;\n","var constant = require('./constant'),\n createInverter = require('./_createInverter'),\n identity = require('./identity');\n\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 * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\nvar invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n}, constant(identity));\n\nmodule.exports = invert;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\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 `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\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 `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseIsRegExp = require('./_baseIsRegExp'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\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","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nmodule.exports = negate;\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 baseIteratee = require('./_baseIteratee'),\n negate = require('./negate'),\n pickBy = require('./pickBy');\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return pickBy(object, negate(baseIteratee(predicate)));\n}\n\nmodule.exports = omitBy;\n","var baseOrderBy = require('./_baseOrderBy'),\n isArray = require('./isArray');\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n}\n\nmodule.exports = orderBy;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","var baseSortedUniq = require('./_baseSortedUniq');\n\n/**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\nfunction sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n}\n\nmodule.exports = sortedUniq;\n","var baseSum = require('./_baseSum'),\n identity = require('./identity');\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n}\n\nmodule.exports = sum;\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 baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var toString = require('./toString');\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nmodule.exports = uniqueId;\n","var baseValues = require('./_baseValues'),\n keys = require('./keys');\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nmodule.exports = values;\n","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n","var Mexp=require('./postfix_evaluator.js');\r\nMexp.prototype.formulaEval = function () {\r\n\t\"use strict\";\r\n\tvar stack=[],pop1,pop2,pop3;\r\n\tvar disp=[];\r\n\tvar temp='';\r\n\tvar arr=this.value;\r\n\tfor(var i=0;i\"+pop2.value+\"\"+arr[i].show+\"\"+pop1.value+\"\",type:10});\r\n\t\t\telse disp.push({value:(pop2.type!=1?\"(\":\"\")+pop2.value+(pop2.type!=1?\")\":\"\")+\"\"+pop1.value+\"\",type:1});\r\n\t\t}\r\n\t\telse if(arr[i].type===2||arr[i].type===9){\r\n\t\t\tpop1=disp.pop();\r\n\t\t\tpop2=disp.pop();\r\n\t\t\tdisp.push({value:(pop2.type!=1?\"(\":\"\")+pop2.value+(pop2.type!=1?\")\":\"\")+arr[i].show+(pop1.type!=1?\"(\":\"\")+pop1.value+(pop1.type!=1?\")\":\"\"),type:arr[i].type});\r\n\t\t}\r\n\t\telse if(arr[i].type===12){\r\n\t\t\tpop1=disp.pop();\r\n\t\t\tpop2=disp.pop();\r\n\t\t\tpop3=disp.pop();\r\n\t\t\tdisp.push({value:arr[i].show+\"(\"+pop3.value+\",\"+pop2.value+\",\"+pop1.value+\")\",type:12});\r\n\t\t}\r\n\t}\r\n\treturn disp[0].value;\r\n};\r\nmodule.exports=Mexp;","'use strict'\r\nvar Mexp = require('./math_function.js')\r\nfunction inc(arr, val) {\r\n\tfor (var i = 0; i < arr.length; i++) {\r\n\t\tarr[i] += val\r\n\t}\r\n\treturn arr\r\n}\r\nvar tokens = [\r\n\t{ token: 'sin', show: 'sin', type: 0, value: Mexp.math.sin },\r\n\t{ token: 'cos', show: 'cos', type: 0, value: Mexp.math.cos },\r\n\t{ token: 'tan', show: 'tan', type: 0, value: Mexp.math.tan },\r\n\t{ token: 'pi', show: 'π', type: 3, value: 'PI' },\r\n\t{ token: '(', show: '(', type: 4, value: '(' },\r\n\t{ token: ')', show: ')', type: 5, value: ')' },\r\n\t{ token: 'P', show: 'P', type: 10, value: Mexp.math.P },\r\n\t{ token: 'C', show: 'C', type: 10, value: Mexp.math.C },\r\n\t{ token: ' ', show: ' ', type: 14, value: ' '.anchor },\r\n\t{ token: 'asin', show: 'asin', type: 0, value: Mexp.math.asin },\r\n\t{ token: 'acos', show: 'acos', type: 0, value: Mexp.math.acos },\r\n\t{ token: 'atan', show: 'atan', type: 0, value: Mexp.math.atan },\r\n\t{ token: '7', show: '7', type: 1, value: '7' },\r\n\t{ token: '8', show: '8', type: 1, value: '8' },\r\n\t{ token: '9', show: '9', type: 1, value: '9' },\r\n\t{ token: 'int', show: 'Int', type: 0, value: Math.floor },\r\n\t{ token: 'cosh', show: 'cosh', type: 0, value: Mexp.math.cosh },\r\n\t{ token: 'acosh', show: 'acosh', type: 0, value: Mexp.math.acosh },\r\n\t{ token: 'ln', show: ' ln', type: 0, value: Math.log },\r\n\t{ token: '^', show: '^', type: 10, value: Math.pow },\r\n\t{ token: 'root', show: 'root', type: 0, value: Math.sqrt },\r\n\t{ token: '4', show: '4', type: 1, value: '4' },\r\n\t{ token: '5', show: '5', type: 1, value: '5' },\r\n\t{ token: '6', show: '6', type: 1, value: '6' },\r\n\t{ token: '/', show: '÷', type: 2, value: Mexp.math.div },\r\n\t{ token: '!', show: '!', type: 7, value: Mexp.math.fact },\r\n\t{ token: 'tanh', show: 'tanh', type: 0, value: Mexp.math.tanh },\r\n\t{ token: 'atanh', show: 'atanh', type: 0, value: Mexp.math.atanh },\r\n\t{ token: 'Mod', show: ' Mod ', type: 2, value: Mexp.math.mod },\r\n\t{ token: '1', show: '1', type: 1, value: '1' },\r\n\t{ token: '2', show: '2', type: 1, value: '2' },\r\n\t{ token: '3', show: '3', type: 1, value: '3' },\r\n\t{ token: '*', show: '×', type: 2, value: Mexp.math.mul },\r\n\t{ token: 'sinh', show: 'sinh', type: 0, value: Mexp.math.sinh },\r\n\t{ token: 'asinh', show: 'asinh', type: 0, value: Mexp.math.asinh },\r\n\t{ token: 'e', show: 'e', type: 3, value: 'E' },\r\n\t{ token: 'log', show: ' log', type: 0, value: Mexp.math.log },\r\n\t{ token: '0', show: '0', type: 1, value: '0' },\r\n\t{ token: '.', show: '.', type: 6, value: '.' },\r\n\t{ token: '+', show: '+', type: 9, value: Mexp.math.add },\r\n\t{ token: '-', show: '-', type: 9, value: Mexp.math.sub },\r\n\t{ token: ',', show: ',', type: 11, value: ',' },\r\n\t{ token: 'Sigma', show: 'Σ', type: 12, value: Mexp.math.sigma },\r\n\t{ token: 'n', show: 'n', type: 13, value: 'n' },\r\n\t{ token: 'Pi', show: 'Π', type: 12, value: Mexp.math.Pi },\r\n\t{ token: 'pow', show: 'pow', type: 8, value: Math.pow, numberOfArguments: 2 },\r\n\t{ token: '&', show: '&', type: 9, value: Mexp.math.and },\r\n]\r\nvar preced = {\r\n\t0: 11,\r\n\t1: 0,\r\n\t2: 3,\r\n\t3: 0,\r\n\t4: 0,\r\n\t5: 0,\r\n\t6: 0,\r\n\t7: 11,\r\n\t8: 11,\r\n\t9: 1,\r\n\t10: 10,\r\n\t11: 0,\r\n\t12: 11,\r\n\t13: 0,\r\n\t14: -1,\r\n\t15: 11, // will be filtered after lexer\r\n} // stores precedence by types\r\nfor (var i = 0; i < tokens.length; i++) {\r\n\ttokens[i].precedence = preced[tokens[i].type]\r\n}\r\nvar type0 = {\r\n\t0: true,\r\n\t1: true,\r\n\t3: true,\r\n\t4: true,\r\n\t6: true,\r\n\t8: true,\r\n\t9: true,\r\n\t12: true,\r\n\t13: true,\r\n\t14: true,\r\n\t15: true,\r\n} // type2:true,type4:true,type9:true,type11:true,type21:true,type22\r\nvar type1 = {\r\n\t0: true,\r\n\t1: true,\r\n\t2: true,\r\n\t3: true,\r\n\t4: true,\r\n\t5: true,\r\n\t6: true,\r\n\t7: true,\r\n\t8: true,\r\n\t9: true,\r\n\t10: true,\r\n\t11: true,\r\n\t12: true,\r\n\t13: true,\r\n\t15: true,\r\n} // type3:true,type5:true,type7:true,type23\r\nvar type1Asterick = {\r\n\t0: true,\r\n\t3: true,\r\n\t4: true,\r\n\t8: true,\r\n\t12: true,\r\n\t13: true,\r\n\t15: true,\r\n}\r\nvar empty = {}\r\nvar type3Asterick = {\r\n\t0: true,\r\n\t1: true,\r\n\t3: true,\r\n\t4: true,\r\n\t6: true,\r\n\t8: true,\r\n\t12: true,\r\n\t13: true,\r\n\t15: true,\r\n} // type_5:true,type_7:true,type_23\r\nvar type6 = {\r\n\t1: true,\r\n}\r\nvar newAr = [\r\n\t[],\r\n\t[\r\n\t\t'1',\r\n\t\t'2',\r\n\t\t'3',\r\n\t\t'7',\r\n\t\t'8',\r\n\t\t'9',\r\n\t\t'4',\r\n\t\t'5',\r\n\t\t'6',\r\n\t\t'+',\r\n\t\t'-',\r\n\t\t'*',\r\n\t\t'/',\r\n\t\t'(',\r\n\t\t')',\r\n\t\t'^',\r\n\t\t'!',\r\n\t\t'P',\r\n\t\t'C',\r\n\t\t'e',\r\n\t\t'0',\r\n\t\t'.',\r\n\t\t',',\r\n\t\t'n',\r\n\t\t' ',\r\n\t\t'&',\r\n\t],\r\n\t['pi', 'ln', 'Pi'],\r\n\t['sin', 'cos', 'tan', 'Del', 'int', 'Mod', 'log', 'pow'],\r\n\t['asin', 'acos', 'atan', 'cosh', 'root', 'tanh', 'sinh'],\r\n\t['acosh', 'atanh', 'asinh', 'Sigma'],\r\n]\r\n\r\nfunction match(str1, str2, i, x) {\r\n\tfor (var f = 0; f < x; f++) {\r\n\t\tif (str1[i + f] !== str2[f]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\nMexp.tokenTypes = {\r\n\tFUNCTION_WITH_ONE_ARG: 0,\r\n\tNUMBER: 1,\r\n\tBINARY_OPERATOR_HIGH_PRECENDENCE: 2,\r\n\tCONSTANT: 3,\r\n\tOPENING_PARENTHESIS: 4,\r\n\tCLOSING_PARENTHESIS: 5,\r\n\tDECIMAL: 6,\r\n\tPOSTFIX_FUNCTION_WITH_ONE_ARG: 7,\r\n\tFUNCTION_WITH_N_ARGS: 8,\r\n\tBINARY_OPERATOR_LOW_PRECENDENCE: 9,\r\n\tBINARY_OPERATOR_PERMUTATION: 10,\r\n\tCOMMA: 11,\r\n\tEVALUATED_FUNCTION: 12,\r\n\tEVALUATED_FUNCTION_PARAMETER: 13,\r\n\tSPACE: 14,\r\n}\r\n/**\r\n \r\n 0 : function with syntax function_name(Maths_exp)\r\n 1 : numbers\r\n 2 : binary operators like * / Mod left associate and same precedence\r\n 3 : Math constant values like e,pi,Cruncher ans\r\n 4 : opening bracket\r\n 5 : closing bracket\r\n 6 : decimal\r\n 7 : function with syntax (Math_exp)function_name\r\n 8: function with syntax function_name(Math_exp1,Math_exp2)\r\n 9 : binary operator like +,-\r\n 10: binary operator like P C or ^\r\n 11: ,\r\n 12: function with , seperated three parameters and third parameter is a string that will be mexp string\r\n 13: variable of Sigma function\r\n */\r\nMexp.addToken = function (newTokens) {\r\n\tfor (var i = 0; i < newTokens.length; i++) {\r\n\t\tvar x = newTokens[i].token.length\r\n\t\tvar temp = -1\r\n\t\tif (newTokens[i].type === Mexp.tokenTypes.FUNCTION_WITH_N_ARGS && newTokens[i].numberOfArguments === undefined) {\r\n\t\t\tnewTokens[i].numberOfArguments = 2\r\n\t\t}\r\n\r\n\t\t// newAr is a specially designed data structure index of 1d array = length of tokens\r\n\t\tnewAr[x] = newAr[x] || []\r\n\t\tfor (var y = 0; y < newAr[x].length; y++) {\r\n\t\t\tif (newTokens[i].token === newAr[x][y]) {\r\n\t\t\t\ttemp = indexOfToken(newAr[x][y], tokens)\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (temp === -1) {\r\n\t\t\ttokens.push(newTokens[i])\r\n\t\t\tnewTokens[i].precedence = preced[newTokens[i].type]\r\n\t\t\tif (newAr.length <= newTokens[i].token.length) {\r\n\t\t\t\tnewAr[newTokens[i].token.length] = []\r\n\t\t\t}\r\n\t\t\tnewAr[newTokens[i].token.length].push(newTokens[i].token)\r\n\t\t} else {\r\n\t\t\t// overwrite\r\n\t\t\ttokens[temp] = newTokens[i]\r\n\t\t\tnewTokens[i].precedence = preced[newTokens[i].type]\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction indexOfToken(key, tokens) {\r\n\tfor (var search = 0; search < tokens.length; search++) {\r\n\t\tif (tokens[search].token === key) return search\r\n\t}\r\n\treturn -1\r\n}\r\nfunction tokenize(string) {\r\n\tvar nodes = []\r\n\tvar length = string.length\r\n\tvar key, x, y\r\n\tfor (var i = 0; i < length; i++) {\r\n\t\tif (i < length - 1 && string[i] === ' ' && string[i + 1] === ' ') {\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\tkey = ''\r\n\t\tfor (x = string.length - i > newAr.length - 2 ? newAr.length - 1 : string.length - i; x > 0; x--) {\r\n\t\t\tif (newAr[x] === undefined) continue\r\n\t\t\tfor (y = 0; y < newAr[x].length; y++) {\r\n\t\t\t\tif (match(string, newAr[x][y], i, x)) {\r\n\t\t\t\t\tkey = newAr[x][y]\r\n\t\t\t\t\ty = newAr[x].length\r\n\t\t\t\t\tx = 0\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\ti += key.length - 1\r\n\t\tif (key === '') {\r\n\t\t\tthrow new Mexp.Exception(\"Can't understand after \" + string.slice(i))\r\n\t\t}\r\n\t\tnodes.push(tokens[indexOfToken(key, tokens)])\r\n\t}\r\n\treturn nodes\r\n}\r\n\r\nvar changeSignObj = {\r\n\tvalue: Mexp.math.changeSign,\r\n\ttype: 0,\r\n\tpre: 21,\r\n\tshow: '-',\r\n}\r\nvar closingParObj = {\r\n\tvalue: ')',\r\n\tshow: ')',\r\n\ttype: 5,\r\n\tpre: 0,\r\n}\r\nvar openingParObj = {\r\n\tvalue: '(',\r\n\ttype: 4,\r\n\tpre: 0,\r\n\tshow: '(',\r\n}\r\nMexp.lex = function (inp, tokens) {\r\n\t'use strict'\r\n\r\n\tvar str = [openingParObj]\r\n\r\n\tvar ptc = [] // Parenthesis to close at the beginning is after one token\r\n\tvar inpStr = inp\r\n\tvar allowed = type0\r\n\tvar bracToClose = 0\r\n\tvar asterick = empty\r\n\tvar prevKey = ''\r\n\tvar i\r\n\tif (typeof tokens !== 'undefined') {\r\n\t\tMexp.addToken(tokens)\r\n\t}\r\n\tvar obj = {}\r\n\tvar nodes = tokenize(inpStr)\r\n\tfor (i = 0; i < nodes.length; i++) {\r\n\t\tvar node = nodes[i]\r\n\t\tif (node.type === 14) {\r\n\t\t\tif (\r\n\t\t\t\ti > 0 &&\r\n\t\t\t\ti < nodes.length - 1 &&\r\n\t\t\t\tnodes[i + 1].type === 1 &&\r\n\t\t\t\t(nodes[i - 1].type === 1 || nodes[i - 1].type === 6)\r\n\t\t\t) {\r\n\t\t\t\tthrow new Mexp.Exception('Unexpected Space')\r\n\t\t\t}\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\tvar cToken = node.token\r\n\t\tvar cType = node.type\r\n\t\tvar cEv = node.value\r\n\t\tvar cPre = node.precedence\r\n\t\tvar cShow = node.show\r\n\t\tvar pre = str[str.length - 1]\r\n\t\tvar j\r\n\t\tfor (j = ptc.length; j--; ) {\r\n\t\t\t// loop over ptc\r\n\t\t\tif (ptc[j] === 0) {\r\n\t\t\t\tif ([0, 2, 3, 4, 5, 9, 11, 12, 13].indexOf(cType) !== -1) {\r\n\t\t\t\t\tif (allowed[cType] !== true) {\r\n\t\t\t\t\t\tthrow new Mexp.Exception(cToken + ' is not allowed after ' + prevKey)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstr.push(closingParObj)\r\n\t\t\t\t\tallowed = type1\r\n\t\t\t\t\tasterick = type3Asterick\r\n\t\t\t\t\tptc.pop()\r\n\t\t\t\t}\r\n\t\t\t} else break\r\n\t\t}\r\n\t\tif (allowed[cType] !== true) {\r\n\t\t\tthrow new Mexp.Exception(cToken + ' is not allowed after ' + prevKey)\r\n\t\t}\r\n\t\tif (asterick[cType] === true) {\r\n\t\t\tcType = 2\r\n\t\t\tcEv = Mexp.math.mul\r\n\t\t\tcShow = '×'\r\n\t\t\tcPre = 3\r\n\t\t\ti = i - 1\r\n\t\t}\r\n\t\tobj = {\r\n\t\t\tvalue: cEv,\r\n\t\t\ttype: cType,\r\n\t\t\tpre: cPre,\r\n\t\t\tshow: cShow,\r\n\t\t\tnumberOfArguments: node.numberOfArguments,\r\n\t\t}\r\n\t\tif (cType === 0) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 2)\r\n\t\t\tstr.push(obj)\r\n\t\t\tif (nodes[i + 1].type !== 4) {\r\n\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\tptc.push(2)\r\n\t\t\t}\r\n\t\t\t// bracToClose++\r\n\t\t} else if (cType === 1) {\r\n\t\t\tif (pre.type === 1) {\r\n\t\t\t\tpre.value += cEv\r\n\t\t\t\tinc(ptc, 1)\r\n\t\t\t} else {\r\n\t\t\t\tstr.push(obj)\r\n\t\t\t}\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type1Asterick\r\n\t\t} else if (cType === 2) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 2)\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 3) {\r\n\t\t\t// constant\r\n\t\t\tstr.push(obj)\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t} else if (cType === 4) {\r\n\t\t\tinc(ptc, 1)\r\n\t\t\tbracToClose++\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 5) {\r\n\t\t\tif (!bracToClose) {\r\n\t\t\t\tthrow new Mexp.Exception('Closing parenthesis are more than opening one, wait What!!!')\r\n\t\t\t}\r\n\t\t\tbracToClose--\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t\tstr.push(obj)\r\n\t\t\tinc(ptc, 1)\r\n\t\t} else if (cType === 6) {\r\n\t\t\tif (pre.hasDec) {\r\n\t\t\t\tthrow new Mexp.Exception('Two decimals are not allowed in one number')\r\n\t\t\t}\r\n\t\t\tif (pre.type !== 1) {\r\n\t\t\t\tpre = {\r\n\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\ttype: 1,\r\n\t\t\t\t\tpre: 0,\r\n\t\t\t\t} // pre needs to be changed as it will the last value now to be safe in later code\r\n\t\t\t\tstr.push(pre)\r\n\t\t\t\t// inc(ptc, 1)\r\n\t\t\t}\r\n\t\t\tallowed = type6\r\n\t\t\tinc(ptc, 1)\r\n\t\t\tasterick = empty\r\n\t\t\tpre.value += cEv\r\n\t\t\tpre.hasDec = true\r\n\t\t} else if (cType === 7) {\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t\tinc(ptc, 1)\r\n\t\t\tstr.push(obj)\r\n\t\t}\r\n\t\tif (cType === 8) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, node.numberOfArguments + 2)\r\n\t\t\tstr.push(obj)\r\n\t\t\t// str.push(openingParObj)\r\n\t\t\tif (nodes[i + 1].type !== 4) {\r\n\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\tptc.push(node.numberOfArguments + 2)\r\n\t\t\t}\r\n\t\t} else if (cType === 9) {\r\n\t\t\tif (pre.type === 9) {\r\n\t\t\t\tif (pre.value === Mexp.math.add) {\r\n\t\t\t\t\tpre.value = cEv\r\n\t\t\t\t\tpre.show = cShow\r\n\t\t\t\t\tinc(ptc, 1)\r\n\t\t\t\t} else if (pre.value === Mexp.math.sub && cShow === '-') {\r\n\t\t\t\t\tpre.value = Mexp.math.add\r\n\t\t\t\t\tpre.show = '+'\r\n\t\t\t\t\tinc(ptc, 1)\r\n\t\t\t\t}\r\n\t\t\t} else if (pre.type !== 5 && pre.type !== 7 && pre.type !== 1 && pre.type !== 3 && pre.type !== 13) {\r\n\t\t\t\t// changesign only when negative is found\r\n\t\t\t\tif (cToken === '-') {\r\n\t\t\t\t\t// do nothing for + token\r\n\t\t\t\t\t// don't add with the above if statement as that will run the else statement of parent if on Ctoken +\r\n\t\t\t\t\tallowed = type0\r\n\t\t\t\t\tasterick = empty\r\n\t\t\t\t\tinc(ptc, 2).push(2)\r\n\t\t\t\t\tstr.push(changeSignObj)\r\n\t\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tstr.push(obj)\r\n\t\t\t\tinc(ptc, 2)\r\n\t\t\t}\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t} else if (cType === 10) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 2)\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 11) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 12) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 6)\r\n\t\t\tstr.push(obj)\r\n\t\t\tif (nodes[i + 1].type !== 4) {\r\n\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\tptc.push(6)\r\n\t\t\t}\r\n\t\t} else if (cType === 13) {\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t\tstr.push(obj)\r\n\t\t}\r\n\r\n\t\tinc(ptc, -1)\r\n\t\tprevKey = cToken\r\n\t}\r\n\tfor (j = ptc.length; j--; ) {\r\n\t\t// loop over ptc\r\n\t\tstr.push(closingParObj)\r\n\t}\r\n\tif (allowed[5] !== true) {\r\n\t\tthrow new Mexp.Exception('complete the expression')\r\n\t}\r\n\twhile (bracToClose--) {\r\n\t\tstr.push(closingParObj)\r\n\t}\r\n\r\n\tstr.push(closingParObj)\r\n\t// console.log(str);\r\n\treturn new Mexp(str)\r\n}\r\nmodule.exports = Mexp\r\n","\"use strict\";\r\nvar Mexp = function (parsed) {\r\n this.value = parsed\r\n}\r\n\r\nMexp.math = {\r\n isDegree: true, // mode of calculator\r\n acos: function (x) {\r\n return (Mexp.math.isDegree ? 180 / Math.PI * Math.acos(x) : Math.acos(x))\r\n },\r\n add: function (a, b) {\r\n return a + b\r\n },\r\n asin: function (x) {\r\n return (Mexp.math.isDegree ? 180 / Math.PI * Math.asin(x) : Math.asin(x))\r\n },\r\n atan: function (x) {\r\n return (Mexp.math.isDegree ? 180 / Math.PI * Math.atan(x) : Math.atan(x))\r\n },\r\n acosh: function (x) {\r\n return Math.log(x + Math.sqrt(x * x - 1))\r\n },\r\n asinh: function (x) {\r\n return Math.log(x + Math.sqrt(x * x + 1))\r\n },\r\n atanh: function (x) {\r\n return Math.log((1 + x) / (1 - x))\r\n },\r\n C: function (n, r) {\r\n var pro = 1\r\n var other = n - r\r\n var choice = r\r\n if (choice < other) {\r\n choice = other\r\n other = r\r\n }\r\n for (var i = choice + 1; i <= n; i++) {\r\n pro *= i\r\n }\r\n return pro / Mexp.math.fact(other)\r\n },\r\n changeSign: function (x) {\r\n return -x\r\n },\r\n cos: function (x) {\r\n if (Mexp.math.isDegree) x = Mexp.math.toRadian(x)\r\n return Math.cos(x)\r\n },\r\n cosh: function (x) {\r\n return (Math.pow(Math.E, x) + Math.pow(Math.E, -1 * x)) / 2\r\n },\r\n div: function (a, b) {\r\n return a / b\r\n },\r\n fact: function (n) {\r\n if (n % 1 !== 0) return 'NaN'\r\n var pro = 1\r\n for (var i = 2; i <= n; i++) {\r\n pro *= i\r\n }\r\n return pro\r\n },\r\n inverse: function (x) {\r\n return 1 / x\r\n },\r\n log: function (i) {\r\n return Math.log(i) / Math.log(10)\r\n },\r\n mod: function (a, b) {\r\n return a % b\r\n },\r\n mul: function (a, b) {\r\n return a * b\r\n },\r\n P: function (n, r) {\r\n var pro = 1\r\n for (var i = Math.floor(n) - Math.floor(r) + 1; i <= Math.floor(n); i++) {\r\n pro *= i\r\n }\r\n return pro\r\n },\r\n Pi: function (low, high, ex) {\r\n var pro = 1\r\n for (var i = low; i <= high; i++) {\r\n pro *= Number(ex.postfixEval({\r\n n: i\r\n }))\r\n }\r\n return pro\r\n },\r\n pow10x: function (e) {\r\n var x = 1\r\n while (e--) {\r\n x *= 10\r\n }\r\n return x\r\n },\r\n sigma: function (low, high, ex) {\r\n var sum = 0\r\n for (var i = low; i <= high; i++) {\r\n sum += Number(ex.postfixEval({\r\n n: i\r\n }))\r\n }\r\n return sum\r\n },\r\n sin: function (x) {\r\n if (Mexp.math.isDegree) x = Mexp.math.toRadian(x)\r\n return Math.sin(x)\r\n },\r\n sinh: function (x) {\r\n return (Math.pow(Math.E, x) - Math.pow(Math.E, -1 * x)) / 2\r\n },\r\n sub: function (a, b) {\r\n return a - b\r\n },\r\n tan: function (x) {\r\n if (Mexp.math.isDegree) x = Mexp.math.toRadian(x)\r\n return Math.tan(x)\r\n },\r\n tanh: function (x) {\r\n return Mexp.sinha(x) / Mexp.cosha(x)\r\n },\r\n toRadian: function (x) {\r\n return x * Math.PI / 180\r\n },\r\n and: function (a, b) {\r\n return a & b\r\n }\r\n}\r\nMexp.Exception = function (message) {\r\n this.message = message\r\n}\r\nmodule.exports = Mexp\r\n","\r\nvar Mexp = require('./lexer.js');\r\n\r\nMexp.prototype.toPostfix = function () {\r\n\t'use strict';\r\n\tvar post = [], elem, popped, prep, pre, ele;\r\n\tvar stack = [{ value: \"(\", type: 4, pre: 0 }];\r\n\tvar arr = this.value;\r\n\tfor (var i = 1; i < arr.length; i++) {\r\n\t\tif (arr[i].type === 1 || arr[i].type === 3 || arr[i].type === 13) {\t//if token is number,constant,or n(which is also a special constant in our case)\r\n\t\t\tif (arr[i].type === 1)\r\n\t\t\t\tarr[i].value = Number(arr[i].value);\r\n\t\t\tpost.push(arr[i]);\r\n\t\t}\r\n\t\telse if (arr[i].type === 4) {\r\n\t\t\tstack.push(arr[i]);\r\n\t\t}\r\n\t\telse if (arr[i].type === 5) {\r\n\t\t\twhile ((popped = stack.pop()).type !== 4) {\r\n\t\t\t\tpost.push(popped);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (arr[i].type === 11) {\r\n\t\t\twhile ((popped = stack.pop()).type !== 4) {\r\n\t\t\t\tpost.push(popped);\r\n\t\t\t}\r\n\t\t\tstack.push(popped);\r\n\t\t}\r\n\t\telse {\r\n\t\t\telem = arr[i];\r\n\t\t\tpre = elem.pre;\r\n\t\t\tele = stack[stack.length - 1];\r\n\t\t\tprep = ele.pre;\r\n\t\t\tvar flag = ele.value == 'Math.pow' && elem.value == 'Math.pow';\r\n\t\t\tif (pre > prep) stack.push(elem);\r\n\t\t\telse {\r\n\t\t\t\twhile (prep >= pre && !flag || flag && pre < prep) {\r\n\t\t\t\t\tpopped = stack.pop();\r\n\t\t\t\t\tele = stack[stack.length - 1];\r\n\t\t\t\t\tpost.push(popped);\r\n\t\t\t\t\tprep = ele.pre;\r\n\t\t\t\t\tflag = elem.value == 'Math.pow' && ele.value == 'Math.pow';\r\n\t\t\t\t}\r\n\t\t\t\tstack.push(elem);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn new Mexp(post);\r\n};\r\nmodule.exports = Mexp;","var Mexp = require('./postfix.js')\r\nMexp.prototype.postfixEval = function (UserDefined) {\r\n\t'use strict'\r\n\tUserDefined = UserDefined || {}\r\n\tUserDefined.PI = Math.PI\r\n\tUserDefined.E = Math.E\r\n\tvar stack = [],\r\n\t\tpop1,\r\n\t\tpop2,\r\n\t\tpop3\r\n\tvar disp = []\r\n\tvar temp = ''\r\n\tvar arr = this.value\r\n\tvar bool = typeof UserDefined.n !== 'undefined'\r\n\tfor (var i = 0; i < arr.length; i++) {\r\n\t\tif (arr[i].type === 1) {\r\n\t\t\tstack.push({ value: arr[i].value, type: 1 })\r\n\t\t} else if (arr[i].type === 3) {\r\n\t\t\tstack.push({ value: UserDefined[arr[i].value], type: 1 })\r\n\t\t} else if (arr[i].type === 0) {\r\n\t\t\tif (typeof stack[stack.length - 1].type === 'undefined') {\r\n\t\t\t\tstack[stack.length - 1].value.push(arr[i])\r\n\t\t\t} else stack[stack.length - 1].value = arr[i].value(stack[stack.length - 1].value)\r\n\t\t} else if (arr[i].type === 7) {\r\n\t\t\tif (typeof stack[stack.length - 1].type === 'undefined') {\r\n\t\t\t\tstack[stack.length - 1].value.push(arr[i])\r\n\t\t\t} else stack[stack.length - 1].value = arr[i].value(stack[stack.length - 1].value)\r\n\t\t} else if (arr[i].type === 8) {\r\n\t\t\tvar popped = []\r\n\t\t\tfor (var x = 0; x < arr[i].numberOfArguments; x++) {\r\n\t\t\t\tpopped.push(stack.pop().value)\r\n\t\t\t}\r\n\t\t\tstack.push({ type: 1, value: arr[i].value.apply(arr[i], popped.reverse()) })\r\n\t\t} else if (arr[i].type === 10) {\r\n\t\t\tpop1 = stack.pop()\r\n\t\t\tpop2 = stack.pop()\r\n\t\t\tif (typeof pop2.type === 'undefined') {\r\n\t\t\t\tpop2.value = pop2.concat(pop1)\r\n\t\t\t\tpop2.value.push(arr[i])\r\n\t\t\t\tstack.push(pop2)\r\n\t\t\t} else if (typeof pop1.type === 'undefined') {\r\n\t\t\t\tpop1.unshift(pop2)\r\n\t\t\t\tpop1.push(arr[i])\r\n\t\t\t\tstack.push(pop1)\r\n\t\t\t} else {\r\n\t\t\t\tstack.push({ type: 1, value: arr[i].value(pop2.value, pop1.value) })\r\n\t\t\t}\r\n\t\t} else if (arr[i].type === 2 || arr[i].type === 9) {\r\n\t\t\tpop1 = stack.pop()\r\n\t\t\tpop2 = stack.pop()\r\n\t\t\tif (typeof pop2.type === 'undefined') {\r\n\t\t\t\tpop2 = pop2.concat(pop1)\r\n\t\t\t\tpop2.push(arr[i])\r\n\t\t\t\tstack.push(pop2)\r\n\t\t\t} else if (typeof pop1.type === 'undefined') {\r\n\t\t\t\tpop1.unshift(pop2)\r\n\t\t\t\tpop1.push(arr[i])\r\n\t\t\t\tstack.push(pop1)\r\n\t\t\t} else {\r\n\t\t\t\tstack.push({ type: 1, value: arr[i].value(pop2.value, pop1.value) })\r\n\t\t\t}\r\n\t\t} else if (arr[i].type === 12) {\r\n\t\t\tpop1 = stack.pop()\r\n\t\t\tif (typeof pop1.type !== 'undefined') {\r\n\t\t\t\tpop1 = [pop1]\r\n\t\t\t}\r\n\t\t\tpop2 = stack.pop()\r\n\t\t\tpop3 = stack.pop()\r\n\t\t\tstack.push({ type: 1, value: arr[i].value(pop3.value, pop2.value, new Mexp(pop1)) })\r\n\t\t} else if (arr[i].type === 13) {\r\n\t\t\tif (bool) {\r\n\t\t\t\tstack.push({ value: UserDefined[arr[i].value], type: 3 })\r\n\t\t\t} else stack.push([arr[i]])\r\n\t\t}\r\n\t}\r\n\tif (stack.length > 1) {\r\n\t\tthrow new Mexp.Exception('Uncaught Syntax error')\r\n\t}\r\n\treturn stack[0].value > 1000000000000000 ? 'Infinity' : parseFloat(stack[0].value.toFixed(15))\r\n}\r\nMexp.eval = function (str, tokens, obj) {\r\n\tif (typeof tokens === 'undefined') {\r\n\t\treturn this.lex(str).toPostfix().postfixEval()\r\n\t} else if (typeof obj === 'undefined') {\r\n\t\tif (typeof tokens.length !== 'undefined') return this.lex(str, tokens).toPostfix().postfixEval()\r\n\t\telse return this.lex(str).toPostfix().postfixEval(tokens)\r\n\t} else return this.lex(str, tokens).toPostfix().postfixEval(obj)\r\n}\r\nmodule.exports = Mexp\r\n","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import React from 'react';\n\nvar isStyleObject = function (obj) { return typeof obj === 'object' && obj !== null; };\nvar OTPInput = function (_a) {\n var _b = _a.value, value = _b === void 0 ? '' : _b, _c = _a.numInputs, numInputs = _c === void 0 ? 4 : _c, onChange = _a.onChange, renderInput = _a.renderInput, _d = _a.shouldAutoFocus, shouldAutoFocus = _d === void 0 ? false : _d, _e = _a.inputType, inputType = _e === void 0 ? 'text' : _e, renderSeparator = _a.renderSeparator, placeholder = _a.placeholder, containerStyle = _a.containerStyle, inputStyle = _a.inputStyle;\n var _f = React.useState(0), activeInput = _f[0], setActiveInput = _f[1];\n var inputRefs = React.useRef([]);\n var getOTPValue = function () { return (value ? value.toString().split('') : []); };\n var isInputNum = inputType === 'number' || inputType === 'tel';\n React.useEffect(function () {\n inputRefs.current = inputRefs.current.slice(0, numInputs);\n }, [numInputs]);\n React.useEffect(function () {\n var _a;\n if (shouldAutoFocus) {\n (_a = inputRefs.current[0]) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }, [shouldAutoFocus]);\n var getPlaceholderValue = function () {\n if (typeof placeholder === 'string') {\n if (placeholder.length === numInputs) {\n return placeholder;\n }\n if (placeholder.length > 0) {\n console.error('Length of the placeholder should be equal to the number of inputs.');\n }\n }\n return undefined;\n };\n var isInputValueValid = function (value) {\n var isTypeValid = isInputNum ? !isNaN(Number(value)) : typeof value === 'string';\n return isTypeValid && value.trim().length === 1;\n };\n var handleChange = function (event) {\n var value = event.target.value;\n if (isInputValueValid(value)) {\n changeCodeAtFocus(value);\n focusInput(activeInput + 1);\n }\n };\n var handleInputChange = function (event) {\n var nativeEvent = event.nativeEvent;\n if (!isInputValueValid(event.target.value)) {\n // @ts-expect-error - This was added previosly to handle and edge case\n // for dealing with keyCode \"229 Unidentified\" on Android. Check if this is\n // still needed.\n if (nativeEvent.data === null && nativeEvent.inputType === 'deleteContentBackward') {\n event.preventDefault();\n changeCodeAtFocus('');\n focusInput(activeInput - 1);\n }\n // Clear the input if it's not valid value because firefox allows\n // pasting non-numeric characters in a number type input\n event.target.value = '';\n }\n };\n var handleFocus = function (event) { return function (index) {\n setActiveInput(index);\n event.target.select();\n }; };\n var handleBlur = function () {\n setActiveInput(activeInput - 1);\n };\n var handleKeyDown = function (event) {\n var otp = getOTPValue();\n if ([event.code, event.key].includes('Backspace')) {\n event.preventDefault();\n changeCodeAtFocus('');\n focusInput(activeInput - 1);\n }\n else if (event.code === 'Delete') {\n event.preventDefault();\n changeCodeAtFocus('');\n }\n else if (event.code === 'ArrowLeft') {\n event.preventDefault();\n focusInput(activeInput - 1);\n }\n else if (event.code === 'ArrowRight') {\n event.preventDefault();\n focusInput(activeInput + 1);\n }\n // React does not trigger onChange when the same value is entered\n // again. So we need to focus the next input manually in this case.\n else if (event.key === otp[activeInput]) {\n event.preventDefault();\n focusInput(activeInput + 1);\n }\n else if (event.code === 'Spacebar' ||\n event.code === 'Space' ||\n event.code === 'ArrowUp' ||\n event.code === 'ArrowDown') {\n event.preventDefault();\n }\n };\n var focusInput = function (index) {\n var _a, _b;\n var activeInput = Math.max(Math.min(numInputs - 1, index), 0);\n if (inputRefs.current[activeInput]) {\n (_a = inputRefs.current[activeInput]) === null || _a === void 0 ? void 0 : _a.focus();\n (_b = inputRefs.current[activeInput]) === null || _b === void 0 ? void 0 : _b.select();\n setActiveInput(activeInput);\n }\n };\n var changeCodeAtFocus = function (value) {\n var otp = getOTPValue();\n otp[activeInput] = value[0];\n handleOTPChange(otp);\n };\n var handleOTPChange = function (otp) {\n var otpValue = otp.join('');\n onChange(otpValue);\n };\n var handlePaste = function (event) {\n var _a;\n event.preventDefault();\n var otp = getOTPValue();\n var nextActiveInput = activeInput;\n // Get pastedData in an array of max size (num of inputs - current position)\n var pastedData = event.clipboardData\n .getData('text/plain')\n .slice(0, numInputs - activeInput)\n .split('');\n // Prevent pasting if the clipboard data contains non-numeric values for number inputs\n if (isInputNum && pastedData.some(function (value) { return isNaN(Number(value)); })) {\n return;\n }\n // Paste data from focused input onwards\n for (var pos = 0; pos < numInputs; ++pos) {\n if (pos >= activeInput && pastedData.length > 0) {\n otp[pos] = (_a = pastedData.shift()) !== null && _a !== void 0 ? _a : '';\n nextActiveInput++;\n }\n }\n focusInput(nextActiveInput);\n handleOTPChange(otp);\n };\n return (React.createElement(\"div\", { style: Object.assign({ display: 'flex', alignItems: 'center' }, isStyleObject(containerStyle) && containerStyle), className: typeof containerStyle === 'string' ? containerStyle : undefined }, Array.from({ length: numInputs }, function (_, index) { return index; }).map(function (index) {\n var _a, _b, _c;\n return (React.createElement(React.Fragment, { key: index },\n renderInput({\n value: (_a = getOTPValue()[index]) !== null && _a !== void 0 ? _a : '',\n placeholder: (_c = (_b = getPlaceholderValue()) === null || _b === void 0 ? void 0 : _b[index]) !== null && _c !== void 0 ? _c : undefined,\n ref: function (element) { return (inputRefs.current[index] = element); },\n onChange: handleChange,\n onFocus: function (event) { return handleFocus(event)(index); },\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onPaste: handlePaste,\n autoComplete: 'off',\n maxLength: 1,\n 'aria-label': \"Please enter OTP character \".concat(index + 1),\n style: Object.assign({ width: '1em', textAlign: 'center' }, isStyleObject(inputStyle) && inputStyle),\n className: typeof inputStyle === 'string' ? inputStyle : undefined,\n type: inputType,\n inputMode: isInputNum ? 'numeric' : 'text',\n onInput: handleInputChange,\n }, index),\n index < numInputs - 1 && (typeof renderSeparator === 'function' ? renderSeparator(index) : renderSeparator)));\n })));\n};\n\nexport { OTPInput as default };\n//# sourceMappingURL=index.esm.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired,\n bgD: _propTypes2.default.string.isRequired,\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired,\n fgD: _propTypes2.default.string.isRequired,\n size: _propTypes2.default.number.isRequired,\n title: _propTypes2.default.string,\n viewBoxSize: _propTypes2.default.number.isRequired,\n xmlns: _propTypes2.default.string\n};\n\nvar defaultProps = {\n title: undefined,\n xmlns: \"http://www.w3.org/2000/svg\"\n};\n\nvar QRCodeSvg = (0, _react.forwardRef)(function (_ref, ref) {\n var bgColor = _ref.bgColor,\n bgD = _ref.bgD,\n fgD = _ref.fgD,\n fgColor = _ref.fgColor,\n size = _ref.size,\n title = _ref.title,\n viewBoxSize = _ref.viewBoxSize,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"bgD\", \"fgD\", \"fgColor\", \"size\", \"title\", \"viewBoxSize\"]);\n\n return _react2.default.createElement(\n \"svg\",\n _extends({}, props, { height: size, ref: ref, viewBox: \"0 0 \" + viewBoxSize + \" \" + viewBoxSize, width: size }),\n title ? _react2.default.createElement(\n \"title\",\n null,\n title\n ) : null,\n _react2.default.createElement(\"path\", { d: bgD, fill: bgColor }),\n _react2.default.createElement(\"path\", { d: fgD, fill: fgColor })\n );\n});\n\nQRCodeSvg.displayName = \"QRCodeSvg\";\nQRCodeSvg.propTypes = propTypes;\nQRCodeSvg.defaultProps = defaultProps;\n\nexports.default = QRCodeSvg;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _QRCode = require(\"qr.js/lib/QRCode\");\n\nvar _QRCode2 = _interopRequireDefault(_QRCode);\n\nvar _ErrorCorrectLevel = require(\"qr.js/lib/ErrorCorrectLevel\");\n\nvar _ErrorCorrectLevel2 = _interopRequireDefault(_ErrorCorrectLevel);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _QRCodeSvg = require(\"./QRCodeSvg\");\n\nvar _QRCodeSvg2 = _interopRequireDefault(_QRCodeSvg);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } // A `qr.js` doesn't handle error level of zero (M) so we need to do it right, thus the deep require.\n\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n level: _propTypes2.default.string,\n size: _propTypes2.default.number,\n value: _propTypes2.default.string.isRequired\n};\n\nvar defaultProps = {\n bgColor: \"#FFFFFF\",\n fgColor: \"#000000\",\n level: \"L\",\n size: 256\n};\n\nvar QRCode = (0, _react.forwardRef)(function (_ref, ref) {\n var bgColor = _ref.bgColor,\n fgColor = _ref.fgColor,\n level = _ref.level,\n size = _ref.size,\n value = _ref.value,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"fgColor\", \"level\", \"size\", \"value\"]);\n\n // Use type === -1 to automatically pick the best type.\n var qrcode = new _QRCode2.default(-1, _ErrorCorrectLevel2.default[level]);\n qrcode.addData(value);\n qrcode.make();\n var cells = qrcode.modules;\n return _react2.default.createElement(_QRCodeSvg2.default, _extends({}, props, {\n bgColor: bgColor,\n bgD: cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n return !cell ? \"M \" + cellIndex + \" \" + rowIndex + \" l 1 0 0 1 -1 0 Z\" : \"\";\n }).join(\" \");\n }).join(\" \"),\n fgColor: fgColor,\n fgD: cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n return cell ? \"M \" + cellIndex + \" \" + rowIndex + \" l 1 0 0 1 -1 0 Z\" : \"\";\n }).join(\" \");\n }).join(\" \"),\n ref: ref,\n size: size,\n viewBoxSize: cells.length\n }));\n});\n\nQRCode.displayName = \"QRCode\";\nQRCode.propTypes = propTypes;\nQRCode.defaultProps = defaultProps;\n\nexports.default = QRCode;","import{useState as P,useCallback as D}from\"react\";const g=({root:t,particles:e,decay:s,lifetime:a,updateParticle:c,onFinish:o})=>{const i=a;let l=0;const n=()=>{e.forEach(C=>c(C,l/i,s)),l+=1,l{if(C.element.parentNode===t)return t.removeChild(C.element)}),o())};window.requestAnimationFrame(n)},{PI:b}=Math,A=t=>t*(b/180),w=(t,e)=>{const s=Math.ceil(t),a=Math.floor(e);return Math.floor(Math.random()*(a-s))+s},x=(t,e,s,a)=>{const c=A(t),o=A(e),{random:i}=Math;return{x:0,y:0,z:0,height:0,wobble:i()*10,velocity:s*.5+i()*s,angle2D:-c+(.5*o-i()*o),angle3D:-(b/4)+i()*(b/2),tiltAngle:i()*b,differentiator:a}},H=t=>{const e=document.getElementById(t);return e||console.error(`Element with an ID of ${t} could not be found. Please provide a valid ID.`),e},B=[\"#A45BF1\",\"#25C6F6\",\"#72F753\",\"#F76C88\",\"#F5F770\"],F=[-.6,-.3,0,.3,.6],S=(t,e,s,a,c,o)=>Array.from({length:e}).map((i,l)=>{const n=document.createElement(\"span\");return n.style[\"background-color\"]=o[l%o.length],n.style.width=`${s}px`,n.style.height=`${s}px`,n.style.position=c,n.style.zIndex=`${a}`,t.appendChild(n),{element:n,differentiator:w(0,F.length)}}),Z=(t,e,s)=>{const{x:a,y:c,tiltAngle:o,wobble:i,angle2D:l,angle3D:n,velocity:C,differentiator:r}=t.physics;t.physics.x+=Math.cos(l)*C,t.physics.y+=Math.sin(l)*C,t.physics.z+=Math.sin(n)*C,t.physics.wobble+=.05,t.physics.velocity*=s,t.physics.y+=3.5,t.physics.tiltAngle+=.15;const h=a+(F[r]*e*i*i+20*(r%2?Math.sin(i/4):Math.cos(i/4))),y=c+5*Math.sin(i);t.element.style.transform=`translate3d(${h}px, ${y}px, 0) rotate3d(1, 1, 1, ${r%2?o:-1*o}rad)`,t.element.style.scale=`${1-.2*e}`,e>.5&&(t.element.style.opacity=`${2-2*e}`)},v=(t,e,s)=>{const a=s||{},{elementCount:c=50,elementSize:o=8,colors:i=B,angle:l=90,spread:n=45,decay:C=.94,lifetime:r=200,startVelocity:h=35,zIndex:y=0,position:m=\"fixed\",onAnimationComplete:d}=a,f=S(t,c,o,y,m,i).map(({element:p,differentiator:u})=>({element:p,physics:x(l,n,h,u)}));g({root:t,particles:f,decay:C,lifetime:r,updateParticle:Z,onFinish:()=>{typeof d==\"function\"&&d(),e()}})},j=[\"\\u{1F913}\",\"\\u{1F60A}\",\"\\u{1F973}\"],E=[-.6,-.3,0,.3,.6],T=(t,e,s,a,c,o)=>Array.from({length:e}).map((i,l)=>{const n=document.createElement(\"span\");return n.innerHTML=o[l%o.length],n.style.fontSize=`${s+w(0,4)}px`,n.style.position=c,n.style.zIndex=`${a}`,t.appendChild(n),{element:n,differentiator:w(0,E.length)}}),V=(t,e,s)=>{const{x:a,y:c,tiltAngle:o,angle2D:i,velocity:l,differentiator:n,wobble:C}=t.physics;t.physics.x+=Math.cos(i)*l,t.physics.y+=Math.sin(i)*l,t.physics.wobble+=0,t.physics.velocity*=s,t.physics.y+=5,t.physics.tiltAngle+=.05;const r=a+(E[n]*e*C*C+20*Math.sin(C/4));t.element.style.transform=`translate3d(${r}px, ${c}px, 0) rotate3d(0, 0, 1, ${n%2?o:-1*o}rad)`,e>.5&&(t.element.style.opacity=`${2-2*e}`)},k=(t,e,s)=>{const a=s||{},{elementCount:c=20,elementSize:o=25,emoji:i=j,angle:l=90,spread:n=45,decay:C=.94,lifetime:r=200,startVelocity:h=35,zIndex:y=0,position:m=\"fixed\",onAnimationComplete:d}=a,f=T(t,c,o,y,m,i).map(({element:p,differentiator:u})=>({element:p,physics:x(l,n,h,u)}));g({root:t,particles:f,decay:C,lifetime:r,updateParticle:V,onFinish:()=>{typeof d==\"function\"&&d(),e()}})};var L=`\n\n\n\n\n\n\n\n`;const R=[\"#A45BF1\",\"#25C6F6\",\"#72F753\",\"#F76C88\",\"#F5F770\"],I=[-.6,-.3,0,.3,.6],X=(t,e,s)=>{e.parentNode===s&&s.removeChild(e)},_=(t,e,s,a,c,o)=>Array.from({length:e}).map((i,l)=>{const n=document.createElement(\"span\");return n.innerHTML=L,n.style.width=`${s}px`,n.style.position=c,n.style.color=o[l%o.length],n.style.zIndex=`${a}`,n.addEventListener(\"click\",C=>{X(C,n,t)},{once:!0}),t.appendChild(n),{element:n,differentiator:w(0,I.length)}}),q=(t,e,s)=>{const{x:a,y:c,tiltAngle:o,angle2D:i,velocity:l,differentiator:n,wobble:C}=t.physics;t.physics.x+=Math.cos(i)*.5*l,t.physics.y+=Math.sin(i)*.5*l,t.physics.wobble+=0,t.physics.velocity*=s,t.physics.tiltAngle+=.1;const r=a+(I[n]*e*C*C+20*Math.sin(C));t.element.style.transform=`translate3d(${r}px, ${c}px, 0) rotate3d(0, 0, 1, ${n%2?Math.sin(o/4)/3:Math.cos(o/4)/3}rad)`,t.element.style.scale=`${1-.2*e}`,e>.5&&(t.element.style.opacity=`${2-2*e}`)},z=(t,e,s)=>{const a=s||{},{angle:c=90,decay:o=.999,spread:i=50,startVelocity:l=3,elementCount:n=10,elementSize:C=20,lifetime:r=600,zIndex:h=0,position:y=\"fixed\",colors:m=R,onAnimationComplete:d}=a,f=_(t,n,C,h,y,m).map(({element:p,differentiator:u})=>({element:p,physics:x(c,i,l,u)}));g({root:t,particles:f,decay:o,lifetime:r,updateParticle:q,onFinish:()=>{typeof d==\"function\"&&d(),e()}})},N=(t,e,s)=>{const[a,c]=P(!1),o=()=>{c(!1)};return{reward:D(()=>{const l=H(t);if(!!l)switch(c(!0),e){case\"confetti\":v(l,o,s);break;case\"emoji\":k(l,o,s);break;case\"balloons\":z(l,o,s);break;default:console.error(`${e} is not a valid react-rewards type.`)}},[s,t,e]),isAnimating:a}};export{z as balloons,v as confetti,k as emoji,N as useReward};\n//# sourceMappingURL=react-rewards.es.js.map\n","import objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction emailLink(url, _a) {\n var subject = _a.subject, body = _a.body, separator = _a.separator;\n return 'mailto:' + objectToGetParams({ subject: subject, body: body ? body + separator + url : url });\n}\nvar EmailShareButton = createShareButton('email', emailLink, function (props) { return ({\n subject: props.subject,\n body: props.body,\n separator: props.separator || ' ',\n}); }, {\n openShareDialogOnClick: false,\n onClick: function (_, link) {\n window.location.href = link;\n },\n});\nexport default EmailShareButton;\n","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction facebookLink(url, _a) {\n var quote = _a.quote, hashtag = _a.hashtag;\n assert(url, 'facebook.url');\n return ('https://www.facebook.com/sharer/sharer.php' +\n objectToGetParams({\n u: url,\n quote: quote,\n hashtag: hashtag,\n }));\n}\nvar FacebookShareButton = createShareButton('facebook', facebookLink, function (props) { return ({\n quote: props.quote,\n hashtag: props.hashtag,\n}); }, {\n windowWidth: 550,\n windowHeight: 400,\n});\nexport default FacebookShareButton;\n","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction linkedinLink(url, _a) {\n var title = _a.title, summary = _a.summary, source = _a.source;\n assert(url, 'linkedin.url');\n return ('https://linkedin.com/shareArticle' +\n objectToGetParams({ url: url, mini: 'true', title: title, summary: summary, source: source }));\n}\nvar LinkedinShareButton = createShareButton('linkedin', linkedinLink, function (_a) {\n var title = _a.title, summary = _a.summary, source = _a.source;\n return ({ title: title, summary: summary, source: source });\n}, {\n windowWidth: 750,\n windowHeight: 600,\n});\nexport default LinkedinShareButton;\n","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\nfunction twitterLink(url, _a) {\n var title = _a.title, via = _a.via, _b = _a.hashtags, hashtags = _b === void 0 ? [] : _b, _c = _a.related, related = _c === void 0 ? [] : _c;\n assert(url, 'twitter.url');\n assert(Array.isArray(hashtags), 'twitter.hashtags is not an array');\n assert(Array.isArray(related), 'twitter.related is not an array');\n return ('https://twitter.com/share' +\n objectToGetParams({\n url: url,\n text: title,\n via: via,\n hashtags: hashtags.length > 0 ? hashtags.join(',') : undefined,\n related: related.length > 0 ? related.join(',') : undefined,\n }));\n}\nvar TwitterShareButton = createShareButton('twitter', twitterLink, function (props) { return ({\n hashtags: props.hashtags,\n title: props.title,\n via: props.via,\n related: props.related,\n}); }, {\n windowWidth: 550,\n windowHeight: 400,\n});\nexport default TwitterShareButton;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { Component } from 'react';\nimport cx from 'classnames';\nvar isPromise = function (obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n};\nvar getBoxPositionOnWindowCenter = function (width, height) { return ({\n left: window.outerWidth / 2 + (window.screenX || window.screenLeft || 0) - width / 2,\n top: window.outerHeight / 2 + (window.screenY || window.screenTop || 0) - height / 2,\n}); };\nvar getBoxPositionOnScreenCenter = function (width, height) { return ({\n top: (window.screen.height - height) / 2,\n left: (window.screen.width - width) / 2,\n}); };\nfunction windowOpen(url, _a, onClose) {\n var height = _a.height, width = _a.width, configRest = __rest(_a, [\"height\", \"width\"]);\n var config = __assign({ height: height, width: width, location: 'no', toolbar: 'no', status: 'no', directories: 'no', menubar: 'no', scrollbars: 'yes', resizable: 'no', centerscreen: 'yes', chrome: 'yes' }, configRest);\n var shareDialog = window.open(url, '', Object.keys(config)\n .map(function (key) { return \"\".concat(key, \"=\").concat(config[key]); })\n .join(', '));\n if (onClose) {\n var interval_1 = window.setInterval(function () {\n try {\n if (shareDialog === null || shareDialog.closed) {\n window.clearInterval(interval_1);\n onClose(shareDialog);\n }\n }\n catch (e) {\n /* eslint-disable no-console */\n console.error(e);\n /* eslint-enable no-console */\n }\n }, 1000);\n }\n return shareDialog;\n}\nvar ShareButton = /** @class */ (function (_super) {\n __extends(ShareButton, _super);\n function ShareButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.openShareDialog = function (link) {\n var _a = _this.props, onShareWindowClose = _a.onShareWindowClose, _b = _a.windowHeight, windowHeight = _b === void 0 ? 400 : _b, _c = _a.windowPosition, windowPosition = _c === void 0 ? 'windowCenter' : _c, _d = _a.windowWidth, windowWidth = _d === void 0 ? 550 : _d;\n var windowConfig = __assign({ height: windowHeight, width: windowWidth }, (windowPosition === 'windowCenter'\n ? getBoxPositionOnWindowCenter(windowWidth, windowHeight)\n : getBoxPositionOnScreenCenter(windowWidth, windowHeight)));\n windowOpen(link, windowConfig, onShareWindowClose);\n };\n _this.handleClick = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var _a, beforeOnClick, disabled, networkLink, onClick, url, openShareDialogOnClick, opts, link, returnVal;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.props, beforeOnClick = _a.beforeOnClick, disabled = _a.disabled, networkLink = _a.networkLink, onClick = _a.onClick, url = _a.url, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts;\n link = networkLink(url, opts);\n if (disabled) {\n return [2 /*return*/];\n }\n event.preventDefault();\n if (!beforeOnClick) return [3 /*break*/, 2];\n returnVal = beforeOnClick();\n if (!isPromise(returnVal)) return [3 /*break*/, 2];\n return [4 /*yield*/, returnVal];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n if (openShareDialogOnClick) {\n this.openShareDialog(link);\n }\n if (onClick) {\n onClick(event, link);\n }\n return [2 /*return*/];\n }\n });\n }); };\n return _this;\n }\n ShareButton.prototype.render = function () {\n var _a = this.props, beforeOnClick = _a.beforeOnClick, children = _a.children, className = _a.className, disabled = _a.disabled, disabledStyle = _a.disabledStyle, forwardedRef = _a.forwardedRef, networkLink = _a.networkLink, networkName = _a.networkName, onShareWindowClose = _a.onShareWindowClose, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts, resetButtonStyle = _a.resetButtonStyle, style = _a.style, url = _a.url, windowHeight = _a.windowHeight, windowPosition = _a.windowPosition, windowWidth = _a.windowWidth, rest = __rest(_a, [\"beforeOnClick\", \"children\", \"className\", \"disabled\", \"disabledStyle\", \"forwardedRef\", \"networkLink\", \"networkName\", \"onShareWindowClose\", \"openShareDialogOnClick\", \"opts\", \"resetButtonStyle\", \"style\", \"url\", \"windowHeight\", \"windowPosition\", \"windowWidth\"]);\n var newClassName = cx('react-share__ShareButton', {\n 'react-share__ShareButton--disabled': !!disabled,\n disabled: !!disabled,\n }, className);\n var newStyle = resetButtonStyle\n ? __assign(__assign({ backgroundColor: 'transparent', border: 'none', padding: 0, font: 'inherit', color: 'inherit', cursor: 'pointer' }, style), (disabled && disabledStyle)) : __assign(__assign({}, style), (disabled && disabledStyle));\n return (React.createElement(\"button\", __assign({}, rest, { \"aria-label\": rest['aria-label'] || networkName, className: newClassName, onClick: this.handleClick, ref: forwardedRef, style: newStyle }), children));\n };\n ShareButton.defaultProps = {\n disabledStyle: { opacity: 0.6 },\n openShareDialogOnClick: true,\n resetButtonStyle: true,\n };\n return ShareButton;\n}(Component));\nexport default ShareButton;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React, { forwardRef } from 'react';\nimport ShareButton from '../ShareButton';\nfunction createShareButton(networkName, link, optsMap, defaultProps) {\n function CreatedButton(props, ref) {\n var opts = optsMap(props);\n var passedProps = __assign({}, props);\n // remove keys from passed props that are passed as opts\n var optsKeys = Object.keys(opts);\n optsKeys.forEach(function (key) {\n delete passedProps[key];\n });\n return (React.createElement(ShareButton, __assign({}, defaultProps, passedProps, { forwardedRef: ref, networkName: networkName, networkLink: link, opts: optsMap(props) })));\n }\n CreatedButton.displayName = \"ShareButton-\".concat(networkName);\n return forwardRef(CreatedButton);\n}\nexport default createShareButton;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AssertionError = /** @class */ (function (_super) {\n __extends(AssertionError, _super);\n function AssertionError(message) {\n var _this = _super.call(this, message) || this;\n _this.name = 'AssertionError';\n return _this;\n }\n return AssertionError;\n}(Error));\nexport default function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n}\n","export default function objectToGetParams(object) {\n var params = Object.entries(object)\n .filter(function (_a) {\n var value = _a[1];\n return value !== undefined && value !== null;\n })\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(String(value)));\n });\n return params.length > 0 ? \"?\".concat(params.join('&')) : '';\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","import { useRef, useCallback } from 'react';\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\n\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = useRef();\n return useCallback(function (instance) {\n libRef.current = instance;\n\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n\n prevUserRef.current = userRef;\n\n if (!userRef) {\n return;\n }\n\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport default useComposedRef;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { useLayoutEffect, forwardRef, useRef, createElement } from 'react';\nimport useLatest from 'use-latest';\nimport useComposedRef from 'use-composed-ref';\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\n\n// TODO: use labelled tuples once they are avaiable:\n// export type CalculatedNodeHeights = [height: number, rowHeight: number];\n// https://github.com/microsoft/TypeScript/issues/28259\n\nvar hiddenTextarea = null;\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n }\n\n // remove padding, since height = content\n return height - sizingData.paddingSize;\n};\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tabindex', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles(hiddenTextarea);\n }\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData);\n // Double set and calc due to Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1795904\n hiddenTextarea.value = value;\n height = getHeight(hiddenTextarea, sizingData);\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop',\n// non-standard\n'tabSize', 'textIndent',\n// non-standard\n'textRendering', 'textTransform', 'width', 'wordBreak'];\nvar isIE = !!document.documentElement.currentStyle ;\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n if (style === null) {\n return null;\n }\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing;\n\n // probably node is detached from DOM, can't read computed dimensions\n if (boxSizing === '') {\n return null;\n }\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\n\nfunction useListener(target, type, listener) {\n var latestListener = useLatest(listener);\n useLayoutEffect(function () {\n var handler = function handler(ev) {\n return latestListener.current(ev);\n };\n target.addEventListener(type, handler);\n return function () {\n return target.removeEventListener(type, handler);\n };\n }, []);\n}\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n useListener(window, 'resize', listener);\n};\nvar useFontsLoadedListener = function useFontsLoadedListener(listener) {\n useListener(document.fonts, 'loadingdone', listener);\n};\n\nvar _excluded = [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"];\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production' && props.style) {\n if ('maxHeight' in props.style) {\n throw new Error('Using `style.maxHeight` for is not supported. Please use `maxRows`.');\n }\n if ('minHeight' in props.style) {\n throw new Error('Using `style.minHeight` for is not supported. Please use `minRows`.');\n }\n }\n var isControlled = props.value !== undefined;\n var libRef = useRef(null);\n var ref = useComposedRef(libRef, userRef);\n var heightRef = useRef(0);\n var measurementsCacheRef = useRef();\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData(node);\n if (!nodeSizingData) {\n return;\n }\n measurementsCacheRef.current = nodeSizingData;\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n onChange(event);\n };\n {\n useLayoutEffect(resizeTextarea);\n useWindowResizeListener(resizeTextarea);\n useFontsLoadedListener(resizeTextarea);\n }\n return /*#__PURE__*/createElement(\"textarea\", _extends({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n};\nvar index = /* #__PURE__ */forwardRef(TextareaAutosize);\n\nexport default index;\n","import * as React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\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 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 return target;\n}","/**\n * Module dependencies\n */\nvar balanced = require(\"balanced-match\")\nvar reduceFunctionCall = require(\"reduce-function-call\")\nvar mexp = require(\"math-expression-evaluator\")\n\n/**\n * Constantes\n */\nvar MAX_STACK = 100 // should be enough for a single calc()...\nvar NESTED_CALC_RE = /(\\+|\\-|\\*|\\\\|[^a-z]|)(\\s*)(\\()/g\n\n/**\n * Global variables\n */\nvar stack\n\n/**\n * Expose reduceCSSCalc plugin\n *\n * @type {Function}\n */\nmodule.exports = reduceCSSCalc\n\n/**\n * Reduce CSS calc() in a string, whenever it's possible\n *\n * @param {String} value css input\n */\nfunction reduceCSSCalc(value, decimalPrecision) {\n stack = 0\n decimalPrecision = Math.pow(10, decimalPrecision === undefined ? 5 : decimalPrecision)\n\n // Allow calc() on multiple lines\n value = value.replace(/\\n+/g, \" \")\n\n /**\n * Evaluates an expression\n *\n * @param {String} expression\n * @returns {String}\n */\n function evaluateExpression (expression, functionIdentifier, call) {\n if (stack++ > MAX_STACK) {\n stack = 0\n throw new Error(\"Call stack overflow for \" + call)\n }\n\n if (expression === \"\") {\n throw new Error(functionIdentifier + \"(): '\" + call + \"' must contain a non-whitespace string\")\n }\n\n expression = evaluateNestedExpression(expression, call)\n\n var units = getUnitsInExpression(expression)\n\n // If the expression contains multiple units or CSS variables,\n // then let the expression be (i.e. browser calc())\n if (units.length > 1 || expression.indexOf(\"var(\") > -1) {\n return functionIdentifier + \"(\" + expression + \")\"\n }\n\n var unit = units[0] || \"\"\n\n if (unit === \"%\") {\n // Convert percentages to numbers, to handle expressions like: 50% * 50% (will become: 25%):\n // console.log(expression)\n expression = expression.replace(/\\b[0-9\\.]+%/g, function(percent) {\n return parseFloat(percent.slice(0, -1)) * 0.01\n })\n }\n\n // Remove units in expression:\n var toEvaluate = expression.replace(new RegExp(unit, \"gi\"), \"\")\n var result\n\n try {\n result = mexp.eval(toEvaluate)\n }\n catch (e) {\n return functionIdentifier + \"(\" + expression + \")\"\n }\n\n // Transform back to a percentage result:\n if (unit === \"%\") {\n result *= 100\n }\n\n // adjust rounding shit\n // (0.1 * 0.2 === 0.020000000000000004)\n if (functionIdentifier.length || unit === \"%\") {\n result = Math.round(result * decimalPrecision) / decimalPrecision\n }\n\n // Add unit\n result += unit\n\n return result\n }\n\n /**\n * Evaluates nested expressions\n *\n * @param {String} expression\n * @returns {String}\n */\n function evaluateNestedExpression(expression, call) {\n // Remove the calc part from nested expressions to ensure\n // better browser compatibility\n expression = expression.replace(/((?:\\-[a-z]+\\-)?calc)/g, \"\")\n var evaluatedPart = \"\"\n var nonEvaluatedPart = expression\n var matches\n while ((matches = NESTED_CALC_RE.exec(nonEvaluatedPart))) {\n if (matches[0].index > 0) {\n evaluatedPart += nonEvaluatedPart.substring(0, matches[0].index)\n }\n\n var balancedExpr = balanced(\"(\", \")\", nonEvaluatedPart.substring([0].index))\n if (balancedExpr.body === \"\") {\n throw new Error(\"'\" + expression + \"' must contain a non-whitespace string\")\n }\n\n var evaluated = evaluateExpression(balancedExpr.body, \"\", call)\n\n evaluatedPart += balancedExpr.pre + evaluated\n nonEvaluatedPart = balancedExpr.post\n }\n\n return evaluatedPart + nonEvaluatedPart\n }\n\n return reduceFunctionCall(value, /((?:\\-[a-z]+\\-)?calc)\\(/, evaluateExpression)\n}\n\n/**\n * Checks what units are used in an expression\n *\n * @param {String} expression\n * @returns {Array}\n */\n\nfunction getUnitsInExpression(expression) {\n var uniqueUnits = []\n var uniqueLowerCaseUnits = []\n var unitRegEx = /[\\.0-9]([%a-z]+)/gi\n var matches = unitRegEx.exec(expression)\n\n while (matches) {\n if (!matches || !matches[1]) {\n continue\n }\n\n if (uniqueLowerCaseUnits.indexOf(matches[1].toLowerCase()) === -1) {\n uniqueUnits.push(matches[1])\n uniqueLowerCaseUnits.push(matches[1].toLowerCase())\n }\n\n matches = unitRegEx.exec(expression)\n }\n\n return uniqueUnits\n}\n","module.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","/*\n * Module dependencies\n */\nvar balanced = require(\"balanced-match\")\n\n/**\n * Expose `reduceFunctionCall`\n *\n * @type {Function}\n */\nmodule.exports = reduceFunctionCall\n\n/**\n * Walkthrough all expressions, evaluate them and insert them into the declaration\n *\n * @param {Array} expressions\n * @param {Object} declaration\n */\n\nfunction reduceFunctionCall(string, functionRE, callback) {\n var call = string\n return getFunctionCalls(string, functionRE).reduce(function(string, obj) {\n return string.replace(obj.functionIdentifier + \"(\" + obj.matches.body + \")\", evalFunctionCall(obj.matches.body, obj.functionIdentifier, callback, call, functionRE))\n }, string)\n}\n\n/**\n * Parses expressions in a value\n *\n * @param {String} value\n * @returns {Array}\n * @api private\n */\n\nfunction getFunctionCalls(call, functionRE) {\n var expressions = []\n\n var fnRE = typeof functionRE === \"string\" ? new RegExp(\"\\\\b(\" + functionRE + \")\\\\(\") : functionRE\n do {\n var searchMatch = fnRE.exec(call)\n if (!searchMatch) {\n return expressions\n }\n if (searchMatch[1] === undefined) {\n throw new Error(\"Missing the first couple of parenthesis to get the function identifier in \" + functionRE)\n }\n var fn = searchMatch[1]\n var startIndex = searchMatch.index\n var matches = balanced(\"(\", \")\", call.substring(startIndex))\n\n if (!matches || matches.start !== searchMatch[0].length - 1) {\n throw new SyntaxError(fn + \"(): missing closing ')' in the value '\" + call + \"'\")\n }\n\n expressions.push({matches: matches, functionIdentifier: fn})\n call = matches.post\n }\n while (fnRE.test(call))\n\n return expressions\n}\n\n/**\n * Evaluates an expression\n *\n * @param {String} expression\n * @returns {String}\n * @api private\n */\n\nfunction evalFunctionCall (string, functionIdentifier, callback, call, functionRE) {\n // allow recursivity\n return callback(reduceFunctionCall(string, functionRE, callback), functionIdentifier, call)\n}\n","import _isNil from \"lodash/isNil\";\nimport _assign from \"lodash/assign\";\nimport { Helpers, LabelHelpers, Data, Domain, Scale, Collection } from \"victory-core\";\nexport var getDataWithBaseline = function (props, scale) {\n var data = Data.getData(props);\n\n if (data.length < 2) {\n data = [];\n }\n\n var getDefaultMin = function (axis) {\n var defaultZero = Scale.getType(scale[axis]) === \"log\" ? 1 / Number.MAX_SAFE_INTEGER : 0;\n var domain = scale[axis].domain();\n var minY = Collection.getMinValue(domain);\n var maxY = Collection.getMaxValue(domain);\n var defaultMin = defaultZero;\n\n if (minY < 0 && maxY <= 0) {\n defaultMin = maxY;\n } else if (minY >= 0 && maxY > 0) {\n defaultMin = minY;\n }\n\n return Collection.containsDates(domain) ? new Date(defaultMin) : defaultMin;\n };\n\n return data.map(function (datum) {\n var _y1 = datum._y1 !== undefined ? datum._y1 : datum._y;\n\n var _y0 = datum._y0 !== undefined ? datum._y0 : getDefaultMin(\"y\");\n\n var _x1 = datum._x1 !== undefined ? datum._x1 : datum._x;\n\n var _x0 = datum._x0 !== undefined ? datum._x0 : getDefaultMin(\"x\");\n\n return _assign({}, datum, {\n _y0: _y0,\n _y1: _y1,\n _x0: _x0,\n _x1: _x1\n });\n });\n};\n\nvar getCalculatedValues = function (props) {\n var polar = props.polar;\n var defaultStyles = Helpers.getDefaultStyles(props, \"area\");\n var style = Helpers.getStyles(props.style, defaultStyles);\n var range = {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n };\n var domain = {\n x: Domain.getDomainWithZero(props, \"x\"),\n y: Domain.getDomainWithZero(props, \"y\")\n };\n var scale = {\n x: Scale.getBaseScale(props, \"x\").domain(domain.x).range(props.horizontal ? range.y : range.x),\n y: Scale.getBaseScale(props, \"y\").domain(domain.y).range(props.horizontal ? range.x : range.y)\n };\n var origin = polar ? props.origin || Helpers.getPolarOrigin(props) : undefined;\n var data = getDataWithBaseline(props, scale);\n return {\n style: style,\n data: data,\n scale: scale,\n domain: domain,\n origin: origin\n };\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, \"area\");\n props = _assign({}, modifiedProps, getCalculatedValues(modifiedProps));\n var _props = props,\n data = _props.data,\n domain = _props.domain,\n events = _props.events,\n groupComponent = _props.groupComponent,\n height = _props.height,\n horizontal = _props.horizontal,\n interpolation = _props.interpolation,\n origin = _props.origin,\n padding = _props.padding,\n polar = _props.polar,\n scale = _props.scale,\n sharedEvents = _props.sharedEvents,\n standalone = _props.standalone,\n style = _props.style,\n theme = _props.theme,\n width = _props.width,\n labels = _props.labels,\n name = _props.name,\n disableInlineStyles = _props.disableInlineStyles;\n var initialChildProps = {\n parent: {\n style: style.parent,\n width: width,\n height: height,\n scale: scale,\n data: data,\n domain: domain,\n standalone: standalone,\n theme: theme,\n polar: polar,\n origin: origin,\n padding: padding,\n name: name,\n horizontal: horizontal\n },\n all: {\n data: {\n horizontal: horizontal,\n polar: polar,\n origin: origin,\n scale: scale,\n data: data,\n interpolation: interpolation,\n groupComponent: groupComponent,\n style: disableInlineStyles ? {} : style.data,\n disableInlineStyles: disableInlineStyles\n }\n }\n };\n return data.reduce(function (childProps, datum, index) {\n var text = LabelHelpers.getText(props, datum, index);\n\n if (text !== undefined && text !== null || labels && (events || sharedEvents)) {\n var eventKey = !_isNil(datum.eventKey) ? datum.eventKey : index;\n childProps[eventKey] = {\n labels: LabelHelpers.getProps(props, index)\n };\n }\n\n return childProps;\n }, initialChildProps);\n};","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [-1, 0, 1, 2] }]*/\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as d3Shape from \"victory-vendor/d3-shape\";\nimport { Helpers, CommonProps, Path, UserProps, LineHelpers } from \"victory-core\";\n\nvar defined = function (d) {\n var y = d._y1 !== undefined ? d._y1 : d._y;\n return y !== null && y !== undefined && d._y0 !== null;\n};\n\nvar getXAccessor = function (scale) {\n return function (d) {\n return scale.x(d._x1 !== undefined ? d._x1 : d._x);\n };\n};\n\nvar getYAccessor = function (scale) {\n return function (d) {\n return scale.y(d._y1 !== undefined ? d._y1 : d._y);\n };\n};\n\nvar getY0Accessor = function (scale) {\n return function (d) {\n return scale.y(d._y0);\n };\n};\n\nvar getAngleAccessor = function (scale) {\n return function (d) {\n var x = scale.x(d._x1 !== undefined ? d._x1 : d._x);\n return -1 * x + Math.PI / 2;\n };\n};\n\nvar getCartesianArea = function (props) {\n var horizontal = props.horizontal,\n scale = props.scale;\n var interpolationFunction = LineHelpers.getInterpolationFunction(props);\n return horizontal ? d3Shape.area().defined(defined).curve(interpolationFunction).x0(getY0Accessor(scale)).x1(getYAccessor(scale)).y(getXAccessor(scale)) : d3Shape.area().defined(defined).curve(interpolationFunction).x(getXAccessor(scale)).y1(getYAccessor(scale)).y0(getY0Accessor(scale));\n};\n\nvar getAreaFunction = function (props) {\n var polar = props.polar,\n scale = props.scale;\n var interpolationFunction = LineHelpers.getInterpolationFunction(props);\n return polar ? d3Shape.radialArea().defined(defined).curve(interpolationFunction).angle(getAngleAccessor(scale)).outerRadius(getYAccessor(scale)).innerRadius(getY0Accessor(scale)) : getCartesianArea(props);\n};\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `ariaLabel`\n * `desc`\n * `id`\n * `style`\n * `tabIndex`\n */\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var desc = Helpers.evaluateProp(props.desc, props);\n var id = Helpers.evaluateProp(props.id, props);\n var style = Helpers.evaluateStyle(_assign({\n fill: \"black\"\n }, props.style), props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n desc: desc,\n id: id,\n style: style,\n tabIndex: tabIndex\n });\n};\n/**\n * The area primitive used by VictoryArea\n */\n\n\nexport var Area = function (props) {\n props = evaluateProps(props);\n var _props = props,\n ariaLabel = _props.ariaLabel,\n role = _props.role,\n shapeRendering = _props.shapeRendering,\n className = _props.className,\n polar = _props.polar,\n origin = _props.origin,\n data = _props.data,\n pathComponent = _props.pathComponent,\n events = _props.events,\n groupComponent = _props.groupComponent,\n clipPath = _props.clipPath,\n id = _props.id,\n style = _props.style,\n desc = _props.desc,\n tabIndex = _props.tabIndex;\n var userProps = UserProps.getSafeUserProps(props);\n var defaultTransform = polar && origin ? \"translate(\".concat(origin.x, \", \").concat(origin.y, \")\") : undefined;\n var transform = props.transform || defaultTransform;\n var renderLine = style.stroke && style.stroke !== \"none\" && style.stroke !== \"transparent\";\n var areaFunction = getAreaFunction(props);\n var lineFunction = renderLine && LineHelpers.getLineFunction(props);\n var areaStroke = style.stroke ? \"none\" : style.fill;\n\n var sharedProps = _objectSpread(_objectSpread({\n \"aria-label\": ariaLabel,\n className: className,\n role: role,\n shapeRendering: shapeRendering,\n transform: transform\n }, events), {}, {\n clipPath: clipPath,\n tabIndex: tabIndex\n });\n\n var area = /*#__PURE__*/React.cloneElement(pathComponent, _assign({\n key: \"\".concat(id, \"-area\"),\n style: _assign({}, style, {\n stroke: areaStroke\n }),\n d: areaFunction(data),\n desc: desc,\n tabIndex: tabIndex\n }, sharedProps, userProps));\n var line = renderLine ? /*#__PURE__*/React.cloneElement(pathComponent, _assign({\n key: \"\".concat(id, \"-area-stroke\"),\n style: _assign({}, style, {\n fill: \"none\"\n }),\n d: lineFunction(data)\n }, sharedProps)) : null;\n return renderLine ? /*#__PURE__*/React.cloneElement(groupComponent, userProps, [area, line]) : area;\n};\nArea.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n groupComponent: PropTypes.element,\n interpolation: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n pathComponent: PropTypes.element\n});\nArea.defaultProps = {\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { getBaseProps } from \"./helper-methods\";\nimport { Area } from \"./area\";\nimport { PropTypes as CustomPropTypes, Helpers, VictoryLabel, VictoryContainer, CommonProps, DefaultTransitions, VictoryClipContainer, addEvents, VictoryTheme, Data, Domain, UserProps } from \"victory-core\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50,\n interpolation: \"linear\"\n};\nvar options = {\n components: [{\n name: \"parent\",\n index: \"parent\"\n }, {\n name: \"data\",\n index: \"all\"\n }, {\n name: \"labels\"\n }]\n};\n\n/**\n * Draw area charts with React. VictoryArea is a composable component, so it doesn't include axes.\n * Add VictoryArea as a child of VictoryChart for a complete chart.\n */\nvar VictoryAreaBase = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryAreaBase, _React$Component);\n\n var _super = _createSuper(VictoryAreaBase);\n\n function VictoryAreaBase() {\n _classCallCheck(this, VictoryAreaBase);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryAreaBase, [{\n key: \"shouldAnimate\",\n value: // Overridden in native versions\n function shouldAnimate() {\n return !!this.props.animate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryAreaBase.animationWhitelist,\n role = VictoryAreaBase.role;\n var props = Helpers.modifyProps(this.props, fallbackProps, role);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var children = this.renderContinuousData(props);\n var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children;\n return UserProps.withSafeUserProps(component, props);\n }\n }]);\n\n return VictoryAreaBase;\n}(React.Component);\n\nVictoryAreaBase.animationWhitelist = [\"data\", \"domain\", \"height\", \"padding\", \"style\", \"width\"];\nVictoryAreaBase.propTypes = _objectSpread(_objectSpread(_objectSpread({}, CommonProps.baseProps), CommonProps.dataProps), {}, {\n interpolation: PropTypes.oneOfType([PropTypes.oneOf([\"basis\", \"cardinal\", \"catmullRom\", \"linear\", \"monotoneX\", \"monotoneY\", \"natural\", \"step\", \"stepAfter\", \"stepBefore\"]), PropTypes.func]),\n label: CustomPropTypes.deprecated(PropTypes.string, \"Use `labels` instead for individual data labels\")\n});\nVictoryAreaBase.defaultProps = {\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n dataComponent: /*#__PURE__*/React.createElement(Area, null),\n groupComponent: /*#__PURE__*/React.createElement(VictoryClipContainer, null),\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {\n renderInPortal: true\n }),\n samples: 50,\n sortKey: \"x\",\n sortOrder: \"ascending\",\n standalone: true,\n theme: VictoryTheme.grayscale\n};\nVictoryAreaBase.displayName = \"VictoryArea\";\nVictoryAreaBase.role = \"area\";\nVictoryAreaBase.continuous = true;\nVictoryAreaBase.defaultTransitions = DefaultTransitions.continuousTransitions();\nVictoryAreaBase.defaultPolarTransitions = DefaultTransitions.continuousPolarTransitions();\nVictoryAreaBase.getDomain = Domain.getDomainWithZero;\nVictoryAreaBase.getData = Data.getData;\n\nVictoryAreaBase.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryAreaBase.expectedComponents = [\"dataComponent\", \"labelComponent\", \"groupComponent\", \"containerComponent\"];\nexport var VictoryArea = addEvents(VictoryAreaBase, options);","import _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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\nimport { Helpers, Scale, Axis } from \"victory-core\";\nvar orientationSign = {\n top: -1,\n left: -1,\n right: 1,\n bottom: 1\n};\n\nvar exists = function (val) {\n return val !== null && val !== undefined;\n};\n\nvar getCurrentAxis = function (props, axis) {\n var orientation = props.orientation,\n horizontal = props.horizontal;\n\n if (orientation) {\n var dimensions = {\n top: \"x\",\n bottom: \"x\",\n left: \"y\",\n right: \"y\"\n };\n return dimensions[orientation];\n }\n\n var otherAxis = axis === \"x\" ? \"y\" : \"x\";\n return horizontal ? otherAxis : axis;\n};\n\nvar getScale = function (props) {\n var axis = Axis.getAxis(props);\n var currentAxis = getCurrentAxis(props, axis);\n var scale = Scale.getBaseScale(props, axis);\n var propsDomain = props.domain && props.domain[axis];\n var domain = propsDomain || Axis.getDomain(props) || scale.domain();\n scale.range(Helpers.getRange(props, currentAxis));\n scale.domain(domain);\n return scale;\n};\n\nvar getStyleObject = function (props) {\n var theme = props.theme,\n dependentAxis = props.dependentAxis;\n var generalAxisStyle = theme && theme.axis && theme.axis.style;\n var axisType = dependentAxis ? \"dependentAxis\" : \"independentAxis\";\n var specificAxisStyle = theme && theme[axisType] && theme[axisType].style;\n\n var mergeStyles = function () {\n var styleNamespaces = [\"axis\", \"axisLabel\", \"grid\", \"parent\", \"tickLabels\", \"ticks\"];\n return styleNamespaces.reduce(function (memo, curr) {\n memo[curr] = _defaults({}, specificAxisStyle[curr], generalAxisStyle[curr]);\n return memo;\n }, {});\n };\n\n return generalAxisStyle && specificAxisStyle ? mergeStyles() : specificAxisStyle || generalAxisStyle;\n};\n\nexport var getStyles = function (props, styleObject) {\n var style = props.style || {};\n styleObject = styleObject || {};\n var parentStyleProps = {\n height: \"100%\",\n width: \"100%\"\n };\n return {\n parent: _defaults(style.parent, styleObject.parent, parentStyleProps),\n axis: _defaults({}, style.axis, styleObject.axis),\n axisLabel: _defaults({}, style.axisLabel, styleObject.axisLabel),\n grid: _defaults({}, style.grid, styleObject.grid),\n ticks: _defaults({}, style.ticks, styleObject.ticks),\n tickLabels: _defaults({}, style.tickLabels, styleObject.tickLabels)\n };\n};\n\nvar getTickProps = function (layout, style, datum) {\n var position = layout.position,\n transform = layout.transform;\n return {\n x1: transform.x,\n y1: transform.y,\n x2: transform.x + position.x2,\n y2: transform.y + position.y2,\n style: style,\n datum: datum\n };\n}; // eslint-disable-next-line max-params\n\n\nvar getTickLabelProps = function (layout, style, anchors, datum, text) {\n var position = layout.position,\n transform = layout.transform;\n return {\n style: style,\n x: transform.x + position.x,\n y: transform.y + position.y,\n verticalAnchor: anchors.verticalAnchor,\n textAnchor: anchors.textAnchor,\n angle: style.angle,\n text: text,\n datum: datum\n };\n};\n\nvar getGridProps = function (layout, style, datum) {\n var edge = layout.edge,\n transform = layout.transform;\n return {\n x1: transform.x,\n y1: transform.y,\n x2: edge.x + transform.x,\n y2: edge.y + transform.y,\n style: style,\n datum: datum\n };\n};\n\nvar getAxisProps = function (modifiedProps, calculatedValues, globalTransform) {\n var style = calculatedValues.style,\n padding = calculatedValues.padding,\n isVertical = calculatedValues.isVertical;\n var width = modifiedProps.width,\n height = modifiedProps.height;\n return {\n style: style.axis,\n x1: isVertical ? globalTransform.x : padding.left + globalTransform.x,\n x2: isVertical ? globalTransform.x : width - padding.right + globalTransform.x,\n y1: isVertical ? padding.top + globalTransform.y : globalTransform.y,\n y2: isVertical ? height - padding.bottom + globalTransform.y : globalTransform.y\n };\n};\n\nvar getEvaluatedStyles = function (style, props) {\n return {\n tickStyle: Helpers.evaluateStyle(style.ticks, props),\n labelStyle: Helpers.evaluateStyle(style.tickLabels, props),\n gridStyle: Helpers.evaluateStyle(style.grid, props)\n };\n};\n\nvar getAxisLabelProps = function (props, calculatedValues, globalTransform) {\n var style = calculatedValues.style,\n orientation = calculatedValues.orientation,\n padding = calculatedValues.padding,\n labelPadding = calculatedValues.labelPadding,\n isVertical = calculatedValues.isVertical;\n var sign = orientationSign[orientation];\n var hPadding = padding.left + padding.right;\n var vPadding = padding.top + padding.bottom;\n var verticalAnchor = sign < 0 ? \"end\" : \"start\";\n var labelStyle = style.axisLabel;\n var angle = isVertical ? -90 : 0; // eslint-disable-line no-magic-numbers\n\n var x = isVertical ? globalTransform.x + sign * labelPadding : (props.width - hPadding) / 2 + padding.left + globalTransform.x;\n var y = isVertical ? (props.height - vPadding) / 2 + padding.top + globalTransform.y : sign * labelPadding + globalTransform.y;\n return {\n x: x,\n y: y,\n verticalAnchor: labelStyle.verticalAnchor || verticalAnchor,\n textAnchor: labelStyle.textAnchor || \"middle\",\n angle: labelStyle.angle === undefined ? angle : labelStyle.angle,\n style: labelStyle,\n text: props.label\n };\n};\n\nvar getAnchors = function (orientation, isVertical) {\n var anchorOrientation = {\n top: \"end\",\n left: \"end\",\n right: \"start\",\n bottom: \"start\"\n };\n var anchor = anchorOrientation[orientation];\n return {\n textAnchor: isVertical ? anchor : \"middle\",\n verticalAnchor: isVertical ? \"middle\" : anchor\n };\n};\n\nvar getLabelPadding = function (props, style) {\n var labelStyle = style.axisLabel || {};\n\n if (labelStyle.padding !== undefined && labelStyle.padding !== null) {\n return labelStyle.padding;\n }\n\n var isVertical = Axis.isVertical(props); // TODO: magic numbers\n\n /* eslint-disable no-magic-numbers*/\n\n var fontSize = labelStyle.fontSize || 14;\n return props.label ? fontSize * (isVertical ? 2.3 : 1.6) : 0;\n /* eslint-enable no-magic-numbers*/\n};\n\nvar getDefaultOrientations = function (axis, originSign, horizontal) {\n var sign = originSign || \"positive\";\n var orientations = {\n positive: {\n x: \"bottom\",\n y: \"left\"\n },\n negative: {\n x: \"top\",\n y: \"right\"\n }\n };\n var horizontalOrientations = {\n positive: {\n x: \"left\",\n y: \"bottom\"\n },\n negative: {\n x: \"right\",\n y: \"top\"\n }\n };\n return horizontal ? horizontalOrientations[sign][axis] : orientations[sign][axis];\n};\n\nvar getStandaloneOffset = function (props, calculatedValues) {\n var style = calculatedValues.style,\n scale = calculatedValues.scale,\n orientation = calculatedValues.orientation,\n padding = calculatedValues.padding,\n axis = calculatedValues.axis,\n ticks = calculatedValues.ticks,\n stringTicks = calculatedValues.stringTicks,\n isVertical = calculatedValues.isVertical,\n labelPadding = calculatedValues.labelPadding;\n var polar = props.polar,\n horizontal = props.horizontal;\n var sharedProps = {\n scale: _defineProperty({}, axis, scale),\n polar: polar,\n horizontal: horizontal,\n ticks: ticks,\n stringTicks: stringTicks\n };\n var xPadding = orientation === \"right\" ? padding.right : padding.left;\n var yPadding = orientation === \"top\" ? padding.top : padding.bottom;\n var offsetX = props.offsetX !== null && props.offsetX !== undefined ? props.offsetX : xPadding;\n var offsetY = props.offsetY !== null && props.offsetY !== undefined ? props.offsetY : yPadding;\n var fontSize = style.axisLabel.fontSize || 14; // eslint-disable-line no-magic-numbers\n\n var tickSizes = ticks.map(function (data, index) {\n var tick = stringTicks ? props.tickValues[data - 1] : data;\n var tickStyle = Helpers.evaluateStyle(style.ticks, _assign({}, sharedProps, {\n tick: tick,\n index: index\n }));\n return tickStyle.size || 0;\n });\n var totalPadding = fontSize + 2 * Math.max.apply(Math, _toConsumableArray(tickSizes)) + labelPadding;\n var minimumPadding = 1.2 * fontSize; // eslint-disable-line no-magic-numbers\n\n var x = isVertical ? totalPadding : minimumPadding;\n var y = isVertical ? minimumPadding : totalPadding;\n return {\n x: offsetX !== null && offsetX !== undefined ? offsetX : x,\n y: offsetY !== null && offsetY !== undefined ? offsetY : y\n };\n}; // eslint-disable-next-line complexity\n\n\nvar getOffset = function (props, calculatedValues) {\n var scale = calculatedValues.scale,\n origin = calculatedValues.origin,\n orientation = calculatedValues.orientation,\n orientations = calculatedValues.orientations,\n domain = calculatedValues.domain,\n padding = calculatedValues.padding;\n var top = padding.top,\n bottom = padding.bottom,\n left = padding.left,\n right = padding.right;\n var calculatedOrientation = {\n x: orientation === \"bottom\" || orientation === \"top\" ? orientation : orientations.x,\n y: orientation === \"left\" || orientation === \"right\" ? orientation : orientations.y\n }; // make the axes line up, and cross when appropriate\n\n var orientationOffset = {\n x: calculatedOrientation.y === \"left\" ? left : right,\n y: calculatedOrientation.x === \"bottom\" ? bottom : top\n };\n var originOffset = {\n x: calculatedOrientation.y === \"left\" ? 0 : props.width,\n y: calculatedOrientation.x === \"bottom\" ? props.height : 0\n };\n var originPosition = {\n x: origin.x === domain.x[0] || origin.x === domain.x[1] ? 0 : scale.x(origin.x),\n y: origin.y === domain.y[0] || origin.y === domain.y[1] ? 0 : scale.y(origin.y)\n };\n var x = originPosition.x ? Math.abs(originOffset.x - originPosition.x) : orientationOffset.x;\n var y = originPosition.y ? Math.abs(originOffset.y - originPosition.y) : orientationOffset.y;\n var offsetX = exists(props.offsetX) ? props.offsetX : x;\n var offsetY = exists(props.offsetY) ? props.offsetY : y;\n return {\n x: offsetX,\n y: offsetY\n };\n}; // eslint-disable-next-line complexity\n\n\nvar getHorizontalOffset = function (props, calculatedValues) {\n var scale = calculatedValues.scale,\n origin = calculatedValues.origin,\n orientation = calculatedValues.orientation,\n orientations = calculatedValues.orientations,\n domain = calculatedValues.domain,\n padding = calculatedValues.padding;\n var top = padding.top,\n bottom = padding.bottom,\n left = padding.left,\n right = padding.right;\n var calculatedOrientation = {\n y: orientation === \"bottom\" || orientation === \"top\" ? orientation : orientations.x,\n x: orientation === \"left\" || orientation === \"right\" ? orientation : orientations.y\n }; // make the axes line up, and cross when appropriate\n\n var orientationOffset = {\n x: calculatedOrientation.y === \"bottom\" ? bottom : top,\n y: calculatedOrientation.x === \"left\" ? left : right\n };\n var originOffset = {\n y: calculatedOrientation.x === \"left\" ? 0 : props.width,\n x: calculatedOrientation.y === \"bottom\" ? props.height : 0\n };\n var originPosition = {\n x: origin.x === domain.x[0] || origin.x === domain.x[1] ? 0 : scale.x(origin.x),\n y: origin.y === domain.y[0] || origin.y === domain.y[1] ? 0 : scale.y(origin.y)\n };\n var y = originPosition.x ? Math.abs(originOffset.x - originPosition.x) : orientationOffset.x;\n var x = originPosition.y ? Math.abs(originOffset.y - originPosition.y) : orientationOffset.y;\n var offsetX = exists(props.offsetX) ? props.offsetX : x;\n var offsetY = exists(props.offsetY) ? props.offsetY : y;\n return {\n x: offsetX,\n y: offsetY\n };\n};\n\nvar getTransform = function (props, calculatedValues, offset) {\n var orientation = calculatedValues.orientation,\n axis = calculatedValues.axis;\n var axisValue = Axis.getAxisValue(props, axis);\n return {\n top: {\n x: 0,\n y: axisValue !== undefined ? axisValue : offset.y\n },\n bottom: {\n x: 0,\n y: axisValue !== undefined ? axisValue : props.height - offset.y\n },\n left: {\n x: axisValue !== undefined ? axisValue : offset.x,\n y: 0\n },\n right: {\n x: axisValue !== undefined ? axisValue : props.width - offset.x,\n y: 0\n }\n }[orientation];\n};\n\nvar getTickPosition = function (style, orientation, isVertical) {\n var tickStyle = style.tickStyle,\n labelStyle = style.labelStyle;\n var size = tickStyle.size || 0;\n var tickPadding = tickStyle.padding || 0;\n var labelPadding = labelStyle.padding || 0;\n var tickSpacing = size + tickPadding + labelPadding;\n var sign = orientationSign[orientation];\n return {\n x: isVertical ? sign * tickSpacing : 0,\n x2: isVertical ? sign * size : 0,\n y: isVertical ? 0 : sign * tickSpacing,\n y2: isVertical ? 0 : sign * size\n };\n};\n\nvar getTickTransform = function (tick, globalTransform, isVertical) {\n return {\n x: isVertical ? globalTransform.x : tick + globalTransform.x,\n y: isVertical ? tick + globalTransform.y : globalTransform.y\n };\n};\n\nvar getGridEdge = function (props, calculatedValues) {\n var orientation = calculatedValues.orientation,\n padding = calculatedValues.padding,\n isVertical = calculatedValues.isVertical;\n var sign = -orientationSign[orientation];\n var x = isVertical ? sign * (props.width - (padding.left + padding.right)) : 0;\n var y = isVertical ? 0 : sign * (props.height - (padding.top + padding.bottom));\n return {\n x: x,\n y: y\n };\n};\n\nvar getGridOffset = function (calculatedValues, offset) {\n var padding = calculatedValues.padding,\n orientation = calculatedValues.orientation,\n crossAxis = calculatedValues.crossAxis;\n var xPadding = orientation === \"right\" ? padding.right : padding.left;\n var yPadding = orientation === \"top\" ? padding.top : padding.bottom;\n return {\n x: crossAxis ? offset.x - xPadding : 0,\n y: crossAxis ? offset.y - yPadding : 0\n };\n};\n\nvar getLayoutProps = function (modifiedProps, calculatedValues) {\n var offset;\n\n if (calculatedValues.domain.x && calculatedValues.domain.y) {\n offset = modifiedProps.horizontal ? getHorizontalOffset(modifiedProps, calculatedValues) : getOffset(modifiedProps, calculatedValues);\n } else {\n offset = getStandaloneOffset(modifiedProps, calculatedValues);\n }\n\n return {\n globalTransform: getTransform(modifiedProps, calculatedValues, offset),\n gridOffset: getGridOffset(calculatedValues, offset),\n gridEdge: getGridEdge(modifiedProps, calculatedValues)\n };\n};\n\nvar getOrientation = function (props) {\n if (props.orientation) {\n return props.orientation;\n }\n\n var defaultOrientations = {\n dependent: props.horizontal ? \"bottom\" : \"left\",\n independent: props.horizontal ? \"left\" : \"bottom\"\n };\n return props.dependentAxis ? defaultOrientations.dependent : defaultOrientations.independent;\n}; // eslint-disable-next-line complexity\n\n\nvar getCalculatedValues = function (props) {\n var defaultStyles = getStyleObject(props);\n var style = getStyles(props, defaultStyles);\n var padding = Helpers.getPadding(props);\n var labelPadding = getLabelPadding(props, style);\n var stringTicks = Axis.stringTicks(props) ? props.tickValues : undefined;\n var axis = Axis.getAxis(props);\n var axisDomain = Axis.getDomain(props);\n var axisScale = getScale(props);\n var xAxisDomain = axis === \"x\" ? axisDomain : undefined;\n var yAxisDomain = axis === \"y\" ? axisDomain : undefined;\n var xAxisScale = axis === \"x\" ? axisScale : undefined;\n var yAxisScale = axis === \"y\" ? axisScale : undefined;\n var crossAxis = !(props.crossAxis === false || props.standalone === true);\n var ticks = Axis.getTicks(props, axisScale, crossAxis);\n var tickFormat = Axis.getTickFormat(props, axisScale);\n var range = {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n }; // use full domain if passed in from parent,\n // otherwise use the just the one axis available\n\n var domain = {\n x: props.domain && props.domain.x ? props.domain.x : xAxisDomain,\n y: props.domain && props.domain.y ? props.domain.y : yAxisDomain\n }; // use full scale if passed in from parent,\n // otherwise use the just the one axis available\n\n var scale = {\n x: props.domain && props.domain.x ? Scale.getBaseScale(props, \"x\").domain(props.domain.x).range(props.horizontal ? range.y : range.x) : xAxisScale,\n y: props.domain && props.domain.y ? Scale.getBaseScale(props, \"y\").domain(props.domain.y).range(props.horizontal ? range.x : range.y) : yAxisScale\n };\n var origin = domain.x && domain.y ? Axis.getOrigin(domain) : undefined;\n var originSign = origin ? {\n x: Axis.getOriginSign(origin.x, domain.x),\n y: Axis.getOriginSign(origin.y, domain.y)\n } : undefined;\n var orientations = originSign ? {\n x: getDefaultOrientations(\"x\", originSign.y, props.horizontal),\n y: getDefaultOrientations(\"y\", originSign.x, props.horizontal)\n } : undefined;\n var orientation = orientations ? props.orientation || orientations[axis] : getOrientation(props);\n var isVertical = Axis.isVertical(Object.assign({}, props, {\n orientation: orientation\n }));\n var anchors = getAnchors(orientation, isVertical);\n return {\n anchors: anchors,\n axis: axis,\n crossAxis: crossAxis,\n domain: domain,\n isVertical: isVertical,\n labelPadding: labelPadding,\n orientation: orientation,\n orientations: orientations,\n origin: origin,\n padding: padding,\n scale: scale,\n stringTicks: stringTicks,\n style: style,\n tickFormat: tickFormat,\n ticks: ticks\n };\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n props = Axis.modifyProps(props, fallbackProps);\n var calculatedValues = getCalculatedValues(props);\n var axis = calculatedValues.axis,\n style = calculatedValues.style,\n orientation = calculatedValues.orientation,\n isVertical = calculatedValues.isVertical,\n scale = calculatedValues.scale,\n ticks = calculatedValues.ticks,\n tickFormat = calculatedValues.tickFormat,\n anchors = calculatedValues.anchors,\n domain = calculatedValues.domain,\n stringTicks = calculatedValues.stringTicks;\n var otherAxis = axis === \"x\" ? \"y\" : \"x\";\n var _props = props,\n width = _props.width,\n height = _props.height,\n standalone = _props.standalone,\n theme = _props.theme,\n polar = _props.polar,\n padding = _props.padding,\n horizontal = _props.horizontal;\n\n var _getLayoutProps = getLayoutProps(props, calculatedValues),\n globalTransform = _getLayoutProps.globalTransform,\n gridOffset = _getLayoutProps.gridOffset,\n gridEdge = _getLayoutProps.gridEdge;\n\n var sharedProps = {\n scale: _defineProperty({}, axis, scale[axis]),\n polar: polar,\n horizontal: horizontal,\n ticks: ticks,\n stringTicks: stringTicks\n };\n var axisProps = getAxisProps(props, calculatedValues, globalTransform);\n var axisLabelProps = getAxisLabelProps(props, calculatedValues, globalTransform);\n var initialChildProps = {\n parent: _assign({\n style: style.parent,\n ticks: ticks,\n standalone: standalone,\n theme: theme,\n width: width,\n height: height,\n padding: padding,\n domain: domain\n }, sharedProps)\n };\n var gridProps = {\n dimension: otherAxis,\n range: _defineProperty({}, otherAxis, Helpers.getRange(props, otherAxis)),\n scale: props.scale && props.scale[otherAxis] ? _defineProperty({}, otherAxis, props.scale[otherAxis]) : undefined\n };\n return ticks.reduce(function (childProps, tickValue, index) {\n var _scale$axis, _scale$axis2, _scale$axis3;\n\n var tick = stringTicks ? stringTicks[index] : tickValue;\n var text = tickFormat(tickValue, index, ticks);\n var styles = getEvaluatedStyles(style, _assign({}, sharedProps, {\n tick: tick,\n tickValue: tickValue,\n index: index,\n text: text\n }));\n var tickLayout = {\n position: getTickPosition(styles, orientation, isVertical),\n transform: getTickTransform((_scale$axis = scale[axis]) === null || _scale$axis === void 0 ? void 0 : _scale$axis.call(scale, tickValue), globalTransform, isVertical)\n };\n var gridLayout = {\n edge: gridEdge,\n transform: {\n x: isVertical ? -gridOffset.x + globalTransform.x : ((_scale$axis2 = scale[axis]) === null || _scale$axis2 === void 0 ? void 0 : _scale$axis2.call(scale, tickValue)) + globalTransform.x,\n y: isVertical ? ((_scale$axis3 = scale[axis]) === null || _scale$axis3 === void 0 ? void 0 : _scale$axis3.call(scale, tickValue)) + globalTransform.y : gridOffset.y + globalTransform.y\n }\n };\n childProps[index] = {\n axis: _assign({\n dimension: axis\n }, sharedProps, axisProps),\n axisLabel: _assign({}, sharedProps, axisLabelProps),\n ticks: _assign({}, sharedProps, getTickProps(tickLayout, styles.tickStyle, tickValue)),\n tickLabels: _assign({}, sharedProps, getTickLabelProps(tickLayout, styles.labelStyle, anchors, tickValue, text)),\n grid: _assign({}, sharedProps, gridProps, getGridProps(gridLayout, styles.gridStyle, tickValue))\n };\n return childProps;\n }, initialChildProps);\n};","import _isEmpty from \"lodash/isEmpty\";\nimport _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { PropTypes as CustomPropTypes, VictoryLabel, CommonProps, VictoryContainer, VictoryTheme, LineSegment, TextSize, addEvents, Axis, UserProps } from \"victory-core\";\nimport { getBaseProps, getStyles } from \"./helper-methods\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n};\nvar options = {\n components: [{\n name: \"axis\",\n index: 0\n }, {\n name: \"axisLabel\",\n index: 0\n }, {\n name: \"grid\"\n }, {\n name: \"parent\",\n index: \"parent\"\n }, {\n name: \"ticks\"\n }, {\n name: \"tickLabels\"\n }]\n};\n\nvar VictoryAxisBase = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryAxisBase, _React$Component);\n\n var _super = _createSuper(VictoryAxisBase);\n\n function VictoryAxisBase() {\n _classCallCheck(this, VictoryAxisBase);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryAxisBase, [{\n key: \"renderLine\",\n value: function renderLine(props) {\n var axisComponent = props.axisComponent;\n var axisProps = this.getComponentProps(axisComponent, \"axis\", 0);\n return /*#__PURE__*/React.cloneElement(axisComponent, axisProps);\n }\n }, {\n key: \"renderLabel\",\n value: function renderLabel(props) {\n var axisLabelComponent = props.axisLabelComponent,\n label = props.label;\n\n if (!label) {\n return null;\n }\n\n var axisLabelProps = this.getComponentProps(axisLabelComponent, \"axisLabel\", 0);\n return /*#__PURE__*/React.cloneElement(axisLabelComponent, axisLabelProps);\n }\n }, {\n key: \"renderGridAndTicks\",\n value: function renderGridAndTicks(props) {\n var _this = this;\n\n var tickComponent = props.tickComponent,\n tickLabelComponent = props.tickLabelComponent,\n gridComponent = props.gridComponent,\n name = props.name;\n\n var shouldRender = function (componentProps) {\n var _componentProps$style = componentProps.style,\n style = _componentProps$style === void 0 ? {} : _componentProps$style,\n _componentProps$event = componentProps.events,\n events = _componentProps$event === void 0 ? {} : _componentProps$event;\n var visible = style.stroke !== \"transparent\" && style.stroke !== \"none\" && style.strokeWidth !== 0;\n return visible || !_isEmpty(events);\n };\n\n return this.dataKeys.map(function (key, index) {\n var tickProps = _this.getComponentProps(tickComponent, \"ticks\", index);\n\n var BaseTickComponent = /*#__PURE__*/React.cloneElement(tickComponent, tickProps);\n var TickComponent = shouldRender(BaseTickComponent.props) ? BaseTickComponent : undefined;\n\n var gridProps = _this.getComponentProps(gridComponent, \"grid\", index);\n\n var BaseGridComponent = /*#__PURE__*/React.cloneElement(gridComponent, gridProps);\n var GridComponent = shouldRender(BaseGridComponent.props) ? BaseGridComponent : undefined;\n\n var tickLabelProps = _this.getComponentProps(tickLabelComponent, \"tickLabels\", index);\n\n var TickLabel = /*#__PURE__*/React.cloneElement(tickLabelComponent, tickLabelProps);\n var children = [GridComponent, TickComponent, TickLabel].filter(Boolean);\n return /*#__PURE__*/React.cloneElement(props.groupComponent, {\n key: \"\".concat(name, \"-tick-group-\").concat(key)\n }, children);\n });\n }\n }, {\n key: \"fixLabelOverlap\",\n value: function fixLabelOverlap(gridAndTicks, props) {\n var isVertical = Axis.isVertical(props);\n var size = isVertical ? props.height : props.width;\n\n var isVictoryLabel = function (child) {\n return child.type && child.type.role === \"label\";\n };\n\n var labels = gridAndTicks.map(function (gridAndTick) {\n return gridAndTick.props.children;\n }).reduce(function (accumulator, childArr) {\n return accumulator.concat(childArr);\n }, []).filter(isVictoryLabel).map(function (child) {\n return child.props;\n });\n\n var paddingToObject = function (padding) {\n return typeof padding === \"object\" ? _assign({}, {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }, padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n };\n\n var labelsSumSize = labels.reduce(function (sum, label) {\n var padding = paddingToObject(label.style.padding);\n var labelSize = TextSize.approximateTextSize(label.text, {\n angle: label.angle,\n fontSize: label.style.fontSize,\n letterSpacing: label.style.letterSpacing,\n fontFamily: label.style.fontFamily\n });\n return sum + (isVertical ? labelSize.height + padding.top + padding.bottom : labelSize.width + padding.right + padding.left);\n }, 0);\n var availiableLabelCount = Math.floor(size * gridAndTicks.length / labelsSumSize);\n var divider = Math.ceil(gridAndTicks.length / availiableLabelCount) || 1;\n\n var getLabelCoord = function (gridAndTick) {\n return gridAndTick.props.children.filter(isVictoryLabel).reduce(function (prev, child) {\n return (isVertical ? child.props.y : child.props.x) || 0;\n }, 0);\n };\n\n var sorted = gridAndTicks.sort(function (a, b) {\n return isVertical ? getLabelCoord(b) - getLabelCoord(a) // ordinary axis has top-bottom orientation\n : getLabelCoord(a) - getLabelCoord(b);\n } // ordinary axis has left-right orientation\n );\n return sorted.filter(function (gridAndTick, index) {\n return index % divider === 0;\n });\n } // Overridden in native versions\n\n }, {\n key: \"shouldAnimate\",\n value: function shouldAnimate() {\n return !!this.props.animate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryAxis.animationWhitelist;\n var props = Axis.modifyProps(this.props, fallbackProps);\n var userProps = UserProps.getSafeUserProps(this.props);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var gridAndTicks = this.renderGridAndTicks(props);\n var modifiedGridAndTicks = props.fixLabelOverlap ? this.fixLabelOverlap(gridAndTicks, props) : gridAndTicks;\n var children = [this.renderLine(props), this.renderLabel(props)].concat(_toConsumableArray(modifiedGridAndTicks));\n var container = /*#__PURE__*/React.cloneElement(props.containerComponent, userProps);\n return props.standalone ? this.renderContainer(container, children) : /*#__PURE__*/React.cloneElement(props.groupComponent, userProps, children);\n }\n }]);\n\n return VictoryAxisBase;\n}(React.Component);\n\nVictoryAxisBase.animationWhitelist = [\"style\", \"domain\", \"range\", \"tickCount\", \"tickValues\", \"offsetX\", \"offsetY\", \"padding\", \"width\", \"height\"];\nVictoryAxisBase.displayName = \"VictoryAxis\";\nVictoryAxisBase.role = \"axis\";\nVictoryAxisBase.defaultTransitions = {\n onExit: {\n duration: 500\n },\n onEnter: {\n duration: 500\n }\n};\nVictoryAxisBase.propTypes = _objectSpread(_objectSpread({}, CommonProps.baseProps), {}, {\n axisComponent: PropTypes.element,\n axisLabelComponent: PropTypes.element,\n axisValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.object]),\n categories: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.shape({\n x: PropTypes.arrayOf(PropTypes.string),\n y: PropTypes.arrayOf(PropTypes.string)\n })]),\n crossAxis: PropTypes.bool,\n dependentAxis: PropTypes.bool,\n events: PropTypes.arrayOf(PropTypes.shape({\n target: PropTypes.oneOf([\"axis\", \"axisLabel\", \"grid\", \"ticks\", \"tickLabels\"]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n eventHandlers: PropTypes.object\n })),\n fixLabelOverlap: PropTypes.bool,\n gridComponent: PropTypes.element,\n groupComponent: PropTypes.element,\n invertAxis: PropTypes.bool,\n label: PropTypes.any,\n offsetX: PropTypes.number,\n offsetY: PropTypes.number,\n orientation: PropTypes.oneOf([\"top\", \"bottom\", \"left\", \"right\"]),\n origin: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n stringMap: PropTypes.object,\n style: PropTypes.shape({\n parent: PropTypes.object,\n axis: PropTypes.object,\n axisLabel: PropTypes.object,\n grid: PropTypes.object,\n ticks: PropTypes.object,\n tickLabels: PropTypes.object\n }),\n tickComponent: PropTypes.element,\n tickCount: CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.greaterThanZero]),\n tickFormat: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.homogeneousArray]),\n tickLabelComponent: PropTypes.element,\n tickValues: CustomPropTypes.homogeneousArray\n});\nVictoryAxisBase.defaultProps = {\n axisComponent: /*#__PURE__*/React.createElement(LineSegment, null),\n axisLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n tickLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n tickComponent: /*#__PURE__*/React.createElement(LineSegment, null),\n gridComponent: /*#__PURE__*/React.createElement(LineSegment, null),\n standalone: true,\n theme: VictoryTheme.grayscale,\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", {\n role: \"presentation\"\n }),\n fixLabelOverlap: false\n};\nVictoryAxisBase.getDomain = Axis.getDomain;\nVictoryAxisBase.getAxis = Axis.getAxis;\n\nVictoryAxisBase.getStyles = function (props) {\n return getStyles(props);\n};\n\nVictoryAxisBase.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryAxisBase.expectedComponents = [\"axisComponent\", \"axisLabelComponent\", \"groupComponent\", \"containerComponent\", \"tickComponent\", \"tickLabelComponent\", \"gridComponent\"];\nexport var VictoryAxis = addEvents(VictoryAxisBase, options);","import _isNil from \"lodash/isNil\";\nimport _assign from \"lodash/assign\";\nimport { Collection, Data, Domain, Helpers, LabelHelpers, Scale } from \"victory-core\";\nexport var getBarPosition = function (props, datum) {\n var getDefaultMin = function (axis) {\n var defaultZero = Scale.getType(props.scale[axis]) === \"log\" ? 1 / Number.MAX_SAFE_INTEGER : 0;\n var defaultMin = defaultZero;\n var minY = Collection.getMinValue(props.domain[axis]);\n var maxY = Collection.getMaxValue(props.domain[axis]);\n\n if (minY < 0 && maxY <= 0) {\n defaultMin = maxY;\n } else if (minY >= 0 && maxY > 0) {\n defaultMin = minY;\n }\n\n return datum[\"_\".concat(axis)] instanceof Date ? new Date(defaultMin) : defaultMin;\n };\n\n var _y0 = datum._y0 !== undefined ? datum._y0 : getDefaultMin(\"y\");\n\n var _x0 = datum._x0 !== undefined ? datum._x0 : getDefaultMin(\"x\");\n\n return Helpers.scalePoint(props, _assign({}, datum, {\n _y0: _y0,\n _x0: _x0\n }));\n};\n\nvar getCalculatedValues = function (props) {\n var polar = props.polar;\n var defaultStyles = Helpers.getDefaultStyles(props, \"bar\");\n var style = !props.disableInlineStyles ? Helpers.getStyles(props.style, defaultStyles) : {};\n var range = props.range || {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n };\n var domain = {\n x: Domain.getDomainWithZero(props, \"x\"),\n y: Domain.getDomainWithZero(props, \"y\")\n };\n var scale = {\n x: Scale.getBaseScale(props, \"x\").domain(domain.x).range(props.horizontal ? range.y : range.x),\n y: Scale.getBaseScale(props, \"y\").domain(domain.y).range(props.horizontal ? range.x : range.y)\n };\n var origin = polar ? props.origin || Helpers.getPolarOrigin(props) : undefined;\n var data = Data.getData(props);\n data = Data.formatDataFromDomain(data, domain, 0);\n return {\n style: style,\n data: data,\n scale: scale,\n domain: domain,\n origin: origin\n };\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, \"bar\");\n props = _assign({}, modifiedProps, getCalculatedValues(modifiedProps));\n var _props = props,\n alignment = _props.alignment,\n barRatio = _props.barRatio,\n cornerRadius = _props.cornerRadius,\n data = _props.data,\n disableInlineStyles = _props.disableInlineStyles,\n domain = _props.domain,\n events = _props.events,\n height = _props.height,\n horizontal = _props.horizontal,\n origin = _props.origin,\n padding = _props.padding,\n polar = _props.polar,\n scale = _props.scale,\n sharedEvents = _props.sharedEvents,\n standalone = _props.standalone,\n style = _props.style,\n theme = _props.theme,\n width = _props.width,\n labels = _props.labels,\n name = _props.name,\n barWidth = _props.barWidth,\n getPath = _props.getPath;\n var initialChildProps = {\n parent: {\n horizontal: horizontal,\n domain: domain,\n scale: scale,\n width: width,\n height: height,\n data: data,\n standalone: standalone,\n name: name,\n theme: theme,\n polar: polar,\n origin: origin,\n padding: padding,\n style: style.parent\n }\n };\n return data.reduce(function (childProps, datum, index) {\n var eventKey = !_isNil(datum.eventKey) ? datum.eventKey : index;\n\n var _getBarPosition = getBarPosition(props, datum),\n x = _getBarPosition.x,\n y = _getBarPosition.y,\n y0 = _getBarPosition.y0,\n x0 = _getBarPosition.x0;\n\n var dataProps = {\n alignment: alignment,\n barRatio: barRatio,\n barWidth: barWidth,\n cornerRadius: cornerRadius,\n data: data,\n datum: datum,\n disableInlineStyles: disableInlineStyles,\n getPath: getPath,\n horizontal: horizontal,\n index: index,\n polar: polar,\n origin: origin,\n scale: scale,\n style: style.data,\n width: width,\n height: height,\n x: x,\n y: y,\n y0: y0,\n x0: x0\n };\n childProps[eventKey] = {\n data: dataProps\n };\n var text = LabelHelpers.getText(props, datum, index);\n\n if (text !== undefined && text !== null || labels && (events || sharedEvents)) {\n childProps[eventKey].labels = LabelHelpers.getProps(props, index);\n }\n\n return childProps;\n }, initialChildProps);\n};","import _isPlainObject from \"lodash/isPlainObject\";\nimport _isNil from \"lodash/isNil\";\nimport _assign from \"lodash/assign\";\nimport { Helpers } from \"victory-core\";\nexport var getBarWidth = function (barWidth, props) {\n var scale = props.scale,\n data = props.data,\n defaultBarWidth = props.defaultBarWidth,\n style = props.style;\n\n if (barWidth) {\n return Helpers.evaluateProp(barWidth, props);\n } else if (style.width) {\n return style.width;\n }\n\n var range = scale.x.range();\n var extent = Math.abs(range[1] - range[0]);\n var bars = data.length + 2;\n var barRatio = props.barRatio || 0.5;\n var defaultWidth = barRatio * (data.length < 2 ? defaultBarWidth : extent / bars);\n return Math.max(1, defaultWidth);\n};\n\nvar getCornerRadiusFromObject = function (cornerRadius, props) {\n var realCornerRadius = {\n topLeft: 0,\n topRight: 0,\n bottomLeft: 0,\n bottomRight: 0\n };\n\n var updateCornerRadius = function (corner, fallback) {\n if (!_isNil(cornerRadius[corner])) {\n realCornerRadius[corner] = Helpers.evaluateProp(cornerRadius[corner], props);\n } else if (!_isNil(cornerRadius[fallback])) {\n realCornerRadius[corner] = Helpers.evaluateProp(cornerRadius[fallback], props);\n }\n };\n\n updateCornerRadius(\"topLeft\", \"top\");\n updateCornerRadius(\"topRight\", \"top\");\n updateCornerRadius(\"bottomLeft\", \"bottom\");\n updateCornerRadius(\"bottomRight\", \"bottom\");\n return realCornerRadius;\n};\n\nexport var getCornerRadius = function (cornerRadius, props) {\n var realCornerRadius = {\n topLeft: 0,\n topRight: 0,\n bottomLeft: 0,\n bottomRight: 0\n };\n\n if (!cornerRadius) {\n return realCornerRadius;\n }\n\n if (_isPlainObject(cornerRadius)) {\n return getCornerRadiusFromObject(cornerRadius, props);\n }\n\n realCornerRadius.topLeft = Helpers.evaluateProp(cornerRadius, props);\n realCornerRadius.topRight = Helpers.evaluateProp(cornerRadius, props);\n return realCornerRadius;\n};\nexport var getStyle = function () {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var props = arguments.length > 1 ? arguments[1] : undefined;\n\n if (props.disableInlineStyles) {\n return {};\n }\n\n var stroke = style.fill || \"black\";\n var baseStyle = {\n fill: \"black\",\n stroke: stroke\n };\n return Helpers.evaluateStyle(_assign(baseStyle, style), props);\n};","/**\n * A point in the 2d plane\n * @param {number} x - x coordinate\n * @param {number} y - y coordinate\n * @returns {object} - point object\n */\nvar point = function (x, y) {\n return {\n x: x,\n y: y,\n distance: function (p1) {\n return Math.sqrt(Math.pow(this.x - p1.x, 2) + Math.pow(this.y - p1.y, 2));\n },\n // vector addition in 2d plane\n add: function (p1) {\n return point(this.x + p1.x, this.y + p1.y);\n },\n // vector subtraction in 2d\n // returns p0 - p1\n subtract: function (p1) {\n return point(this.x - p1.x, this.y - p1.y);\n },\n // multiply a 2d point by a scalar\n scalarMult: function (n) {\n return point(this.x * n, this.y * n);\n },\n scalarDivide: function (n) {\n if (n === 0) {\n throw new Error(\"Division by 0 error\");\n }\n\n return point(this.x / n, this.y / n);\n },\n equals: function (p1) {\n return this.x === p1.x && this.y === p1.y;\n }\n };\n};\n/**\n * A circle in the 2d plane\n * @param {point} center - center of circle\n * @param {number} radius - radius of circle\n * @returns {object} - point object\n */\n\n\nvar circle = function (center, radius) {\n return {\n center: center,\n radius: radius,\n hasIntersection: function (circle1) {\n var P0 = this.center;\n var P1 = circle1.center;\n var r0 = this.radius;\n var r1 = circle1.radius;\n var d = P0.distance(P1);\n\n if (d > r0 + r1) {\n return false; // separate circles\n }\n\n if (d < Math.abs(r0 - r1)) {\n return false; // one circle contains another\n }\n\n return true;\n },\n equals: function (circle1) {\n var P0 = this.center;\n var P1 = circle1.center;\n var r0 = this.radius;\n var r1 = circle1.radius;\n return r0 === r1 && P0.equals(P1);\n },\n // Source: http://paulbourke.net/geometry/circlesphere/\n // \"Intersection of two circles\" by Paul Bourke\n // Left-most point is returned as 0th element of array\n // Right-most point is returned as 1st elemennt of array\n intersection: function (circle1) {\n // eslint-disable-line max-statements\n var P0 = this.center;\n var P1 = circle1.center;\n var r0 = this.radius;\n var r1 = circle1.radius;\n var d = P0.distance(P1);\n\n if (!this.hasIntersection(circle1) || this.equals(circle1)) {\n return [];\n }\n\n var a = (Math.pow(r0, 2) - Math.pow(r1, 2) + Math.pow(d, 2)) / (2 * d);\n var h = Math.sqrt(Math.pow(r0, 2) - Math.pow(a, 2));\n var P2 = P0.add(P1.subtract(P0).scalarMult(a).scalarDivide(d));\n var x0 = P0.x,\n y0 = P0.y;\n var x1 = P1.x,\n y1 = P1.y;\n var x2 = P2.x,\n y2 = P2.y;\n var P3s = [point(x2 - h * (y1 - y0) / d, y2 + h * (x1 - x0) / d), point(x2 + h * (y1 - y0) / d, y2 - h * (x1 - x0) / d)];\n P3s.sort(function (Point1, Point2) {\n return Point1.x - Point2.x;\n });\n return P3s;\n },\n solveX: function (y) {\n var sqrt = Math.sqrt(Math.pow(this.radius, 2) - Math.pow(y - this.center.y, 2));\n return [this.center.x - sqrt, this.center.x + sqrt];\n },\n solveY: function (x) {\n var sqrt = Math.sqrt(Math.pow(this.radius, 2) - Math.pow(x - this.center.x, 2));\n return [this.center.y - sqrt, this.center.y + sqrt];\n }\n };\n};\n\nexport { circle, point };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport * as d3Shape from \"victory-vendor/d3-shape\";\nimport { circle, point } from \"./geometry-helper-methods\";\n\nvar getPosition = function (props, width) {\n var x = props.x,\n x0 = props.x0,\n y = props.y,\n y0 = props.y0,\n horizontal = props.horizontal;\n var alignment = props.alignment || \"middle\";\n var size = alignment === \"middle\" ? width / 2 : width;\n var sign = horizontal ? -1 : 1;\n\n if (horizontal) {\n return {\n x0: x0,\n x1: x,\n y0: alignment === \"start\" ? y : y - sign * size,\n y1: alignment === \"end\" ? y : y + sign * size\n };\n }\n\n return {\n x0: alignment === \"start\" ? x : x - sign * size,\n x1: alignment === \"end\" ? x : x + sign * size,\n y0: y0,\n y1: y\n };\n};\n\nvar getAngle = function (props, index) {\n var data = props.data,\n scale = props.scale;\n var x = data[index]._x1 === undefined ? \"_x\" : \"_x1\";\n return scale.x(data[index][x]);\n};\n\nvar getAngularWidth = function (props, width) {\n var scale = props.scale;\n var range = scale.y.range();\n var r = Math.max.apply(Math, _toConsumableArray(range));\n var angularRange = Math.abs(scale.x.range()[1] - scale.x.range()[0]);\n return width / (2 * Math.PI * r) * angularRange;\n};\n\nvar transformAngle = function (angle) {\n return -1 * angle + Math.PI / 2;\n};\n\nexport var getCustomBarPath = function (props, width) {\n var getPath = props.getPath;\n\n var propsWithCalculatedValues = _objectSpread(_objectSpread({}, props), getPosition(props, width));\n\n return getPath(propsWithCalculatedValues);\n};\n\nvar getStartAngle = function (props, index) {\n var data = props.data,\n scale = props.scale,\n alignment = props.alignment;\n var currentAngle = getAngle(props, index);\n var angularRange = Math.abs(scale.x.range()[1] - scale.x.range()[0]);\n var previousAngle = index === 0 ? getAngle(props, data.length - 1) - Math.PI * 2 : getAngle(props, index - 1);\n\n if (index === 0 && angularRange < 2 * Math.PI) {\n return scale.x.range()[0];\n } else if (alignment === \"start\" || alignment === \"end\") {\n return alignment === \"start\" ? previousAngle : currentAngle;\n }\n\n return (currentAngle + previousAngle) / 2;\n};\n\nvar getEndAngle = function (props, index) {\n var data = props.data,\n scale = props.scale,\n alignment = props.alignment;\n var currentAngle = getAngle(props, index);\n var angularRange = Math.abs(scale.x.range()[1] - scale.x.range()[0]);\n var lastAngle = scale.x.range()[1] === 2 * Math.PI ? getAngle(props, 0) + Math.PI * 2 : scale.x.range()[1];\n var nextAngle = index === data.length - 1 ? getAngle(props, 0) + Math.PI * 2 : getAngle(props, index + 1);\n\n if (index === data.length - 1 && angularRange < 2 * Math.PI) {\n return lastAngle;\n } else if (alignment === \"start\" || alignment === \"end\") {\n return alignment === \"start\" ? currentAngle : nextAngle;\n }\n\n return (currentAngle + nextAngle) / 2;\n};\n\nvar mapPointsToPath = function (coords, cornerRadius, direction) {\n var topLeftPath = \"\".concat(cornerRadius.topLeft, \" \").concat(cornerRadius.topLeft, \" \").concat(direction);\n var topRightPath = \"\".concat(cornerRadius.topRight, \" \").concat(cornerRadius.topRight, \" \").concat(direction);\n var bottomLeftPath = \"\".concat(cornerRadius.bottomLeft, \" \").concat(cornerRadius.bottomLeft, \" \").concat(direction);\n var bottomRightPath = \"\".concat(cornerRadius.bottomRight, \" \").concat(cornerRadius.bottomRight, \" \").concat(direction);\n var commands = [\"M\", \"A \".concat(bottomLeftPath, \",\"), \"L\", \"A \".concat(topLeftPath, \",\"), \"L\", \"A \".concat(topRightPath, \",\"), \"L\", \"A \".concat(bottomRightPath, \",\")];\n var path = commands.reduce(function (acc, command, i) {\n acc += \"\".concat(command, \" \").concat(coords[i].x, \", \").concat(coords[i].y, \" \\n\");\n return acc;\n }, \"\");\n return \"\".concat(path, \" z\");\n};\n\nvar getVerticalBarPoints = function (position, sign, cr) {\n var x0 = position.x0,\n x1 = position.x1,\n y0 = position.y0,\n y1 = position.y1; // eslint-disable-next-line max-statements, max-len\n\n var getHalfPoints = function (side) {\n var isLeft = side === \"Left\";\n var signL = isLeft ? 1 : -1;\n var x = isLeft ? x0 : x1;\n var bottomPoint = {\n x: x + signL * cr[\"bottom\".concat(side)],\n y: y0\n };\n var bottomMiddlePoint = {\n x: x,\n y: y0 - sign * cr[\"bottom\".concat(side)]\n };\n var topMiddlePoint = {\n x: x,\n y: y1 + sign * cr[\"top\".concat(side)]\n };\n var topPoint = {\n x: x + signL * cr[\"top\".concat(side)],\n y: y1\n };\n var hasIntersection = sign === 1 ? y0 - cr[\"bottom\".concat(side)] < y1 + cr[\"top\".concat(side)] : y0 + cr[\"bottom\".concat(side)] > y1 - cr[\"top\".concat(side)];\n\n if (hasIntersection) {\n var topCenter = point(x + signL * cr[\"top\".concat(side)], y1 + sign * cr[\"top\".concat(side)]);\n var topCircle = circle(topCenter, cr[\"top\".concat(side)]);\n var bottomCenter = point(x + signL * cr[\"bottom\".concat(side)], y0 - sign * cr[\"bottom\".concat(side)]);\n var bottomCircle = circle(bottomCenter, cr[\"bottom\".concat(side)]);\n var circleIntersection = topCircle.intersection(bottomCircle);\n var hasArcIntersection = circleIntersection.length > 0;\n\n if (hasArcIntersection) {\n var arcIntersection = circleIntersection[isLeft ? 0 : 1];\n bottomMiddlePoint = {\n x: arcIntersection.x,\n y: arcIntersection.y\n };\n topMiddlePoint = {\n x: arcIntersection.x,\n y: arcIntersection.y\n };\n } else {\n var hasBottomLineTopArcIntersection = cr[\"top\".concat(side)] > cr[\"bottom\".concat(side)];\n\n if (hasBottomLineTopArcIntersection) {\n var newX = topCircle.solveX(y0)[isLeft ? 0 : 1];\n bottomPoint = {\n x: newX,\n y: y0\n };\n bottomMiddlePoint = {\n x: newX,\n y: y0\n };\n topMiddlePoint = {\n x: newX,\n y: y0\n };\n } else {\n var _newX = bottomCircle.solveX(y1)[isLeft ? 0 : 1];\n bottomMiddlePoint = {\n x: _newX,\n y: y1\n };\n topMiddlePoint = {\n x: _newX,\n y: y1\n };\n topPoint = {\n x: _newX,\n y: y1\n };\n }\n }\n }\n\n var points = [bottomPoint, bottomMiddlePoint, topMiddlePoint, topPoint];\n return isLeft ? points : points.reverse();\n };\n\n return getHalfPoints(\"Left\").concat(getHalfPoints(\"Right\"));\n};\n\nvar getHorizontalBarPoints = function (position, sign, cr) {\n var y0 = position.y0,\n y1 = position.y1;\n var x0 = position.x0 < position.x1 ? position.x0 : position.x1;\n var x1 = position.x0 < position.x1 ? position.x1 : position.x0; // eslint-disable-next-line max-statements, max-len\n\n var getHalfPoints = function (side) {\n var isTop = side === \"top\";\n var signL = isTop ? -1 : 1;\n var y = isTop ? y1 : y0;\n var leftPoint = {\n x: x0,\n y: y - signL * cr[\"\".concat(side, \"Left\")]\n };\n var leftMiddlePoint = {\n x: x0 + cr[\"\".concat(side, \"Left\")],\n y: y\n };\n var rightMiddlePoint = {\n x: x1 - cr[\"\".concat(side, \"Right\")],\n y: y\n };\n var rightPoint = {\n x: x1,\n y: y - signL * cr[\"\".concat(side, \"Right\")]\n };\n var hasIntersection = leftMiddlePoint.x > rightMiddlePoint.x;\n\n if (hasIntersection) {\n var leftCenter = point(x0 + cr[\"\".concat(side, \"Left\")], y - signL * cr[\"\".concat(side, \"Left\")]);\n var leftCircle = circle(leftCenter, cr[\"\".concat(side, \"Left\")]);\n var rightCenter = point(x1 - cr[\"\".concat(side, \"Right\")], y - signL * cr[\"\".concat(side, \"Right\")]);\n var rightCircle = circle(rightCenter, cr[\"\".concat(side, \"Right\")]);\n var circleIntersection = leftCircle.intersection(rightCircle);\n var hasArcIntersection = circleIntersection.length > 0;\n\n if (hasArcIntersection) {\n var arcIntersection = circleIntersection[sign > 0 ? 1 : 0];\n leftMiddlePoint = {\n x: arcIntersection.x,\n y: arcIntersection.y\n };\n rightMiddlePoint = {\n x: arcIntersection.x,\n y: arcIntersection.y\n };\n } else {\n var hasLeftLineRightArcIntersection = cr[\"\".concat(side, \"Right\")] > cr[\"\".concat(side, \"Left\")];\n\n if (hasLeftLineRightArcIntersection) {\n var newY = rightCircle.solveY(x0)[isTop ? 0 : 1];\n leftPoint = {\n x: x0,\n y: newY\n };\n leftMiddlePoint = {\n x: x0,\n y: newY\n };\n rightMiddlePoint = {\n x: x0,\n y: newY\n };\n } else {\n var _newY = leftCircle.solveY(x1)[isTop ? 0 : 1];\n rightPoint = {\n x: x1,\n y: _newY\n };\n rightMiddlePoint = {\n x: x1,\n y: _newY\n };\n leftMiddlePoint = {\n x: x1,\n y: _newY\n };\n }\n }\n }\n\n return [leftPoint, leftMiddlePoint, rightMiddlePoint, rightPoint];\n };\n\n var topPoints = getHalfPoints(\"top\");\n var bottomPoints = getHalfPoints(\"bottom\");\n return [bottomPoints[1], bottomPoints[0]].concat(_toConsumableArray(topPoints), [// eslint-disable-next-line no-magic-numbers\n bottomPoints[3], bottomPoints[2]]);\n}; // eslint-disable-next-line max-params\n\n\nexport var getVerticalBarPath = function (props, width, cornerRadius) {\n var position = getPosition(props, width);\n var sign = position.y0 > position.y1 ? 1 : -1;\n var direction = sign > 0 ? \"0 0 1\" : \"0 0 0\";\n var points = getVerticalBarPoints(position, sign, cornerRadius);\n return mapPointsToPath(points, cornerRadius, direction);\n}; // eslint-disable-next-line max-params\n\nexport var getHorizontalBarPath = function (props, width, cornerRadius) {\n var position = getPosition(props, width);\n var sign = position.x0 < position.x1 ? 1 : -1;\n var direction = \"0 0 1\";\n var cr = {\n topRight: sign > 0 ? cornerRadius.topLeft : cornerRadius.bottomLeft,\n bottomRight: sign > 0 ? cornerRadius.topRight : cornerRadius.bottomRight,\n bottomLeft: sign > 0 ? cornerRadius.bottomRight : cornerRadius.topRight,\n topLeft: sign > 0 ? cornerRadius.bottomLeft : cornerRadius.topLeft\n };\n var points = getHorizontalBarPoints(position, sign, cr);\n return mapPointsToPath(points, cr, direction);\n};\nexport var getVerticalPolarBarPath = function (props, cornerRadius) {\n var datum = props.datum,\n scale = props.scale,\n index = props.index,\n alignment = props.alignment,\n style = props.style;\n var r1 = scale.y(datum._y0 || 0);\n var r2 = scale.y(datum._y1 !== undefined ? datum._y1 : datum._y);\n var currentAngle = scale.x(datum._x1 !== undefined ? datum._x1 : datum._x);\n var start;\n var end;\n\n if (style.width) {\n var width = getAngularWidth(props, style.width);\n var size = alignment === \"middle\" ? width / 2 : width;\n start = alignment === \"start\" ? currentAngle : currentAngle - size;\n end = alignment === \"end\" ? currentAngle : currentAngle + size;\n } else {\n start = getStartAngle(props, index);\n end = getEndAngle(props, index);\n }\n\n var getPath = function (edge) {\n var pathFunction = d3Shape.arc().innerRadius(r1).outerRadius(r2).startAngle(transformAngle(start)).endAngle(transformAngle(end)).cornerRadius(cornerRadius[edge]);\n return pathFunction();\n };\n\n var getPathData = function (edge) {\n var rightPath = getPath(\"\".concat(edge, \"Right\"));\n var rightMoves = rightPath.match(/[A-Z]/g);\n var rightCoords = rightPath.split(/[A-Z]/).slice(1);\n var rightMiddle = rightMoves.indexOf(\"L\");\n var leftPath = getPath(\"\".concat(edge, \"Left\"));\n var leftMoves = leftPath.match(/[A-Z]/g);\n var leftCoords = leftPath.split(/[A-Z]/).slice(1);\n var leftMiddle = leftMoves.indexOf(\"L\");\n return {\n rightMoves: rightMoves,\n rightCoords: rightCoords,\n rightMiddle: rightMiddle,\n leftMoves: leftMoves,\n leftCoords: leftCoords,\n leftMiddle: leftMiddle\n };\n }; // eslint-disable-next-line max-statements\n\n\n var getTopPath = function () {\n var topRight = cornerRadius.topRight,\n topLeft = cornerRadius.topLeft;\n var arcLength = r2 * Math.abs(end - start);\n\n var _getPathData = getPathData(\"top\"),\n rightMoves = _getPathData.rightMoves,\n rightCoords = _getPathData.rightCoords,\n rightMiddle = _getPathData.rightMiddle,\n leftMoves = _getPathData.leftMoves,\n leftCoords = _getPathData.leftCoords,\n leftMiddle = _getPathData.leftMiddle;\n\n var moves;\n var coords;\n\n if (topRight === topLeft || arcLength < 2 * topRight + 2 * topLeft) {\n moves = topRight > topLeft ? rightMoves : leftMoves;\n coords = topRight > topLeft ? rightCoords : leftCoords;\n } else {\n // eslint-disable-next-line no-magic-numbers\n var isShort = function (middle) {\n return middle < 3;\n };\n\n var rightOffset = topLeft > topRight && isShort(rightMiddle) ? 1 : 2;\n var leftOffset;\n\n if (topRight > topLeft) {\n var defaultOffset = isShort(rightMiddle) ? leftMiddle : leftMiddle - 2;\n leftOffset = isShort(leftMiddle) ? leftMiddle - 1 : defaultOffset;\n } else {\n var _defaultOffset = isShort(leftMiddle) ? 1 : 2;\n\n leftOffset = isShort(rightMiddle) ? _defaultOffset : leftMiddle - 2;\n }\n\n moves = [].concat(_toConsumableArray(rightMoves.slice(0, rightOffset)), _toConsumableArray(leftMoves.slice(leftOffset)));\n coords = [].concat(_toConsumableArray(rightCoords.slice(0, rightOffset)), _toConsumableArray(leftCoords.slice(leftOffset)));\n }\n\n var middle = moves.indexOf(\"L\");\n var subMoves = moves.slice(0, middle);\n var subCoords = coords.slice(0, middle);\n return subMoves.map(function (m, i) {\n return {\n command: m,\n coords: subCoords[i].split(\",\")\n };\n });\n }; // eslint-disable-next-line max-statements\n\n\n var getBottomPath = function () {\n var bottomRight = cornerRadius.bottomRight,\n bottomLeft = cornerRadius.bottomLeft;\n var arcLength = r1 * Math.abs(end - start);\n\n var _getPathData2 = getPathData(\"bottom\"),\n rightMoves = _getPathData2.rightMoves,\n rightCoords = _getPathData2.rightCoords,\n rightMiddle = _getPathData2.rightMiddle,\n leftMoves = _getPathData2.leftMoves,\n leftCoords = _getPathData2.leftCoords,\n leftMiddle = _getPathData2.leftMiddle;\n\n var moves;\n var coords;\n\n if (bottomRight === bottomLeft || arcLength < 2 * bottomRight + 2 * bottomLeft) {\n moves = bottomRight > bottomLeft ? rightMoves : leftMoves;\n coords = bottomRight > bottomLeft ? rightCoords : leftCoords;\n } else {\n // eslint-disable-next-line no-magic-numbers\n var isShort = function (m, middle) {\n return m.length - middle < 4;\n };\n\n var shortPath = bottomRight > bottomLeft ? isShort(rightMoves, rightMiddle) : isShort(leftMoves, leftMiddle); // eslint-disable-next-line no-magic-numbers\n\n var rightOffset = shortPath ? -1 : -3;\n moves = [].concat(_toConsumableArray(leftMoves.slice(0, leftMiddle + 2)), _toConsumableArray(rightMoves.slice(rightOffset)));\n coords = [].concat(_toConsumableArray(leftCoords.slice(0, leftMiddle + 2)), _toConsumableArray(rightCoords.slice(rightOffset)));\n }\n\n var middle = moves.indexOf(\"L\");\n var subMoves = moves.slice(middle, -1);\n var subCoords = coords.slice(middle, -1);\n return subMoves.map(function (m, i) {\n return {\n command: m,\n coords: subCoords[i].split(\",\")\n };\n });\n };\n\n var topPath = getTopPath();\n var bottomPath = getBottomPath();\n var moves = [].concat(_toConsumableArray(topPath), _toConsumableArray(bottomPath));\n var path = moves.reduce(function (memo, move) {\n memo += \"\".concat(move.command, \" \").concat(move.coords.join());\n return memo;\n }, \"\");\n return \"\".concat(path, \" z\");\n};\nexport var getBarPath = function (props, width, cornerRadius) {\n if (props.getPath) {\n return getCustomBarPath(props, width);\n }\n\n return props.horizontal ? getHorizontalBarPath(props, width, cornerRadius) : getVerticalBarPath(props, width, cornerRadius);\n};\nexport var getPolarBarPath = function (props, cornerRadius) {\n // TODO Radial bars\n return getVerticalPolarBarPath(props, cornerRadius);\n};","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { CommonProps, Helpers, Path } from \"victory-core\";\nimport { getStyle, getBarWidth, getCornerRadius } from \"./bar-helper-methods\";\nimport { getPolarBarPath, getBarPath } from \"./path-helper-methods\";\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props of following must be evaluated in this order:\n * 1) `style`\n * 2) `barWidth`\n * 3) `cornerRadius`\n *\n * Everything else does not have to be evaluated in a particular order:\n * `ariaLabel`\n * `desc`\n * `id`\n * `tabIndex`\n */\n var style = getStyle(props.style, props);\n var barWidth = getBarWidth(props.barWidth, _assign({}, props, {\n style: style\n }));\n var cornerRadius = getCornerRadius(props.cornerRadius, _assign({}, props, {\n style: style,\n barWidth: barWidth\n }));\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var desc = Helpers.evaluateProp(props.desc, props);\n var id = Helpers.evaluateProp(props.id, props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n style: style,\n barWidth: barWidth,\n cornerRadius: cornerRadius,\n desc: desc,\n id: id,\n tabIndex: tabIndex\n });\n};\n\nvar Bar = function (props) {\n props = evaluateProps(props);\n var _props = props,\n polar = _props.polar,\n origin = _props.origin,\n style = _props.style,\n barWidth = _props.barWidth,\n cornerRadius = _props.cornerRadius;\n var path = polar ? getPolarBarPath(props, cornerRadius) : getBarPath(props, barWidth, cornerRadius);\n var defaultTransform = polar && origin ? \"translate(\".concat(origin.x, \", \").concat(origin.y, \")\") : undefined;\n return /*#__PURE__*/React.cloneElement(props.pathComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n \"aria-label\": props.ariaLabel,\n style: style,\n d: path,\n className: props.className,\n clipPath: props.clipPath,\n desc: props.desc,\n index: props.index,\n role: props.role,\n shapeRendering: props.shapeRendering,\n transform: props.transform || defaultTransform,\n tabIndex: props.tabIndex\n }));\n};\n\nBar.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n alignment: PropTypes.oneOf([\"start\", \"middle\", \"end\"]),\n barRatio: PropTypes.number,\n barWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n cornerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.func, PropTypes.shape({\n top: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n topLeft: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n topRight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n bottom: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n bottomLeft: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n bottomRight: PropTypes.oneOfType([PropTypes.number, PropTypes.func])\n })]),\n datum: PropTypes.object,\n getPath: PropTypes.func,\n horizontal: PropTypes.bool,\n pathComponent: PropTypes.element,\n width: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number,\n y0: PropTypes.number\n});\nBar.defaultProps = {\n defaultBarWidth: 8,\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};\nexport default Bar;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { getBaseProps } from \"./helper-methods\";\nimport Bar from \"./bar\";\nimport { Helpers, VictoryLabel, VictoryContainer, VictoryTheme, CommonProps, addEvents, Data, Domain, UserProps } from \"victory-core\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n};\nvar defaultData = [{\n x: 1,\n y: 1\n}, {\n x: 2,\n y: 2\n}, {\n x: 3,\n y: 3\n}, {\n x: 4,\n y: 4\n}];\n\nvar VictoryBar = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryBar, _React$Component);\n\n var _super = _createSuper(VictoryBar);\n\n function VictoryBar() {\n _classCallCheck(this, VictoryBar);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryBar, [{\n key: \"shouldAnimate\",\n value: // Overridden in native versions\n function shouldAnimate() {\n return !!this.props.animate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryBar.animationWhitelist,\n role = VictoryBar.role;\n var props = Helpers.modifyProps(this.props, fallbackProps, role);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var children = this.renderData(props);\n var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children;\n return UserProps.withSafeUserProps(component, props);\n }\n }]);\n\n return VictoryBar;\n}(React.Component);\n\nVictoryBar.animationWhitelist = [\"data\", \"domain\", \"height\", \"padding\", \"style\", \"width\"];\nVictoryBar.displayName = \"VictoryBar\";\nVictoryBar.role = \"bar\";\nVictoryBar.defaultTransitions = {\n onLoad: {\n duration: 2000,\n before: function () {\n return {\n _y: 0,\n _y1: 0,\n _y0: 0\n };\n },\n after: function (datum) {\n return {\n _y: datum._y,\n _y1: datum._y1,\n _y0: datum._y0\n };\n }\n },\n onExit: {\n duration: 500,\n before: function () {\n return {\n _y: 0,\n yOffset: 0\n };\n }\n },\n onEnter: {\n duration: 500,\n before: function () {\n return {\n _y: 0,\n _y1: 0,\n _y0: 0\n };\n },\n after: function (datum) {\n return {\n _y: datum._y,\n _y1: datum._y1,\n _y0: datum._y0\n };\n }\n }\n};\nVictoryBar.propTypes = _objectSpread(_objectSpread(_objectSpread({}, CommonProps.baseProps), CommonProps.dataProps), {}, {\n alignment: PropTypes.oneOf([\"start\", \"middle\", \"end\"]),\n barRatio: PropTypes.number,\n barWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n cornerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.func, PropTypes.shape({\n top: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n topLeft: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n topRight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n bottom: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n bottomLeft: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n bottomRight: PropTypes.oneOfType([PropTypes.number, PropTypes.func])\n })]),\n getPath: PropTypes.func,\n horizontal: PropTypes.bool\n});\nVictoryBar.defaultProps = {\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n data: defaultData,\n dataComponent: /*#__PURE__*/React.createElement(Bar, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", {\n role: \"presentation\"\n }),\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n samples: 50,\n sortOrder: \"ascending\",\n standalone: true,\n theme: VictoryTheme.grayscale\n};\nVictoryBar.getDomain = Domain.getDomainWithZero;\nVictoryBar.getData = Data.getData;\n\nVictoryBar.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryBar.expectedComponents = [\"dataComponent\", \"labelComponent\", \"groupComponent\", \"containerComponent\"];\nexport default addEvents(VictoryBar);","import * as Collection from \"./collection\";\n\n// Private Functions\nfunction transformTarget(target, matrix, dimension) {\n var a = matrix.a,\n d = matrix.d,\n e = matrix.e,\n f = matrix.f;\n return dimension === \"y\" ? d * target + f : a * target + e;\n}\n\nfunction getTransformationMatrix(svg) {\n return svg.getScreenCTM().inverse();\n}\n\nfunction isNativeTouchEvent(nativeEvent) {\n return !!(nativeEvent && nativeEvent.identifier !== undefined);\n}\n\nfunction isReactTouchEvent(evt) {\n return evt.changedTouches && evt.changedTouches.length > 0;\n} // Exported Functions\n\n\nexport function getParentSVG(evt) {\n if (isNativeTouchEvent(evt.nativeEvent)) {\n // @ts-expect-error Seems like a superfluous check.\n return undefined;\n }\n\n var getParent = function (target) {\n if (target.nodeName === \"svg\") {\n return target;\n }\n\n return target.parentNode ? getParent(target.parentNode) : target;\n };\n\n return getParent(evt.target);\n}\nexport function getSVGEventCoordinates(evt, svg) {\n if (isNativeTouchEvent(evt.nativeEvent)) {\n // react-native override. relies on the RN.View being the _exact_ same size as its child SVG.\n // this should be fine: the svg is the only child of View and the View shirks to its children\n return {\n x: evt.nativeEvent.locationX,\n y: evt.nativeEvent.locationY\n };\n }\n\n var location = isReactTouchEvent(evt) ? evt.changedTouches[0] : evt;\n svg = svg || getParentSVG(location);\n var matrix = getTransformationMatrix(svg);\n return {\n x: transformTarget(location.clientX, matrix, \"x\"),\n y: transformTarget(location.clientY, matrix, \"y\")\n };\n}\nexport function getDomainCoordinates(props, domain) {\n var horizontal = props.horizontal;\n var scale = props.scale; // FIXME: add support for DomainTuple: [number, number]\n\n var domainObj = domain || {\n x: scale.x.domain(),\n y: scale.y.domain()\n };\n return {\n x: horizontal ? [scale.y(domainObj.y[0]), scale.y(domainObj.y[1])] : [scale.x(domainObj.x[0]), scale.x(domainObj.x[1])],\n y: horizontal ? [scale.x(domainObj.x[0]), scale.x(domainObj.x[1])] : [scale.y(domainObj.y[0]), scale.y(domainObj.y[1])]\n };\n} // eslint-disable-next-line max-params\n\nexport function getDataCoordinates(props, scale, x, y) {\n var polar = props.polar,\n horizontal = props.horizontal;\n\n if (!polar) {\n return {\n x: horizontal ? scale.x.invert(y) : scale.x.invert(x),\n y: horizontal ? scale.y.invert(x) : scale.y.invert(y)\n };\n }\n\n var origin = props.origin || {\n x: 0,\n y: 0\n };\n var baseX = x - origin.x;\n var baseY = y - origin.y;\n var radius = Math.abs(baseX * Math.sqrt(1 + Math.pow(-baseY / baseX, 2)));\n var angle = (-Math.atan2(baseY, baseX) + Math.PI * 2) % (Math.PI * 2);\n return {\n x: scale.x.invert(angle),\n y: scale.y.invert(radius)\n };\n}\nexport function getBounds(props) {\n var x1 = props.x1,\n x2 = props.x2,\n y1 = props.y1,\n y2 = props.y2,\n scale = props.scale;\n var point1 = getDataCoordinates(props, scale, x1, y1);\n var point2 = getDataCoordinates(props, scale, x2, y2);\n\n var makeBound = function (a, b) {\n return [Collection.getMinValue([a, b]), Collection.getMaxValue([a, b])];\n };\n\n return {\n x: makeBound(point1.x, point2.x),\n y: makeBound(point1.y, point2.y)\n };\n}","import _mapValues from \"lodash/mapValues\";\nimport _defaults from \"lodash/defaults\";\nimport _isFunction from \"lodash/isFunction\";\nimport _throttle from \"lodash/throttle\";\nimport _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Selection } from \"victory-core\";\nimport isEqual from \"react-fast-compare\";\nvar Helpers = {\n getDimension: function (props) {\n var horizontal = props.horizontal,\n brushDimension = props.brushDimension;\n\n if (!horizontal || !brushDimension) {\n return brushDimension;\n }\n\n return brushDimension === \"x\" ? \"y\" : \"x\";\n },\n withinBounds: function (point, bounds, padding) {\n var _mapValues2 = _mapValues(bounds, Number),\n x1 = _mapValues2.x1,\n x2 = _mapValues2.x2,\n y1 = _mapValues2.y1,\n y2 = _mapValues2.y2;\n\n var _mapValues3 = _mapValues(point, Number),\n x = _mapValues3.x,\n y = _mapValues3.y;\n\n padding = padding ? padding / 2 : 0;\n return x + padding >= Math.min(x1, x2) && x - padding <= Math.max(x1, x2) && y + padding >= Math.min(y1, y2) && y - padding <= Math.max(y1, y2);\n },\n getDomainBox: function (props, fullDomain, selectedDomain) {\n var brushDimension = this.getDimension(props);\n fullDomain = _defaults({}, fullDomain, props.domain);\n selectedDomain = _defaults({}, selectedDomain, fullDomain);\n var fullCoords = Selection.getDomainCoordinates(props, fullDomain);\n var selectedCoords = Selection.getDomainCoordinates(props, selectedDomain);\n return {\n x1: brushDimension !== \"y\" ? Math.min.apply(Math, _toConsumableArray(selectedCoords.x)) : Math.min.apply(Math, _toConsumableArray(fullCoords.x)),\n x2: brushDimension !== \"y\" ? Math.max.apply(Math, _toConsumableArray(selectedCoords.x)) : Math.max.apply(Math, _toConsumableArray(fullCoords.x)),\n y1: brushDimension !== \"x\" ? Math.min.apply(Math, _toConsumableArray(selectedCoords.y)) : Math.min.apply(Math, _toConsumableArray(fullCoords.y)),\n y2: brushDimension !== \"x\" ? Math.max.apply(Math, _toConsumableArray(selectedCoords.y)) : Math.max.apply(Math, _toConsumableArray(fullCoords.y))\n };\n },\n getHandles: function (props, domainBox) {\n var brushDimension = this.getDimension(props);\n var x1 = domainBox.x1,\n x2 = domainBox.x2,\n y1 = domainBox.y1,\n y2 = domainBox.y2;\n var minX = Math.min(x1, x2);\n var maxX = Math.max(x1, x2);\n var minY = Math.min(y1, y2);\n var maxY = Math.max(y1, y2);\n var handleWidth = props.handleWidth / 2;\n return {\n left: brushDimension !== \"y\" && {\n x1: minX - handleWidth,\n x2: minX + handleWidth,\n y1: y1,\n y2: y2\n },\n right: brushDimension !== \"y\" && {\n x1: maxX - handleWidth,\n x2: maxX + handleWidth,\n y1: y1,\n y2: y2\n },\n top: brushDimension !== \"x\" && {\n x1: x1,\n x2: x2,\n y1: minY - handleWidth,\n y2: minY + handleWidth\n },\n bottom: brushDimension !== \"x\" && {\n x1: x1,\n x2: x2,\n y1: maxY - handleWidth,\n y2: maxY + handleWidth\n }\n };\n },\n getActiveHandles: function (point, props, domainBox) {\n var _this = this;\n\n var handles = this.getHandles(props, domainBox);\n var activeHandles = [\"top\", \"bottom\", \"left\", \"right\"].reduce(function (memo, opt) {\n memo = handles[opt] && _this.withinBounds(point, handles[opt]) ? memo.concat(opt) : memo;\n return memo;\n }, []);\n return activeHandles.length && activeHandles;\n },\n getResizeMutation: function (box, handles) {\n var x1 = box.x1,\n y1 = box.y1,\n x2 = box.x2,\n y2 = box.y2;\n var mutations = {\n left: {\n x1: Math.max(x1, x2),\n x2: Math.min(x1, x2),\n y1: y1,\n y2: y2\n },\n right: {\n x1: Math.min(x1, x2),\n x2: Math.max(x1, x2),\n y1: y1,\n y2: y2\n },\n top: {\n y1: Math.max(y1, y2),\n y2: Math.min(y1, y2),\n x1: x1,\n x2: x2\n },\n bottom: {\n y1: Math.min(y1, y2),\n y2: Math.max(y1, y2),\n x1: x1,\n x2: x2\n }\n };\n return handles.reduce(function (memo, current) {\n return _assign(memo, mutations[current]);\n }, {});\n },\n getMinimumDomain: function () {\n return {\n x: [0, 1 / Number.MAX_SAFE_INTEGER],\n y: [0, 1 / Number.MAX_SAFE_INTEGER]\n };\n },\n getDefaultBrushArea: function (targetProps, cachedDomain, evt) {\n var domain = targetProps.domain,\n fullDomain = targetProps.fullDomain,\n scale = targetProps.scale,\n horizontal = targetProps.horizontal,\n allowResize = targetProps.allowResize;\n var defaultBrushArea = !allowResize && !targetProps.defaultBrushArea ? \"move\" : targetProps.defaultBrushArea;\n\n if (defaultBrushArea === \"none\") {\n return this.getMinimumDomain();\n } else if (defaultBrushArea === \"disable\") {\n return cachedDomain;\n } else if (defaultBrushArea === \"move\") {\n var brushBox = this.getDomainBox(targetProps, fullDomain, cachedDomain);\n var parentSVG = targetProps.parentSVG || Selection.getParentSVG(evt);\n var pannedBox = this.panBox(_objectSpread(_objectSpread(_objectSpread({}, targetProps), brushBox), {}, {\n brushDomain: cachedDomain,\n startX: (brushBox.x1 + brushBox.x2) / 2,\n startY: (brushBox.y1 + brushBox.y2) / 2\n }), Selection.getSVGEventCoordinates(evt, parentSVG));\n var fullDomainBox = targetProps.fullDomainBox || this.getDomainBox(targetProps, fullDomain);\n var constrainedBox = this.constrainBox(pannedBox, fullDomainBox);\n return Selection.getBounds(_objectSpread(_objectSpread({}, constrainedBox), {}, {\n scale: scale,\n horizontal: horizontal\n }));\n }\n\n return domain;\n },\n getSelectionMutation: function (point, box, brushDimension) {\n var x = point.x,\n y = point.y;\n var x1 = box.x1,\n x2 = box.x2,\n y1 = box.y1,\n y2 = box.y2;\n return {\n x1: brushDimension !== \"y\" ? x : x1,\n y1: brushDimension !== \"x\" ? y : y1,\n x2: brushDimension !== \"y\" ? x : x2,\n y2: brushDimension !== \"x\" ? y : y2\n };\n },\n panBox: function (props, point) {\n var domain = props.domain,\n startX = props.startX,\n startY = props.startY;\n var brushDimension = this.getDimension(props);\n\n var brushDomain = _defaults({}, props.brushDomain, domain);\n\n var fullDomain = _defaults({}, props.fullDomain, domain);\n\n var _ref = props.x1 ? props : this.getDomainBox(props, fullDomain, brushDomain),\n x1 = _ref.x1,\n x2 = _ref.x2,\n y1 = _ref.y1,\n y2 = _ref.y2;\n\n var x = point.x,\n y = point.y;\n var delta = {\n x: startX ? startX - x : 0,\n y: startY ? startY - y : 0\n };\n return {\n x1: brushDimension !== \"y\" ? Math.min(x1, x2) - delta.x : Math.min(x1, x2),\n x2: brushDimension !== \"y\" ? Math.max(x1, x2) - delta.x : Math.max(x1, x2),\n y1: brushDimension !== \"x\" ? Math.min(y1, y2) - delta.y : Math.min(y1, y2),\n y2: brushDimension !== \"x\" ? Math.max(y1, y2) - delta.y : Math.max(y1, y2)\n };\n },\n constrainBox: function (box, fullDomainBox) {\n var _mapValues4 = _mapValues(fullDomainBox, Number),\n x1 = _mapValues4.x1,\n y1 = _mapValues4.y1,\n x2 = _mapValues4.x2,\n y2 = _mapValues4.y2;\n\n return {\n x1: box.x2 > x2 ? x2 - Math.abs(box.x2 - box.x1) : Math.max(box.x1, x1),\n y1: box.y2 > y2 ? y2 - Math.abs(box.y2 - box.y1) : Math.max(box.y1, y1),\n x2: box.x1 < x1 ? x1 + Math.abs(box.x2 - box.x1) : Math.min(box.x2, x2),\n y2: box.y1 < y1 ? y1 + Math.abs(box.y2 - box.y1) : Math.min(box.y2, y2)\n };\n },\n constrainPoint: function (point, fullDomainBox) {\n var _mapValues5 = _mapValues(fullDomainBox, Number),\n x1 = _mapValues5.x1,\n y1 = _mapValues5.y1,\n x2 = _mapValues5.x2,\n y2 = _mapValues5.y2;\n\n return {\n x: Math.min(Math.max(point.x, x1), x2),\n y: Math.min(Math.max(point.y, y1), y2)\n };\n },\n hasMoved: function (props) {\n var x1 = props.x1,\n x2 = props.x2,\n y1 = props.y1,\n y2 = props.y2,\n mouseMoveThreshold = props.mouseMoveThreshold;\n var brushDimension = this.getDimension(props);\n var xMoved = Math.abs(x1 - x2) >= mouseMoveThreshold;\n var yMoved = Math.abs(y1 - y2) >= mouseMoveThreshold;\n\n switch (brushDimension) {\n case \"x\":\n return xMoved;\n\n case \"y\":\n return yMoved;\n\n default:\n return xMoved || yMoved;\n }\n },\n // eslint-disable-next-line max-statements, complexity\n onMouseDown: function (evt, targetProps) {\n var _this2 = this;\n\n evt.preventDefault();\n var handleWidth = targetProps.handleWidth,\n cachedBrushDomain = targetProps.cachedBrushDomain,\n domain = targetProps.domain,\n allowResize = targetProps.allowResize,\n allowDrag = targetProps.allowDrag,\n allowDraw = targetProps.allowDraw;\n var brushDimension = this.getDimension(targetProps);\n var defaultBrushArea = !allowResize && !targetProps.defaultBrushArea ? \"move\" : targetProps.defaultBrushArea; // Don't trigger events for static brushes\n\n if (!allowResize && !allowDrag) {\n return {};\n }\n\n var fullDomainBox = targetProps.fullDomainBox || this.getDomainBox(targetProps, domain);\n var parentSVG = targetProps.parentSVG || Selection.getParentSVG(evt);\n\n var _Selection$getSVGEven = Selection.getSVGEventCoordinates(evt, parentSVG),\n x = _Selection$getSVGEven.x,\n y = _Selection$getSVGEven.y; // Ignore events that occur outside of the maximum domain region\n\n\n if (!this.withinBounds({\n x: x,\n y: y\n }, fullDomainBox, handleWidth)) {\n return {};\n }\n\n var brushDomain = _defaults({}, targetProps.brushDomain, domain);\n\n var currentDomain = isEqual(brushDomain, cachedBrushDomain) ? targetProps.currentDomain || brushDomain || domain : brushDomain || domain;\n var domainBox = this.getDomainBox(targetProps, domain, currentDomain);\n var activeHandles = allowResize && this.getActiveHandles({\n x: x,\n y: y\n }, targetProps, domainBox); // If the event occurs in any of the handle regions, start a resize\n\n if (activeHandles) {\n return [{\n target: \"parent\",\n mutation: function () {\n return _objectSpread({\n isSelecting: true,\n domainBox: domainBox,\n fullDomainBox: fullDomainBox,\n cachedBrushDomain: brushDomain,\n currentDomain: currentDomain,\n parentSVG: parentSVG\n }, _this2.getResizeMutation(domainBox, activeHandles));\n }\n }];\n } else if (this.withinBounds({\n x: x,\n y: y\n }, domainBox) && !isEqual(domain, currentDomain)) {\n // if the event occurs within a selected region start a panning event, unless the whole\n // domain is selected\n return [{\n target: \"parent\",\n mutation: function () {\n return _objectSpread({\n isPanning: allowDrag,\n startX: x,\n startY: y,\n domainBox: domainBox,\n fullDomainBox: fullDomainBox,\n currentDomain: currentDomain,\n cachedBrushDomain: brushDomain,\n parentSVG: parentSVG\n }, domainBox);\n }\n }];\n } // if the event occurs outside the region, or if the whole domain is selected,\n // start a new selection\n\n\n return allowDraw ? [{\n target: \"parent\",\n mutation: function () {\n return _objectSpread({\n isSelecting: allowResize || defaultBrushArea === \"move\",\n domainBox: domainBox,\n fullDomainBox: fullDomainBox,\n parentSVG: parentSVG,\n cachedBrushDomain: brushDomain,\n cachedCurrentDomain: currentDomain,\n currentDomain: _this2.getMinimumDomain()\n }, _this2.getSelectionMutation({\n x: x,\n y: y\n }, domainBox, brushDimension));\n }\n }] : {};\n },\n // eslint-disable-next-line max-statements, complexity\n onGlobalMouseMove: function (evt, targetProps) {\n var scale = targetProps.scale,\n isPanning = targetProps.isPanning,\n isSelecting = targetProps.isSelecting,\n fullDomainBox = targetProps.fullDomainBox,\n onBrushDomainChange = targetProps.onBrushDomainChange,\n allowResize = targetProps.allowResize,\n allowDrag = targetProps.allowDrag,\n horizontal = targetProps.horizontal,\n mouseMoveThreshold = targetProps.mouseMoveThreshold,\n parentSVG = targetProps.parentSVG;\n var brushDimension = this.getDimension(targetProps);\n\n var _Selection$getSVGEven2 = Selection.getSVGEventCoordinates(evt, parentSVG),\n x = _Selection$getSVGEven2.x,\n y = _Selection$getSVGEven2.y;\n\n if (!allowResize && !allowDrag || mouseMoveThreshold > 0 && !this.hasMoved(_objectSpread(_objectSpread({}, targetProps), {}, {\n x2: x,\n y2: y\n }))) {\n return {};\n }\n\n if (allowDrag && isPanning) {\n var startX = targetProps.startX,\n startY = targetProps.startY;\n var pannedBox = this.panBox(targetProps, {\n x: x,\n y: y\n });\n var constrainedBox = this.constrainBox(pannedBox, fullDomainBox);\n var currentDomain = Selection.getBounds(_objectSpread(_objectSpread({}, constrainedBox), {}, {\n scale: scale,\n horizontal: horizontal\n }));\n\n var mutatedProps = _objectSpread({\n currentDomain: currentDomain,\n parentSVG: parentSVG,\n startX: pannedBox.x2 >= fullDomainBox.x2 || pannedBox.x1 <= fullDomainBox.x1 ? startX : x,\n startY: pannedBox.y2 >= fullDomainBox.y2 || pannedBox.y1 <= fullDomainBox.y1 ? startY : y\n }, constrainedBox);\n\n if (_isFunction(onBrushDomainChange)) {\n onBrushDomainChange(currentDomain, _defaults({}, mutatedProps, targetProps));\n }\n\n return [{\n target: \"parent\",\n mutation: function () {\n return mutatedProps;\n }\n }];\n } else if (allowResize && isSelecting) {\n var _this$constrainPoint = this.constrainPoint({\n x: brushDimension !== \"y\" ? x : targetProps.x2,\n y: brushDimension !== \"x\" ? y : targetProps.y2\n }, fullDomainBox),\n x2 = _this$constrainPoint.x,\n y2 = _this$constrainPoint.y;\n\n var _currentDomain = Selection.getBounds({\n x2: x2,\n y2: y2,\n x1: targetProps.x1,\n y1: targetProps.y1,\n scale: scale,\n horizontal: horizontal\n });\n\n var _mutatedProps = {\n x2: x2,\n y2: y2,\n currentDomain: _currentDomain,\n parentSVG: parentSVG\n };\n\n if (_isFunction(onBrushDomainChange)) {\n onBrushDomainChange(_currentDomain, _defaults({}, _mutatedProps, targetProps));\n }\n\n return [{\n target: \"parent\",\n mutation: function () {\n return _mutatedProps;\n }\n }];\n }\n\n return {};\n },\n // eslint-disable-next-line complexity\n onGlobalMouseUp: function (evt, targetProps) {\n // if a panning or selection has not been started, ignore the event\n if (!targetProps.isPanning && !targetProps.isSelecting) {\n return {};\n } // eslint-disable-line max-statements, complexity\n\n\n var x1 = targetProps.x1,\n y1 = targetProps.y1,\n x2 = targetProps.x2,\n y2 = targetProps.y2,\n isPanning = targetProps.isPanning,\n isSelecting = targetProps.isSelecting,\n onBrushDomainChange = targetProps.onBrushDomainChange,\n onBrushDomainChangeEnd = targetProps.onBrushDomainChangeEnd,\n onBrushCleared = targetProps.onBrushCleared,\n currentDomain = targetProps.currentDomain,\n allowResize = targetProps.allowResize,\n allowDrag = targetProps.allowDrag;\n var defaultBrushArea = !allowResize && !targetProps.defaultBrushArea ? \"move\" : targetProps.defaultBrushArea;\n var defaultBrushHasArea = defaultBrushArea !== undefined && defaultBrushArea !== \"none\";\n var mutatedProps = {\n isPanning: false,\n isSelecting: false\n }; // if the mouse hasn't moved since a mouseDown event, select the default brush area\n\n if ((allowResize || defaultBrushHasArea) && (x1 === x2 || y1 === y2)) {\n var cachedDomain = targetProps.cachedCurrentDomain || currentDomain;\n var defaultDomain = this.getDefaultBrushArea(targetProps, cachedDomain, evt);\n mutatedProps.currentDomain = defaultDomain;\n\n if (_isFunction(onBrushDomainChange)) {\n onBrushDomainChange(defaultDomain, _defaults({}, mutatedProps, targetProps));\n }\n\n if (_isFunction(onBrushDomainChangeEnd)) {\n onBrushDomainChangeEnd(defaultDomain, _defaults({}, mutatedProps, targetProps));\n }\n\n if (_isFunction(onBrushCleared)) {\n onBrushCleared(defaultDomain, _defaults({}, mutatedProps, targetProps));\n }\n } else if (allowDrag && isPanning || allowResize && isSelecting) {\n if (_isFunction(onBrushDomainChangeEnd)) {\n onBrushDomainChangeEnd(currentDomain, _defaults({}, mutatedProps, targetProps));\n }\n }\n\n return [{\n target: \"parent\",\n mutation: function () {\n return mutatedProps;\n }\n }];\n }\n};\nexport var BrushHelpers = _objectSpread(_objectSpread({}, Helpers), {}, {\n onMouseDown: Helpers.onMouseDown.bind(Helpers),\n onGlobalMouseUp: Helpers.onGlobalMouseUp.bind(Helpers),\n onGlobalMouseMove: _throttle(Helpers.onGlobalMouseMove.bind(Helpers), 16, // eslint-disable-line no-magic-numbers\n {\n leading: true,\n trailing: false\n })\n});","import _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { VictoryContainer, Selection, Rect } from \"victory-core\";\nimport { BrushHelpers } from \"./brush-helpers\";\nimport isEqual from \"react-fast-compare\";\nexport var brushContainerMixin = function (base) {\n var _class;\n\n return _class = /*#__PURE__*/function (_base) {\n _inherits(VictoryBrushContainer, _base);\n\n var _super = _createSuper(VictoryBrushContainer);\n\n function VictoryBrushContainer() {\n _classCallCheck(this, VictoryBrushContainer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryBrushContainer, [{\n key: \"getSelectBox\",\n value: function getSelectBox(props, coordinates) {\n var x = coordinates.x,\n y = coordinates.y;\n var brushStyle = props.brushStyle,\n brushComponent = props.brushComponent,\n name = props.name;\n var brushComponentStyle = brushComponent.props && brushComponent.props.style;\n var cursor = !props.allowDrag && !props.allowResize ? \"auto\" : \"move\";\n return x[0] !== x[1] && y[0] !== y[1] ? /*#__PURE__*/React.cloneElement(brushComponent, {\n key: \"\".concat(name, \"-brush\"),\n width: Math.abs(x[1] - x[0]) || 1,\n height: Math.abs(y[1] - y[0]) || 1,\n x: Math.min(x[0], x[1]),\n y: Math.min(y[0], y[1]),\n cursor: cursor,\n style: _defaults({}, brushComponentStyle, brushStyle)\n }) : null;\n }\n }, {\n key: \"getCursorPointers\",\n value: function getCursorPointers(props) {\n var cursors = {\n yProps: \"ns-resize\",\n xProps: \"ew-resize\"\n };\n\n if (!props.allowResize && props.allowDrag) {\n cursors.xProps = \"move\";\n cursors.yProps = \"move\";\n } else if (!props.allowResize && !props.allowDrag) {\n cursors.xProps = \"auto\";\n cursors.yProps = \"auto\";\n }\n\n return cursors;\n }\n }, {\n key: \"getHandles\",\n value: function getHandles(props, domain) {\n var handleWidth = props.handleWidth,\n handleStyle = props.handleStyle,\n handleComponent = props.handleComponent,\n name = props.name;\n var domainBox = BrushHelpers.getDomainBox(props, domain);\n var x1 = domainBox.x1,\n x2 = domainBox.x2,\n y1 = domainBox.y1,\n y2 = domainBox.y2;\n\n var _BrushHelpers$getHand = BrushHelpers.getHandles(props, domainBox),\n top = _BrushHelpers$getHand.top,\n bottom = _BrushHelpers$getHand.bottom,\n left = _BrushHelpers$getHand.left,\n right = _BrushHelpers$getHand.right;\n\n var width = Math.abs(x2 - x1) || 1;\n var height = Math.abs(y2 - y1) || 1;\n var handleComponentStyle = handleComponent.props && handleComponent.props.style || {};\n\n var style = _defaults({}, handleComponentStyle, handleStyle);\n\n var cursors = this.getCursorPointers(props);\n var yProps = {\n style: style,\n width: width,\n height: handleWidth,\n cursor: cursors.yProps\n };\n var xProps = {\n style: style,\n width: handleWidth,\n height: height,\n cursor: cursors.xProps\n };\n var handleProps = {\n top: top && _assign({\n x: top.x1,\n y: top.y1\n }, yProps),\n bottom: bottom && _assign({\n x: bottom.x1,\n y: bottom.y1\n }, yProps),\n left: left && _assign({\n y: left.y1,\n x: left.x1\n }, xProps),\n right: right && _assign({\n y: right.y1,\n x: right.x1\n }, xProps)\n };\n var handles = [\"top\", \"bottom\", \"left\", \"right\"].reduce(function (memo, curr) {\n memo = handleProps[curr] ? memo.concat( /*#__PURE__*/React.cloneElement(handleComponent, _assign({\n key: \"\".concat(name, \"-handle-\").concat(curr)\n }, handleProps[curr]))) : memo;\n return memo;\n }, []);\n return handles.length ? handles : null;\n }\n }, {\n key: \"getRect\",\n value: function getRect(props) {\n var currentDomain = props.currentDomain,\n cachedBrushDomain = props.cachedBrushDomain;\n\n var brushDomain = _defaults({}, props.brushDomain, props.domain);\n\n var domain = isEqual(brushDomain, cachedBrushDomain) ? _defaults({}, currentDomain, brushDomain) : brushDomain;\n var coordinates = Selection.getDomainCoordinates(props, domain);\n var selectBox = this.getSelectBox(props, coordinates);\n return selectBox ? [selectBox, this.getHandles(props, domain)] : [];\n } // Overrides method in VictoryContainer\n\n }, {\n key: \"getChildren\",\n value: function getChildren(props) {\n return [].concat(_toConsumableArray(React.Children.toArray(props.children)), _toConsumableArray(this.getRect(props)));\n }\n }]);\n\n return VictoryBrushContainer;\n }(base), _class.displayName = \"VictoryBrushContainer\", _class.propTypes = _objectSpread(_objectSpread({}, VictoryContainer.propTypes), {}, {\n allowDrag: PropTypes.bool,\n allowDraw: PropTypes.bool,\n allowResize: PropTypes.bool,\n brushComponent: PropTypes.element,\n brushDimension: PropTypes.oneOf([\"x\", \"y\"]),\n brushDomain: PropTypes.shape({\n x: PropTypes.array,\n y: PropTypes.array\n }),\n brushStyle: PropTypes.object,\n defaultBrushArea: PropTypes.oneOf([\"all\", \"disable\", \"none\", \"move\"]),\n disable: PropTypes.bool,\n handleComponent: PropTypes.element,\n handleStyle: PropTypes.object,\n handleWidth: PropTypes.number,\n onBrushCleared: PropTypes.func,\n onBrushDomainChange: PropTypes.func,\n onBrushDomainChangeEnd: PropTypes.func\n }), _class.defaultProps = _objectSpread(_objectSpread({}, VictoryContainer.defaultProps), {}, {\n allowDrag: true,\n allowDraw: true,\n allowResize: true,\n brushComponent: /*#__PURE__*/React.createElement(Rect, null),\n brushStyle: {\n stroke: \"transparent\",\n fill: \"black\",\n fillOpacity: 0.1\n },\n handleComponent: /*#__PURE__*/React.createElement(Rect, null),\n handleStyle: {\n stroke: \"transparent\",\n fill: \"transparent\"\n },\n handleWidth: 8,\n mouseMoveThreshold: 0\n }), _class.defaultEvents = function (props) {\n return [{\n target: \"parent\",\n eventHandlers: {\n onMouseDown: function (evt, targetProps) {\n return props.disable ? {} : BrushHelpers.onMouseDown(evt, targetProps);\n },\n onTouchStart: function (evt, targetProps) {\n return props.disable ? {} : BrushHelpers.onMouseDown(evt, targetProps);\n },\n onGlobalMouseMove: function (evt, targetProps) {\n return props.disable || !targetProps.isPanning && !targetProps.isSelecting ? {} : BrushHelpers.onGlobalMouseMove(evt, targetProps);\n },\n onGlobalTouchMove: function (evt, targetProps) {\n return props.disable || !targetProps.isPanning && !targetProps.isSelecting ? {} : BrushHelpers.onGlobalMouseMove(evt, targetProps);\n },\n onGlobalMouseUp: function (evt, targetProps) {\n return props.disable ? {} : BrushHelpers.onGlobalMouseUp(evt, targetProps);\n },\n onGlobalTouchEnd: function (evt, targetProps) {\n return props.disable ? {} : BrushHelpers.onGlobalMouseUp(evt, targetProps);\n },\n onGlobalTouchCancel: function (evt, targetProps) {\n return props.disable ? {} : BrushHelpers.onGlobalMouseUp(evt, targetProps);\n }\n }\n }];\n }, _class;\n};\nexport var VictoryBrushContainer = brushContainerMixin(VictoryContainer);","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport { CommonProps } from \"../victory-util/common-props\";\nimport { Rect } from \"./rect\";\nimport { Circle } from \"./circle\";\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated prop is:\n * `id`\n */\n var id = Helpers.evaluateProp(props.id, props);\n return _assign({}, props, {\n id: id\n });\n};\n\nexport var Background = function (props) {\n props = evaluateProps(props);\n return props.polar ? /*#__PURE__*/React.cloneElement(props.circleComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n style: props.style,\n role: props.role,\n shapeRendering: props.shapeRendering,\n cx: props.x,\n cy: props.y,\n r: props.height,\n className: props.className\n })) : /*#__PURE__*/React.cloneElement(props.rectComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n style: props.style,\n role: props.role,\n shapeRendering: props.shapeRendering,\n x: props.x,\n y: props.y,\n rx: props.rx,\n ry: props.ry,\n width: props.width,\n height: props.height,\n className: props.className\n }));\n};\nBackground.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n circleComponent: PropTypes.element,\n height: PropTypes.number,\n rectComponent: PropTypes.element,\n rx: PropTypes.number,\n ry: PropTypes.number,\n width: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number\n});\nBackground.defaultProps = {\n circleComponent: /*#__PURE__*/React.createElement(Circle, null),\n rectComponent: /*#__PURE__*/React.createElement(Rect, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 180] }]*/\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport { CommonProps } from \"../victory-util/common-props\";\nimport { Path } from \"./path\";\n\nvar getArcPath = function (props) {\n var cx = props.cx,\n cy = props.cy,\n r = props.r,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n closedPath = props.closedPath; // Always draw the path as two arcs so that complete circles may be rendered.\n\n var halfAngle = Math.abs(endAngle - startAngle) / 2 + startAngle;\n var x1 = cx + r * Math.cos(Helpers.degreesToRadians(startAngle));\n var y1 = cy - r * Math.sin(Helpers.degreesToRadians(startAngle));\n var x2 = cx + r * Math.cos(Helpers.degreesToRadians(halfAngle));\n var y2 = cy - r * Math.sin(Helpers.degreesToRadians(halfAngle));\n var x3 = cx + r * Math.cos(Helpers.degreesToRadians(endAngle));\n var y3 = cy - r * Math.sin(Helpers.degreesToRadians(endAngle));\n var largerArcFlag1 = halfAngle - startAngle <= 180 ? 0 : 1;\n var largerArcFlag2 = endAngle - halfAngle <= 180 ? 0 : 1;\n var arcStart = closedPath ? \" M \".concat(cx, \", \").concat(cy, \" L \").concat(x1, \", \").concat(y1) : \"M \".concat(x1, \", \").concat(y1);\n var arc1 = \"A \".concat(r, \", \").concat(r, \", 0, \").concat(largerArcFlag1, \", 0, \").concat(x2, \", \").concat(y2);\n var arc2 = \"A \".concat(r, \", \").concat(r, \", 0, \").concat(largerArcFlag2, \", 0, \").concat(x3, \", \").concat(y3);\n var arcEnd = closedPath ? \"Z\" : \"\";\n return \"\".concat(arcStart, \" \").concat(arc1, \" \").concat(arc2, \" \").concat(arcEnd);\n};\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `ariaLabel`\n * `desc`\n * `id`\n * `style`\n * `tabIndex`\n */\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var desc = Helpers.evaluateProp(props.desc, props);\n var id = Helpers.evaluateProp(props.id, props);\n var style = Helpers.evaluateStyle(_assign({\n stroke: \"black\",\n fill: \"none\"\n }, props.style), props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n desc: desc,\n id: id,\n style: style,\n tabIndex: tabIndex\n });\n};\n\nexport var Arc = function (props) {\n props = evaluateProps(props);\n return /*#__PURE__*/React.cloneElement(props.pathComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n \"aria-label\": props.ariaLabel,\n d: getArcPath(props),\n style: props.style,\n desc: props.desc,\n tabIndex: props.tabIndex,\n className: props.className,\n role: props.role,\n shapeRendering: props.shapeRendering,\n transform: props.transform,\n clipPath: props.clipPath\n }));\n};\nArc.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n closedPath: PropTypes.bool,\n cx: PropTypes.number,\n cy: PropTypes.number,\n datum: PropTypes.any,\n endAngle: PropTypes.number,\n pathComponent: PropTypes.element,\n r: PropTypes.number,\n startAngle: PropTypes.number\n});\nArc.defaultProps = {\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","import _defaults from \"lodash/defaults\";\nimport _uniqBy from \"lodash/uniqBy\";\nimport _assign from \"lodash/assign\";\nimport { Helpers, LabelHelpers, Scale, Axis } from \"victory-core\";\n\nvar getPosition = function (r, angle, axis) {\n return axis === \"x\" ? r * Math.cos(angle) : -r * Math.sin(angle);\n};\n\nvar getAxisType = function (props) {\n var typicalType = props.dependentAxis ? \"radial\" : \"angular\";\n var invertedType = typicalType === \"angular\" ? \"radial\" : \"angular\";\n return props.horizontal ? invertedType : typicalType;\n};\n\nvar filterTicks = function (ticks, scale) {\n var compareTicks = function (t) {\n return scale(t) % (2 * Math.PI);\n };\n\n return _uniqBy(ticks, compareTicks);\n};\n\nvar getEvaluatedStyles = function (style, props) {\n return {\n tickStyle: Helpers.evaluateStyle(style.ticks, props),\n labelStyle: Helpers.evaluateStyle(style.tickLabels, props),\n gridStyle: Helpers.evaluateStyle(style.grid, props)\n };\n};\n\nvar getStyleObject = function (props) {\n var _props$theme = props.theme,\n theme = _props$theme === void 0 ? {} : _props$theme,\n dependentAxis = props.dependentAxis;\n var generalAxisStyle = theme.polarAxis && theme.polarAxis.style || theme.axis && theme.axis.style;\n var polarAxisType = dependentAxis ? \"polarDependentAxis\" : \"polarIndependentAxis\";\n var standardAxisType = dependentAxis ? \"dependentAxis\" : \"independentAxis\";\n var specificAxisStyle = theme[polarAxisType] && theme[polarAxisType].style || theme[standardAxisType] && theme[standardAxisType].style;\n\n var mergeStyles = function () {\n var styleNamespaces = [\"axis\", \"axisLabel\", \"grid\", \"parent\", \"tickLabels\", \"ticks\"];\n return styleNamespaces.reduce(function (memo, curr) {\n memo[curr] = _defaults({}, specificAxisStyle[curr], generalAxisStyle[curr]);\n return memo;\n }, {});\n };\n\n return generalAxisStyle && specificAxisStyle ? mergeStyles() : specificAxisStyle || generalAxisStyle;\n};\n\nvar getRadius = function (props) {\n var _Helpers$getPadding = Helpers.getPadding(props),\n left = _Helpers$getPadding.left,\n right = _Helpers$getPadding.right,\n top = _Helpers$getPadding.top,\n bottom = _Helpers$getPadding.bottom;\n\n var width = props.width,\n height = props.height;\n return Math.min(width - left - right, height - top - bottom) / 2;\n};\n\nvar getRange = function (props, axis) {\n // Return the range from props if one is given.\n if (props.range && props.range[axis]) {\n return props.range[axis];\n } else if (props.range && Array.isArray(props.range)) {\n return props.range;\n }\n\n var axisType = getAxisType(props);\n\n if (axisType === \"angular\") {\n var startAngle = Helpers.degreesToRadians(props.startAngle);\n var endAngle = Helpers.degreesToRadians(props.endAngle);\n return [startAngle, endAngle];\n }\n\n var radius = getRadius(props);\n return [props.innerRadius || 0, radius];\n}; // exposed for use by VictoryChart (necessary?)\n\n\nexport var getScale = function (props) {\n var axis = Axis.getAxis(props);\n var scale = Scale.getBaseScale(props, axis);\n var domain = Axis.getDomain(props, axis) || scale.domain();\n var range = getRange(props, axis);\n scale.range(range);\n scale.domain(domain);\n return scale;\n};\nexport var getStyles = function (props, styleObject) {\n if (props.disableInlineStyles) {\n return {};\n }\n\n var style = props.style || {};\n styleObject = styleObject || {};\n var parentStyleProps = {\n height: \"auto\",\n width: \"100%\"\n };\n return {\n parent: _defaults(parentStyleProps, style.parent, styleObject.parent),\n axis: _defaults({}, style.axis, styleObject.axis),\n axisLabel: _defaults({}, style.axisLabel, styleObject.axisLabel),\n grid: _defaults({}, style.grid, styleObject.grid),\n ticks: _defaults({}, style.ticks, styleObject.ticks),\n tickLabels: _defaults({}, style.tickLabels, styleObject.tickLabels)\n };\n};\n\nvar getAxisAngle = function (props) {\n var axisAngle = props.axisAngle,\n startAngle = props.startAngle,\n dependentAxis = props.dependentAxis;\n var axis = Axis.getAxis(props);\n var axisValue = Axis.getAxisValue(props, axis);\n\n if (axisValue === undefined || !dependentAxis) {\n return axisAngle === undefined ? startAngle : axisAngle;\n }\n\n return Helpers.radiansToDegrees(axisValue);\n}; // eslint-disable-next-line max-params\n\n\nvar getTickProps = function (props, calculatedValues, tickValue, index) {\n var axisType = calculatedValues.axisType,\n radius = calculatedValues.radius,\n scale = calculatedValues.scale,\n style = calculatedValues.style,\n stringTicks = calculatedValues.stringTicks,\n ticks = calculatedValues.ticks,\n tickFormat = calculatedValues.tickFormat,\n origin = calculatedValues.origin;\n var text = tickFormat(tickValue, index, ticks);\n var tick = stringTicks ? stringTicks[index] : tickValue;\n\n var _getEvaluatedStyles = getEvaluatedStyles(style, {\n tick: tick,\n tickValue: tickValue,\n index: index,\n ticks: ticks,\n stringTicks: stringTicks,\n radius: radius,\n scale: scale,\n axisType: axisType,\n text: text\n }),\n tickStyle = _getEvaluatedStyles.tickStyle;\n\n var axisAngle = axisType === \"radial\" ? getAxisAngle(props, scale) : undefined;\n var tickPadding = tickStyle.padding || tickStyle.size || 0;\n var padAngle = Helpers.degreesToRadians(90 - axisAngle);\n var tickAngle = axisType === \"angular\" ? scale(tickValue) : Helpers.degreesToRadians(-1 * axisAngle);\n var tickRadius = axisType === \"angular\" ? radius : scale(tickValue);\n return axisType === \"angular\" ? {\n index: index,\n datum: tick,\n style: tickStyle,\n x1: getPosition(tickRadius, tickAngle, \"x\") + origin.x,\n y1: getPosition(tickRadius, tickAngle, \"y\") + origin.y,\n x2: getPosition(tickRadius + tickPadding, tickAngle, \"x\") + origin.x,\n y2: getPosition(tickRadius + tickPadding, tickAngle, \"y\") + origin.y\n } : {\n index: index,\n datum: tick,\n style: tickStyle,\n x1: tickRadius * Math.cos(tickAngle) + Math.cos(padAngle) * tickPadding + origin.x,\n x2: tickRadius * Math.cos(tickAngle) - Math.cos(padAngle) * tickPadding + origin.x,\n y1: tickRadius * Math.sin(tickAngle) + Math.sin(padAngle) * tickPadding + origin.y,\n y2: tickRadius * Math.sin(tickAngle) - Math.sin(padAngle) * tickPadding + origin.y\n };\n}; // eslint-disable-next-line max-params\n\n\nvar getTickLabelProps = function (props, calculatedValues, tickValue, index) {\n var axisType = calculatedValues.axisType,\n radius = calculatedValues.radius,\n tickFormat = calculatedValues.tickFormat,\n style = calculatedValues.style,\n scale = calculatedValues.scale,\n ticks = calculatedValues.ticks,\n stringTicks = calculatedValues.stringTicks,\n origin = calculatedValues.origin;\n var text = tickFormat(tickValue, index, ticks);\n var tick = stringTicks ? stringTicks[index] : tickValue;\n\n var _getEvaluatedStyles2 = getEvaluatedStyles(style, {\n text: text,\n tick: tick,\n tickValue: tickValue,\n index: index,\n ticks: ticks,\n stringTicks: stringTicks,\n radius: radius,\n scale: scale,\n axisType: axisType\n }),\n labelStyle = _getEvaluatedStyles2.labelStyle;\n\n var tickLabelComponent = props.tickLabelComponent;\n var labelPlacement = tickLabelComponent.props && tickLabelComponent.props.labelPlacement ? tickLabelComponent.props.labelPlacement : props.labelPlacement;\n var tickPadding = labelStyle.padding || 0;\n var angularPadding = 0; // TODO: do some geometry\n\n var axisAngle = axisType === \"radial\" ? getAxisAngle(props, scale) : undefined;\n var labelAngle = axisType === \"angular\" ? Helpers.radiansToDegrees(scale(tickValue)) : axisAngle + angularPadding;\n var textAngle = labelStyle.angle === undefined ? LabelHelpers.getPolarAngle(_assign({}, props, {\n labelPlacement: labelPlacement\n }), labelAngle) : labelStyle.angle;\n var labelRadius = axisType === \"angular\" ? radius + tickPadding : scale(tickValue);\n var textAnchor = labelStyle.textAnchor || LabelHelpers.getPolarTextAnchor(_assign({}, props, {\n labelPlacement: labelPlacement\n }), labelAngle);\n return {\n index: index,\n datum: tick,\n style: labelStyle,\n angle: textAngle,\n textAnchor: textAnchor,\n text: text,\n x: labelRadius * Math.cos(Helpers.degreesToRadians(labelAngle)) + origin.x,\n y: -labelRadius * Math.sin(Helpers.degreesToRadians(labelAngle)) + origin.y\n };\n}; // eslint-disable-next-line max-params\n\n\nvar getGridProps = function (props, calculatedValues, tickValue, index) {\n var axisType = calculatedValues.axisType,\n radius = calculatedValues.radius,\n style = calculatedValues.style,\n scale = calculatedValues.scale,\n stringTicks = calculatedValues.stringTicks,\n ticks = calculatedValues.ticks,\n tickFormat = calculatedValues.tickFormat,\n origin = calculatedValues.origin;\n var text = tickFormat(tickValue, index, ticks);\n var startAngle = props.startAngle,\n endAngle = props.endAngle,\n _props$innerRadius = props.innerRadius,\n innerRadius = _props$innerRadius === void 0 ? 0 : _props$innerRadius;\n var tick = stringTicks ? stringTicks[index] : tickValue;\n\n var _getEvaluatedStyles3 = getEvaluatedStyles(style, {\n tick: tick,\n tickValue: tickValue,\n index: index,\n ticks: ticks,\n stringTicks: stringTicks,\n radius: radius,\n scale: scale,\n axisType: axisType,\n text: text\n }),\n gridStyle = _getEvaluatedStyles3.gridStyle;\n\n var angle = scale(tickValue);\n return axisType === \"angular\" ? {\n index: index,\n datum: tick,\n style: gridStyle,\n x1: getPosition(radius, angle, \"x\") + origin.x,\n y1: getPosition(radius, angle, \"y\") + origin.y,\n x2: getPosition(innerRadius, angle, \"x\") + origin.x,\n y2: getPosition(innerRadius, angle, \"y\") + origin.y\n } : {\n style: gridStyle,\n index: index,\n datum: tick,\n cx: origin.x,\n cy: origin.y,\n r: scale(tickValue),\n startAngle: startAngle,\n endAngle: endAngle\n };\n};\n\nvar getAxisLabelProps = function (props, calculatedValues) {\n var axisType = calculatedValues.axisType,\n radius = calculatedValues.radius,\n style = calculatedValues.style,\n scale = calculatedValues.scale,\n origin = calculatedValues.origin;\n var axisLabelComponent = props.axisLabelComponent;\n\n if (axisType !== \"radial\") {\n return {};\n }\n\n var labelPlacement = axisLabelComponent.props && axisLabelComponent.props.labelPlacement ? axisLabelComponent.props.labelPlacement : props.labelPlacement;\n var labelStyle = style && style.axisLabel || {};\n var axisAngle = axisType === \"radial\" ? getAxisAngle(props, scale) : undefined;\n var textAngle = labelStyle.angle === undefined ? LabelHelpers.getPolarAngle(_assign({}, props, {\n labelPlacement: labelPlacement\n }), axisAngle) : labelStyle.angle;\n var labelRadius = radius + (labelStyle.padding || 0);\n var textAnchor = labelStyle.textAnchor || LabelHelpers.getPolarTextAnchor(_assign({}, props, {\n labelPlacement: labelPlacement\n }), axisAngle);\n var verticalAnchor = labelStyle.verticalAnchor || LabelHelpers.getPolarVerticalAnchor(_assign({}, props, {\n labelPlacement: labelPlacement\n }), axisAngle);\n return {\n style: labelStyle,\n angle: textAngle,\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor,\n text: props.label,\n x: getPosition(labelRadius, Helpers.degreesToRadians(axisAngle), \"x\") + origin.x,\n y: getPosition(labelRadius, Helpers.degreesToRadians(axisAngle), \"y\") + origin.y\n };\n};\n\nvar getAxisProps = function (modifiedProps, calculatedValues) {\n var style = calculatedValues.style,\n axisType = calculatedValues.axisType,\n radius = calculatedValues.radius,\n scale = calculatedValues.scale,\n origin = calculatedValues.origin;\n var startAngle = modifiedProps.startAngle,\n endAngle = modifiedProps.endAngle,\n _modifiedProps$innerR = modifiedProps.innerRadius,\n innerRadius = _modifiedProps$innerR === void 0 ? 0 : _modifiedProps$innerR;\n var axisAngle = axisType === \"radial\" ? Helpers.degreesToRadians(getAxisAngle(modifiedProps, scale)) : undefined;\n return axisType === \"radial\" ? {\n style: style.axis,\n x1: getPosition(innerRadius, axisAngle, \"x\") + origin.x,\n x2: getPosition(radius, axisAngle, \"x\") + origin.x,\n y1: getPosition(innerRadius, axisAngle, \"y\") + origin.y,\n y2: getPosition(radius, axisAngle, \"y\") + origin.y\n } : {\n style: style.axis,\n cx: origin.x,\n cy: origin.y,\n r: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n};\n\nvar getCalculatedValues = function (props) {\n props = _assign({\n polar: true\n }, props);\n var defaultStyles = getStyleObject(props);\n var style = getStyles(props, defaultStyles);\n var padding = Helpers.getPadding(props);\n var axis = Axis.getAxis(props);\n var axisType = getAxisType(props);\n var stringTicks = Axis.stringTicks(props) ? props.tickValues : undefined;\n var domain = Axis.getDomain(props, axis);\n var range = getRange(props, axis);\n var scale = getScale(props);\n var initialTicks = Axis.getTicks(props, scale);\n var ticks = axisType === \"angular\" ? filterTicks(initialTicks, scale) : initialTicks;\n var tickFormat = Axis.getTickFormat(props, scale);\n var radius = getRadius(props);\n var origin = Helpers.getPolarOrigin(props);\n return {\n axis: axis,\n style: style,\n padding: padding,\n stringTicks: stringTicks,\n axisType: axisType,\n scale: scale,\n ticks: ticks,\n tickFormat: tickFormat,\n domain: domain,\n range: range,\n radius: radius,\n origin: origin\n };\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n props = Axis.modifyProps(props, fallbackProps);\n var calculatedValues = getCalculatedValues(props);\n var style = calculatedValues.style,\n scale = calculatedValues.scale,\n ticks = calculatedValues.ticks,\n domain = calculatedValues.domain;\n var _props = props,\n width = _props.width,\n height = _props.height,\n standalone = _props.standalone,\n theme = _props.theme,\n name = _props.name;\n var axisProps = getAxisProps(props, calculatedValues);\n var axisLabelProps = getAxisLabelProps(props, calculatedValues);\n var initialChildProps = {\n parent: {\n style: style.parent,\n ticks: ticks,\n scale: scale,\n width: width,\n height: height,\n domain: domain,\n standalone: standalone,\n theme: theme,\n name: name\n }\n };\n return ticks.reduce(function (childProps, tick, index) {\n childProps[index] = {\n axis: axisProps,\n axisLabel: axisLabelProps,\n ticks: getTickProps(props, calculatedValues, tick, index),\n tickLabels: getTickLabelProps(props, calculatedValues, tick, index),\n grid: getGridProps(props, calculatedValues, tick, index)\n };\n return childProps;\n }, initialChildProps);\n};","import _isEmpty from \"lodash/isEmpty\";\nimport _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { PropTypes as CustomPropTypes, VictoryLabel, CommonProps, VictoryContainer, VictoryTheme, LineSegment, addEvents, Arc, Axis } from \"victory-core\";\nimport { getScale, getStyles, getBaseProps } from \"./helper-methods\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n};\nvar options = {\n components: [{\n name: \"axis\",\n index: 0\n }, {\n name: \"axisLabel\",\n index: 0\n }, {\n name: \"grid\"\n }, {\n name: \"parent\",\n index: \"parent\"\n }, {\n name: \"ticks\"\n }, {\n name: \"tickLabels\"\n }]\n};\n\nvar VictoryPolarAxis = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryPolarAxis, _React$Component);\n\n var _super = _createSuper(VictoryPolarAxis);\n\n function VictoryPolarAxis() {\n _classCallCheck(this, VictoryPolarAxis);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryPolarAxis, [{\n key: \"renderAxisLine\",\n value: function renderAxisLine(props) {\n var dependentAxis = props.dependentAxis;\n var axisComponent = dependentAxis ? props.axisComponent : props.circularAxisComponent;\n var axisProps = this.getComponentProps(axisComponent, \"axis\", 0);\n return /*#__PURE__*/React.cloneElement(axisComponent, axisProps);\n }\n }, {\n key: \"renderLabel\",\n value: function renderLabel(props) {\n var axisLabelComponent = props.axisLabelComponent,\n dependentAxis = props.dependentAxis,\n label = props.label;\n\n if (!label || !dependentAxis) {\n return null;\n }\n\n var axisLabelProps = this.getComponentProps(axisLabelComponent, \"axisLabel\", 0);\n return /*#__PURE__*/React.cloneElement(axisLabelComponent, axisLabelProps);\n }\n }, {\n key: \"renderAxis\",\n value: function renderAxis(props) {\n var _this = this;\n\n var tickComponent = props.tickComponent,\n tickLabelComponent = props.tickLabelComponent,\n name = props.name;\n\n var shouldRender = function (componentProps) {\n var _componentProps$style = componentProps.style,\n style = _componentProps$style === void 0 ? {} : _componentProps$style,\n _componentProps$event = componentProps.events,\n events = _componentProps$event === void 0 ? {} : _componentProps$event;\n var visible = style.stroke !== \"transparent\" && style.stroke !== \"none\" && style.strokeWidth !== 0;\n return visible || !_isEmpty(events);\n };\n\n var axisType = props.dependentAxis ? \"radial\" : \"angular\";\n var gridComponent = axisType === \"radial\" ? props.circularGridComponent : props.gridComponent;\n var tickComponents = this.dataKeys.map(function (key, index) {\n var tickProps = _assign({\n key: \"\".concat(name, \"-tick-\").concat(key)\n }, _this.getComponentProps(tickComponent, \"ticks\", index));\n\n var TickComponent = /*#__PURE__*/React.cloneElement(tickComponent, tickProps);\n return shouldRender(TickComponent.props) ? TickComponent : undefined;\n }).filter(Boolean);\n var gridComponents = this.dataKeys.map(function (key, index) {\n var gridProps = _assign({\n key: \"\".concat(name, \"-grid-\").concat(key)\n }, _this.getComponentProps(gridComponent, \"grid\", index));\n\n var GridComponent = /*#__PURE__*/React.cloneElement(gridComponent, gridProps);\n return shouldRender(GridComponent.props) ? GridComponent : undefined;\n }).filter(Boolean);\n var tickLabelComponents = this.dataKeys.map(function (key, index) {\n var tickLabelProps = _assign({\n key: \"\".concat(name, \"-tick-\").concat(key)\n }, _this.getComponentProps(tickLabelComponent, \"tickLabels\", index));\n\n return /*#__PURE__*/React.cloneElement(tickLabelComponent, tickLabelProps);\n });\n var axis = this.renderAxisLine(props);\n var axisLabel = this.renderLabel(props);\n var children = [axis, axisLabel].concat(_toConsumableArray(tickComponents), _toConsumableArray(gridComponents), _toConsumableArray(tickLabelComponents));\n return this.renderGroup(props, children);\n } // Overridden in victory-native\n\n }, {\n key: \"renderGroup\",\n value: function renderGroup(props, children) {\n var groupComponent = props.groupComponent;\n return /*#__PURE__*/React.cloneElement(groupComponent, {}, children);\n }\n }, {\n key: \"shouldAnimate\",\n value: function shouldAnimate() {\n return !!this.props.animate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryPolarAxis.animationWhitelist;\n var props = Axis.modifyProps(this.props, fallbackProps);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var children = this.renderAxis(props);\n return props.standalone ? this.renderContainer(props.containerComponent, children) : children;\n }\n }]);\n\n return VictoryPolarAxis;\n}(React.Component);\n\nVictoryPolarAxis.animationWhitelist = [\"style\", \"domain\", \"range\", \"tickCount\", \"tickValues\", \"padding\", \"width\", \"height\"];\nVictoryPolarAxis.displayName = \"VictoryAxis\";\nVictoryPolarAxis.role = \"axis\";\nVictoryPolarAxis.defaultTransitions = {\n onExit: {\n duration: 500\n },\n onEnter: {\n duration: 500\n }\n};\nVictoryPolarAxis.propTypes = _objectSpread(_objectSpread({}, CommonProps.baseProps), {}, {\n axisAngle: PropTypes.number,\n axisComponent: PropTypes.element,\n axisLabelComponent: PropTypes.element,\n axisValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.object]),\n categories: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.shape({\n x: PropTypes.arrayOf(PropTypes.string),\n y: PropTypes.arrayOf(PropTypes.string)\n })]),\n circularAxisComponent: PropTypes.element,\n circularGridComponent: PropTypes.element,\n containerComponent: PropTypes.element,\n dependentAxis: PropTypes.bool,\n disableInlineStyles: PropTypes.bool,\n endAngle: PropTypes.number,\n events: PropTypes.arrayOf(PropTypes.shape({\n target: PropTypes.oneOf([\"axis\", \"axisLabel\", \"grid\", \"ticks\", \"tickLabels\"]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n eventHandlers: PropTypes.object\n })),\n gridComponent: PropTypes.element,\n innerRadius: CustomPropTypes.nonNegative,\n labelPlacement: PropTypes.oneOf([\"parallel\", \"perpendicular\", \"vertical\"]),\n startAngle: PropTypes.number,\n stringMap: PropTypes.object,\n style: PropTypes.shape({\n parent: PropTypes.object,\n axis: PropTypes.object,\n axisLabel: PropTypes.object,\n grid: PropTypes.object,\n ticks: PropTypes.object,\n tickLabels: PropTypes.object\n }),\n tickComponent: PropTypes.element,\n tickCount: CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.greaterThanZero]),\n tickFormat: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.homogeneousArray]),\n tickLabelComponent: PropTypes.element,\n tickValues: CustomPropTypes.homogeneousArray\n});\nVictoryPolarAxis.defaultProps = {\n axisComponent: /*#__PURE__*/React.createElement(LineSegment, null),\n axisLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n circularAxisComponent: /*#__PURE__*/React.createElement(Arc, null),\n circularGridComponent: /*#__PURE__*/React.createElement(Arc, null),\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n endAngle: 360,\n gridComponent: /*#__PURE__*/React.createElement(LineSegment, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", {\n role: \"presentation\"\n }),\n labelPlacement: \"parallel\",\n startAngle: 0,\n standalone: true,\n theme: VictoryTheme.grayscale,\n tickComponent: /*#__PURE__*/React.createElement(LineSegment, null),\n tickLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null)\n};\nVictoryPolarAxis.getDomain = Axis.getDomain;\nVictoryPolarAxis.getAxis = Axis.getAxis;\nVictoryPolarAxis.getScale = getScale;\n\nVictoryPolarAxis.getStyles = function (props) {\n return getStyles(props, fallbackProps.style);\n};\n\nVictoryPolarAxis.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryPolarAxis.expectedComponents = [\"axisComponent\", \"circularAxisComponent\", \"groupComponent\", \"containerComponent\", \"tickComponent\", \"tickLabelComponent\", \"gridComponent\", \"circularGridComponent\"];\nexport default addEvents(VictoryPolarAxis, options);","import _assign from \"lodash/assign\";\nimport _defaults from \"lodash/defaults\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/* eslint-disable no-use-before-define */\nimport React from \"react\";\nimport { Helpers, Scale, Axis, Wrapper } from \"victory-core\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n};\n\nfunction getAxisProps(child, props, calculatedProps) {\n var domain = calculatedProps.domain,\n scale = calculatedProps.scale,\n stringMap = calculatedProps.stringMap,\n categories = calculatedProps.categories,\n horizontal = calculatedProps.horizontal;\n return {\n stringMap: stringMap,\n horizontal: horizontal,\n categories: categories,\n startAngle: props.startAngle,\n endAngle: props.endAngle,\n innerRadius: props.innerRadius,\n domain: domain,\n scale: scale\n };\n}\n\nexport function getBackgroundWithProps(props, calculatedProps) {\n var backgroundElement = props.backgroundComponent;\n var height = props.polar ? calculatedProps.range.y[1] : calculatedProps.range.y[0] - calculatedProps.range.y[1];\n var width = calculatedProps.range.x[1] - calculatedProps.range.x[0];\n var xScale = props.horizontal ? calculatedProps.scale.y.range()[0] : calculatedProps.scale.x.range()[0];\n var yScale = props.horizontal ? calculatedProps.scale.x.range()[1] : calculatedProps.scale.y.range()[1];\n var xCoordinate = props.polar ? calculatedProps.origin.x : xScale;\n var yCoordinate = props.polar ? calculatedProps.origin.y : yScale;\n var parentName = props.name || \"chart\";\n var backgroundProps = {\n height: height,\n polar: props.polar,\n scale: calculatedProps.scale,\n style: props.style.background,\n x: xCoordinate,\n y: yCoordinate,\n key: \"\".concat(parentName, \"-background\"),\n width: width\n };\n return /*#__PURE__*/React.cloneElement(backgroundElement, _defaults({}, backgroundElement.props, backgroundProps));\n}\n\nfunction getChildProps(child, props, calculatedProps) {\n var axisChild = Axis.findAxisComponents([child]);\n\n if (axisChild.length > 0) {\n return getAxisProps(axisChild[0], props, calculatedProps);\n }\n\n var categories = calculatedProps.categories,\n domain = calculatedProps.domain,\n range = calculatedProps.range,\n scale = calculatedProps.scale,\n stringMap = calculatedProps.stringMap,\n horizontal = calculatedProps.horizontal;\n return {\n categories: categories,\n domain: domain,\n range: range,\n scale: scale,\n stringMap: stringMap,\n horizontal: horizontal\n };\n}\n\nfunction getStyles(props) {\n var styleProps = props.style && props.style.parent;\n return {\n parent: _defaults({}, styleProps, {\n height: \"100%\",\n width: \"100%\",\n userSelect: \"none\"\n })\n };\n}\n\nexport function getCalculatedProps(props, childComponents) {\n var style = getStyles(props);\n props = Helpers.modifyProps(props, fallbackProps, \"chart\");\n var _props = props,\n horizontal = _props.horizontal,\n polar = _props.polar;\n var allStrings = Wrapper.getStringsFromChildren(props, childComponents);\n var categories = Wrapper.getCategories(props, childComponents, allStrings);\n var stringMap = createStringMap(props, childComponents, allStrings);\n var domain = {\n x: getDomain(_assign({}, props, {\n categories: categories\n }), \"x\", childComponents),\n y: getDomain(_assign({}, props, {\n categories: categories\n }), \"y\", childComponents)\n };\n var range = {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n };\n var baseScale = {\n x: Scale.getScaleFromProps(props, \"x\") || Wrapper.getScale(props, \"x\"),\n y: Scale.getScaleFromProps(props, \"y\") || Wrapper.getScale(props, \"y\")\n };\n var scale = {\n x: baseScale.x.domain(domain.x).range(horizontal ? range.y : range.x),\n y: baseScale.y.domain(domain.y).range(horizontal ? range.x : range.y)\n };\n var origin = polar ? Helpers.getPolarOrigin(props) : Axis.getOrigin(domain);\n var padding = Helpers.getPadding(props);\n return {\n categories: categories,\n domain: domain,\n range: range,\n horizontal: horizontal,\n scale: scale,\n stringMap: stringMap,\n style: style,\n origin: origin,\n padding: padding\n };\n}\nexport function getChildren(props, childComponents, calculatedProps) {\n childComponents = childComponents || getChildComponents(props);\n calculatedProps = calculatedProps || getCalculatedProps(props, childComponents);\n var baseStyle = calculatedProps.style.parent;\n var height = props.height,\n polar = props.polar,\n theme = props.theme,\n width = props.width;\n var _calculatedProps = calculatedProps,\n origin = _calculatedProps.origin,\n horizontal = _calculatedProps.horizontal;\n var parentName = props.name || \"chart\";\n return childComponents.map(function (child, index) {\n var role = child.type && child.type.role;\n var style = Array.isArray(child.props.style) ? child.props.style : _defaults({}, child.props.style, {\n parent: baseStyle\n });\n var childProps = getChildProps(child, props, calculatedProps);\n var name = child.props.name || \"\".concat(parentName, \"-\").concat(role, \"-\").concat(index);\n\n var newProps = _defaults({\n horizontal: horizontal,\n height: height,\n polar: polar,\n theme: theme,\n width: width,\n style: style,\n name: name,\n origin: polar ? origin : undefined,\n padding: calculatedProps.padding,\n key: \"\".concat(name, \"-key-\").concat(index),\n standalone: false\n }, childProps);\n\n return /*#__PURE__*/React.cloneElement(child, newProps);\n });\n}\nexport var getChildComponents = function (props, defaultAxes) {\n var childComponents = React.Children.toArray(props.children);\n\n var newChildComponents = _toConsumableArray(childComponents);\n\n if (childComponents.length === 0) {\n newChildComponents.push(defaultAxes.independent, defaultAxes.dependent);\n } else {\n var axisComponents = {\n dependent: Axis.getAxisComponentsWithParent(childComponents, \"dependent\"),\n independent: Axis.getAxisComponentsWithParent(childComponents, \"independent\")\n };\n\n if (axisComponents.dependent.length === 0 && axisComponents.independent.length === 0) {\n newChildComponents = props.prependDefaultAxes ? [defaultAxes.independent, defaultAxes.dependent].concat(newChildComponents) : newChildComponents.concat([defaultAxes.independent, defaultAxes.dependent]);\n }\n }\n\n return newChildComponents;\n};\n\nvar getDomain = function (props, axis, childComponents) {\n childComponents = childComponents || React.Children.toArray(props.children);\n var domain = Wrapper.getDomain(props, axis, childComponents);\n var axisComponent = Axis.getAxisComponent(childComponents, axis);\n var invertDomain = axisComponent && axisComponent.props && axisComponent.props.invertAxis;\n return invertDomain ? domain.concat().reverse() : domain;\n};\n\nvar createStringMap = function (props, childComponents, allStrings) {\n var x = !allStrings.x || allStrings.x.length === 0 ? null : allStrings.x.reduce(function (memo, string, index) {\n memo[string] = index + 1;\n return memo;\n }, {});\n var y = !allStrings.y || allStrings.y.length === 0 ? null : allStrings.y.reduce(function (memo, string, index) {\n memo[string] = index + 1;\n return memo;\n }, {});\n return {\n x: x,\n y: y\n };\n};","import _isEmpty from \"lodash/isEmpty\";\nimport _assign from \"lodash/assign\";\nimport _defaults from \"lodash/defaults\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { Background, CommonProps, Helpers, Hooks, PropTypes as CustomPropTypes, UserProps, VictoryContainer, VictoryTheme, Wrapper } from \"victory-core\";\nimport { VictorySharedEvents } from \"victory-shared-events\";\nimport { VictoryAxis } from \"victory-axis\";\nimport { VictoryPolarAxis } from \"victory-polar-axis\";\nimport { getBackgroundWithProps, getChildComponents, getCalculatedProps, getChildren } from \"./helper-methods\";\nimport isEqual from \"react-fast-compare\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n};\n\nvar VictoryChartImpl = function (initialProps) {\n var role = \"chart\";\n\n var _Hooks$useAnimationSt = Hooks.useAnimationState(),\n getAnimationProps = _Hooks$useAnimationSt.getAnimationProps,\n setAnimationState = _Hooks$useAnimationSt.setAnimationState,\n getProps = _Hooks$useAnimationSt.getProps;\n\n var props = getProps(initialProps);\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, role);\n var desc = modifiedProps.desc,\n eventKey = modifiedProps.eventKey,\n containerComponent = modifiedProps.containerComponent,\n standalone = modifiedProps.standalone,\n groupComponent = modifiedProps.groupComponent,\n externalEventMutations = modifiedProps.externalEventMutations,\n width = modifiedProps.width,\n height = modifiedProps.height,\n theme = modifiedProps.theme,\n polar = modifiedProps.polar,\n name = modifiedProps.name,\n title = modifiedProps.title;\n var axes = props.polar ? modifiedProps.defaultPolarAxes : modifiedProps.defaultAxes;\n var childComponents = React.useMemo(function () {\n return getChildComponents(modifiedProps, axes);\n }, [modifiedProps, axes]);\n var calculatedProps = React.useMemo(function () {\n return getCalculatedProps(modifiedProps, childComponents);\n }, [modifiedProps, childComponents]);\n var domain = calculatedProps.domain,\n scale = calculatedProps.scale,\n style = calculatedProps.style,\n origin = calculatedProps.origin,\n horizontal = calculatedProps.horizontal;\n var newChildren = React.useMemo(function () {\n var children = getChildren(props, childComponents, calculatedProps);\n var mappedChildren = children.map(function (child, index) {\n var childProps = _assign({\n animate: getAnimationProps(props, child, index)\n }, child.props);\n\n return /*#__PURE__*/React.cloneElement(child, childProps);\n });\n\n if (props.style && props.style.background) {\n var backgroundComponent = getBackgroundWithProps(props, calculatedProps);\n mappedChildren.unshift(backgroundComponent);\n }\n\n return mappedChildren;\n }, [getAnimationProps, childComponents, props, calculatedProps]);\n var containerProps = React.useMemo(function () {\n if (standalone) {\n return {\n desc: desc,\n domain: domain,\n width: width,\n height: height,\n horizontal: horizontal,\n name: name,\n origin: polar ? origin : undefined,\n polar: polar,\n theme: theme,\n title: title,\n scale: scale,\n standalone: standalone,\n style: style.parent\n };\n }\n\n return {};\n }, [desc, domain, height, horizontal, name, origin, polar, scale, standalone, style, title, theme, width]);\n var container = React.useMemo(function () {\n if (standalone) {\n var defaultContainerProps = _defaults({}, containerComponent.props, containerProps, UserProps.getSafeUserProps(initialProps));\n\n return /*#__PURE__*/React.cloneElement(containerComponent, defaultContainerProps);\n }\n\n return groupComponent;\n }, [groupComponent, standalone, containerComponent, containerProps, initialProps]);\n var events = React.useMemo(function () {\n return Wrapper.getAllEvents(props);\n }, [props]);\n var previousProps = Hooks.usePreviousProps(initialProps);\n React.useEffect(function () {\n // This is called before dismount to keep state in sync\n return function () {\n if (initialProps.animate) {\n setAnimationState(previousProps, initialProps);\n }\n };\n }, [setAnimationState, previousProps, initialProps]);\n\n if (!_isEmpty(events)) {\n return /*#__PURE__*/React.createElement(VictorySharedEvents, {\n container: container,\n eventKey: eventKey,\n events: events,\n externalEventMutations: externalEventMutations\n }, newChildren);\n }\n\n return /*#__PURE__*/React.cloneElement(container, container.props, newChildren);\n};\n\nVictoryChartImpl.propTypes = _objectSpread(_objectSpread({}, CommonProps.baseProps), {}, {\n backgroundComponent: PropTypes.element,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultAxes: PropTypes.shape({\n independent: PropTypes.element,\n dependent: PropTypes.element\n }),\n defaultPolarAxes: PropTypes.shape({\n independent: PropTypes.element,\n dependent: PropTypes.element\n }),\n endAngle: PropTypes.number,\n innerRadius: CustomPropTypes.nonNegative,\n prependDefaultAxes: PropTypes.bool,\n startAngle: PropTypes.number\n});\nVictoryChartImpl.defaultProps = {\n backgroundComponent: /*#__PURE__*/React.createElement(Background, null),\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n defaultAxes: {\n independent: /*#__PURE__*/React.createElement(VictoryAxis, null),\n dependent: /*#__PURE__*/React.createElement(VictoryAxis, {\n dependentAxis: true\n })\n },\n defaultPolarAxes: {\n independent: /*#__PURE__*/React.createElement(VictoryPolarAxis, null),\n dependent: /*#__PURE__*/React.createElement(VictoryPolarAxis, {\n dependentAxis: true\n })\n },\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n standalone: true,\n theme: VictoryTheme.grayscale\n};\nexport var VictoryChart = /*#__PURE__*/React.memo(VictoryChartImpl, isEqual);\nVictoryChart.displayName = \"VictoryChart\"; // @ts-expect-error FIXME: Does this \"expectedComponents\" do anything?\n\nVictoryChart.expectedComponents = [\"groupComponent\", \"containerComponent\"];","export const linear = t => +t;\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","// tpmt is two power minus ten times t scaled to [0,1]\nexport function tpmt(x) {\n return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;\n}\n","import {tpmt} from \"./math.js\";\n\nexport function expIn(t) {\n return tpmt(1 - +t);\n}\n\nexport function expOut(t) {\n return 1 - tpmt(t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","import {tpmt} from \"./math.js\";\n\nvar tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * tpmt(-(--t)) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * tpmt(-t) * Math.sin((s - t) / p)\n : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","import _orderBy from \"lodash/orderBy\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport { interpolate } from \"victory-vendor/d3-interpolate\";\nexport var isInterpolatable = function (obj) {\n // d3 turns null into 0 and undefined into NaN, which we don't want.\n if (obj !== null) {\n switch (typeof obj) {\n case \"undefined\":\n return false;\n\n case \"number\":\n // The standard `isNaN` is fine in this case since we already know the\n // type is number.\n return !isNaN(obj) && obj !== Number.POSITIVE_INFINITY && obj !== Number.NEGATIVE_INFINITY;\n\n case \"string\":\n // d3 might not *actually* be able to interpolate the string, but it\n // won't cause any issues to let it try.\n return true;\n\n case \"boolean\":\n // d3 turns Booleans into integers, which we don't want. Sure, we could\n // interpolate from 0 -> 1, but we'd be sending a non-Boolean to\n // something expecting a Boolean.\n return false;\n\n case \"object\":\n // Don't try to interpolate class instances (except Date or Array).\n return obj instanceof Date || Array.isArray(obj) || _isPlainObject(obj);\n\n case \"function\":\n // Careful! There may be extra properties on function objects that the\n // component expects to access - for instance, it may be a `d3.scale()`\n // function, which has its own methods attached. We don't know if the\n // component is only going to call the function (in which case it's\n // safely interpolatable) or if it's going to access special properties\n // (in which case our function generated from `interpolateFunction` will\n // most likely cause an error). We could check for enumerable properties\n // on the function object here to see if it's a \"plain\" function, but\n // let's just require that components prevent such function props from\n // being animated in the first place.\n return true;\n }\n }\n\n return false;\n};\n/**\n * Interpolate immediately to the end value at the given step `when`.\n * Some nicer default behavior might be to jump at the halfway point or return\n * `a` if `t` is 0 (instead of always returning `b`). But d3's default\n * interpolator does not do these things:\n *\n * d3.interpolate('aaa', 'bbb')(0) === 'bbb'\n *\n * ...and things might get wonky if we don't replicate that behavior.\n *\n * @param {any} a - Start value.\n * @param {any} b - End value.\n * @param {Number} when - Step value (0 to 1) at which to jump to `b`.\n * @returns {Function} An interpolation function.\n */\n\nexport var interpolateImmediate = function (a, b) {\n var when = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n return function (t) {\n return t < when ? a : b;\n };\n};\n/**\n * Interpolate to or from a function. The interpolated value will be a function\n * that calls `a` (if it's a function) and `b` (if it's a function) and calls\n * `d3.interpolate` on the resulting values. Note that our function won't\n * necessarily be called (that's up to the component this eventually gets\n * passed to) - but if it does get called, it will return an appropriately\n * interpolated value.\n *\n * @param {any} a - Start value.\n * @param {any} b - End value.\n * @returns {Function} An interpolation function.\n */\n\nexport var interpolateFunction = function (a, b) {\n return function (t) {\n if (t >= 1) {\n return b;\n }\n\n return function () {\n /* eslint-disable no-invalid-this, prefer-rest-params */\n var aval = typeof a === \"function\" ? a.apply(this, arguments) : a;\n var bval = typeof b === \"function\" ? b.apply(this, arguments) : b;\n return interpolate(aval, bval)(t);\n };\n };\n};\n/**\n * Interpolate to or from an object. This method is a modification of the object interpolator in\n * d3-interpolate https://github.com/d3/d3-interpolate/blob/master/src/object.js. This interpolator\n * differs in that it uses our custom interpolators when interpolating the value of each property in\n * an object. This allows the correct interpolation of nested objects, including styles\n *\n * @param {any} a - Start value.\n * @param {any} b - End value.\n * @returns {Function} An interpolation function.\n */\n\nexport var interpolateObject = function (a, b) {\n var interpolateTypes = function (x, y) {\n if (x === y || !isInterpolatable(x) || !isInterpolatable(y)) {\n return interpolateImmediate(x, y);\n }\n\n if (typeof x === \"function\" || typeof y === \"function\") {\n return interpolateFunction(x, y);\n }\n\n if (typeof x === \"object\" && _isPlainObject(x) || typeof y === \"object\" && _isPlainObject(y)) {\n return interpolateObject(x, y);\n }\n\n return interpolate(x, y);\n }; // When the value is an array, attempt to sort by \"key\" so that animating nodes may be identified\n // based on \"key\" instead of index\n\n\n var keyData = function (val) {\n return Array.isArray(val) ? _orderBy(val, \"key\") : val;\n };\n\n var i = {};\n var c = {};\n var k;\n\n if (a === null || typeof a !== \"object\") {\n a = {};\n }\n\n if (b === null || typeof b !== \"object\") {\n b = {};\n }\n\n for (k in b) {\n if (k in a) {\n i[k] = interpolateTypes(keyData(a[k]), keyData(b[k]));\n } else {\n c[k] = b[k];\n }\n }\n\n return function (t) {\n for (k in i) {\n c[k] = i[k](t);\n }\n\n return c;\n };\n};\nexport var interpolateString = function (a, b) {\n var format = function (val) {\n return typeof val === \"string\" ? val.replace(/,/g, \"\") : val;\n };\n\n return interpolate(format(a), format(b));\n};\n/**\n * By default, the list of interpolators used by `d3.interpolate` has a few\n * downsides:\n *\n * - `null` values get turned into 0.\n * - `undefined`, `function`, and some other value types get turned into NaN.\n * - Boolean types get turned into numbers, which probably will be meaningless\n * to whatever is consuming them.\n * - It tries to interpolate between identical start and end values, doing\n * unnecessary calculations that sometimes result in floating point rounding\n * errors.\n *\n * If only the default interpolators are used, `VictoryAnimation` will happily\n * pass down NaN (and other bad) values as props to the wrapped component.\n * The component will then either use the incorrect values or complain that it\n * was passed props of the incorrect type. This custom interpolator is added\n * using the `d3.interpolators` API, and prevents such cases from happening\n * for most values.\n *\n * @param {any} a - Start value.\n * @param {any} b - End value.\n * @returns {Function|undefined} An interpolation function, if necessary.\n */\n\nexport var victoryInterpolator = function (a, b) {\n // If the values are strictly equal, or either value is not interpolatable,\n // just use either the start value `a` or end value `b` at every step, as\n // there is no reasonable in-between value.\n if (a === b || !isInterpolatable(a) || !isInterpolatable(b)) {\n return interpolateImmediate(a, b);\n }\n\n if (typeof a === \"function\" || typeof b === \"function\") {\n return interpolateFunction(a, b);\n }\n\n if (_isPlainObject(a) || _isPlainObject(b)) {\n // @ts-expect-error These generics are tough, but they work :)\n return interpolateObject(a, b);\n }\n\n if (typeof a === \"string\" || typeof b === \"string\") {\n return interpolateString(a, b);\n } // @ts-expect-error These generics are tough, but they work :)\n\n\n return interpolate(a, b);\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* global setTimeout:false */\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as d3Ease from \"victory-vendor/d3-ease\";\nimport { victoryInterpolator } from \"./util\";\nimport TimerContext from \"../victory-util/timer-context\";\nimport isEqual from \"react-fast-compare\";\nexport var VictoryAnimation = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryAnimation, _React$Component);\n\n var _super = _createSuper(VictoryAnimation);\n\n function VictoryAnimation(props, context) {\n var _this;\n\n _classCallCheck(this, VictoryAnimation);\n\n _this = _super.call(this, props, context);\n /* defaults */\n\n _this.interpolator = void 0;\n _this.queue = void 0;\n _this.ease = void 0;\n _this.timer = void 0;\n _this.loopID = void 0;\n\n _this.functionToBeRunEachFrame = function (elapsed, duration) {\n /*\n step can generate imprecise values, sometimes greater than 1\n if this happens set the state to 1 and return, cancelling the timer\n */\n duration = duration !== undefined ? duration : _this.props.duration;\n var step = duration ? elapsed / duration : 1;\n\n if (step >= 1) {\n _this.setState({\n data: _this.interpolator(1),\n animationInfo: {\n progress: 1,\n animating: false,\n terminating: true\n }\n });\n\n if (_this.loopID) {\n _this.timer.unsubscribe(_this.loopID);\n }\n\n _this.queue.shift();\n\n _this.traverseQueue();\n\n return;\n }\n /*\n if we're not at the end of the timer, set the state by passing\n current step value that's transformed by the ease function to the\n interpolator, which is cached for performance whenever props are received\n */\n\n\n _this.setState({\n data: _this.interpolator(_this.ease(step)),\n animationInfo: {\n progress: step,\n animating: step < 1\n }\n });\n };\n\n _this.state = {\n data: Array.isArray(_this.props.data) ? _this.props.data[0] : _this.props.data,\n animationInfo: {\n progress: 0,\n animating: false\n }\n };\n _this.interpolator = null;\n _this.queue = Array.isArray(_this.props.data) ? _this.props.data.slice(1) : [];\n /* build easing function */\n\n _this.ease = d3Ease[_this.toNewName(_this.props.easing)];\n _this.timer = _this.context.animationTimer;\n return _this;\n }\n\n _createClass(VictoryAnimation, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // Length check prevents us from triggering `onEnd` in `traverseQueue`.\n if (this.queue.length) {\n this.traverseQueue();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var equalProps = isEqual(this.props, prevProps);\n\n if (!equalProps) {\n /* If the previous animation didn't finish, force it to complete before starting a new one */\n if (this.interpolator && this.state.animationInfo && this.state.animationInfo.progress < 1) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n data: this.interpolator(1),\n animationInfo: {\n progress: 1,\n animating: false,\n terminating: true\n }\n });\n } else {\n /* cancel existing loop if it exists */\n this.timer.unsubscribe(this.loopID);\n /* If an object was supplied */\n\n if (!Array.isArray(this.props.data)) {\n // Replace the tween queue. Could set `this.queue = [nextProps.data]`,\n // but let's reuse the same array.\n this.queue.length = 0;\n this.queue.push(this.props.data);\n /* If an array was supplied */\n } else {\n var _this$queue;\n\n /* Extend the tween queue */\n (_this$queue = this.queue).push.apply(_this$queue, _toConsumableArray(this.props.data));\n }\n /* Start traversing the tween queue */\n\n\n this.traverseQueue();\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.loopID) {\n this.timer.unsubscribe(this.loopID);\n } else {\n this.timer.stop();\n }\n }\n }, {\n key: \"toNewName\",\n value: function toNewName(ease) {\n // d3-ease changed the naming scheme for ease from \"linear\" -> \"easeLinear\" etc.\n var capitalize = function (s) {\n return s && s[0].toUpperCase() + s.slice(1);\n };\n\n return \"ease\".concat(capitalize(ease));\n }\n /* Traverse the tween queue */\n\n }, {\n key: \"traverseQueue\",\n value: function traverseQueue() {\n var _this2 = this;\n\n if (this.queue.length) {\n /* Get the next index */\n var data = this.queue[0];\n /* compare cached version to next props */\n\n this.interpolator = victoryInterpolator(this.state.data, data);\n /* reset step to zero */\n\n if (this.props.delay) {\n setTimeout(function () {\n _this2.loopID = _this2.timer.subscribe(_this2.functionToBeRunEachFrame, _this2.props.duration);\n }, this.props.delay);\n } else {\n this.loopID = this.timer.subscribe(this.functionToBeRunEachFrame, this.props.duration);\n }\n } else if (this.props.onEnd) {\n this.props.onEnd();\n }\n }\n /* every frame we... */\n\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children(this.state.data, this.state.animationInfo);\n }\n }]);\n\n return VictoryAnimation;\n}(React.Component);\nVictoryAnimation.displayName = \"VictoryAnimation\";\nVictoryAnimation.propTypes = {\n children: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n delay: PropTypes.number,\n duration: PropTypes.number,\n easing: PropTypes.oneOf([\"back\", \"backIn\", \"backOut\", \"backInOut\", \"bounce\", \"bounceIn\", \"bounceOut\", \"bounceInOut\", \"circle\", \"circleIn\", \"circleOut\", \"circleInOut\", \"linear\", \"linearIn\", \"linearOut\", \"linearInOut\", \"cubic\", \"cubicIn\", \"cubicOut\", \"cubicInOut\", \"elastic\", \"elasticIn\", \"elasticOut\", \"elasticInOut\", \"exp\", \"expIn\", \"expOut\", \"expInOut\", \"poly\", \"polyIn\", \"polyOut\", \"polyInOut\", \"quad\", \"quadIn\", \"quadOut\", \"quadInOut\", \"sin\", \"sinIn\", \"sinOut\", \"sinInOut\"]),\n onEnd: PropTypes.func\n};\nVictoryAnimation.defaultProps = {\n data: {},\n delay: 0,\n duration: 1000,\n easing: \"quadInOut\"\n};\nVictoryAnimation.contextType = TimerContext;","import React from \"react\";\nimport PropTypes from \"prop-types\";\nexport var ClipPath = function (props) {\n return /*#__PURE__*/React.createElement(\"defs\", null,\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"clipPath\", {\n id: props.clipId\n }, props.children));\n};\nClipPath.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n clipId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n};","import _uniqueId from \"lodash/uniqueId\";\nimport _isObject from \"lodash/isObject\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as CustomPropTypes from \"../victory-util/prop-types\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport * as UserProps from \"../victory-util/user-props\";\nimport { ClipPath } from \"../victory-primitives/clip-path\";\nimport { Circle } from \"../victory-primitives/circle\";\nimport { Rect } from \"../victory-primitives/rect\";\nexport var VictoryClipContainer = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryClipContainer, _React$Component);\n\n var _super = _createSuper(VictoryClipContainer);\n\n function VictoryClipContainer(props) {\n var _this;\n\n _classCallCheck(this, VictoryClipContainer);\n\n _this = _super.call(this, props);\n _this.clipId = void 0;\n _this.clipId = !_isObject(props) || props.clipId === undefined ? _uniqueId(\"victory-clip-\") : props.clipId;\n return _this;\n }\n\n _createClass(VictoryClipContainer, [{\n key: \"calculateAttributes\",\n value: function calculateAttributes(props) {\n var polar = props.polar,\n origin = props.origin,\n _props$clipWidth = props.clipWidth,\n clipWidth = _props$clipWidth === void 0 ? 0 : _props$clipWidth,\n _props$clipHeight = props.clipHeight,\n clipHeight = _props$clipHeight === void 0 ? 0 : _props$clipHeight,\n _props$translateX = props.translateX,\n translateX = _props$translateX === void 0 ? 0 : _props$translateX,\n _props$translateY = props.translateY,\n translateY = _props$translateY === void 0 ? 0 : _props$translateY;\n var clipPadding = Helpers.getPadding({\n padding: props.clipPadding\n });\n var radius = props.radius || Helpers.getRadius(props);\n return {\n x: (polar ? origin.x : translateX) - clipPadding.left,\n y: (polar ? origin.y : translateY) - clipPadding.top,\n width: Math.max((polar ? radius : clipWidth) + clipPadding.left + clipPadding.right, 0),\n height: Math.max((polar ? radius : clipHeight) + clipPadding.top + clipPadding.bottom, 0)\n };\n }\n }, {\n key: \"renderClippedGroup\",\n value: function renderClippedGroup(props, clipId) {\n var userProps = UserProps.getSafeUserProps(props);\n var style = props.style,\n events = props.events,\n transform = props.transform,\n children = props.children,\n className = props.className,\n groupComponent = props.groupComponent,\n tabIndex = props.tabIndex;\n var clipComponent = this.renderClipComponent(props, clipId);\n\n var groupProps = _assign({\n className: className,\n style: style,\n transform: transform,\n key: \"clipped-group-\".concat(clipId),\n clipPath: \"url(#\".concat(clipId, \")\")\n }, events);\n\n return /*#__PURE__*/React.cloneElement(groupComponent, _objectSpread(_objectSpread({}, groupProps), {}, {\n tabIndex: tabIndex\n }, userProps), [clipComponent].concat(_toConsumableArray(React.Children.toArray(children))));\n }\n }, {\n key: \"renderGroup\",\n value: function renderGroup(props) {\n var style = props.style,\n events = props.events,\n transform = props.transform,\n children = props.children,\n className = props.className,\n groupComponent = props.groupComponent,\n tabIndex = props.tabIndex;\n return /*#__PURE__*/React.cloneElement(groupComponent, _assign({\n className: className,\n style: style,\n transform: transform,\n \"aria-label\": props[\"aria-label\"],\n tabIndex: tabIndex\n }, events), children);\n }\n }, {\n key: \"renderClipComponent\",\n value: function renderClipComponent(props, clipId) {\n var polar = props.polar,\n origin = props.origin,\n _props$clipWidth2 = props.clipWidth,\n clipWidth = _props$clipWidth2 === void 0 ? 0 : _props$clipWidth2,\n _props$clipHeight2 = props.clipHeight,\n clipHeight = _props$clipHeight2 === void 0 ? 0 : _props$clipHeight2,\n _props$translateX2 = props.translateX,\n translateX = _props$translateX2 === void 0 ? 0 : _props$translateX2,\n _props$translateY2 = props.translateY,\n translateY = _props$translateY2 === void 0 ? 0 : _props$translateY2,\n circleComponent = props.circleComponent,\n rectComponent = props.rectComponent,\n clipPathComponent = props.clipPathComponent;\n\n var _Helpers$getPadding = Helpers.getPadding({\n padding: props.clipPadding\n }),\n top = _Helpers$getPadding.top,\n bottom = _Helpers$getPadding.bottom,\n left = _Helpers$getPadding.left,\n right = _Helpers$getPadding.right;\n\n var child;\n\n if (polar) {\n var radius = props.radius || Helpers.getRadius(props);\n var circleProps = {\n r: Math.max(radius + left + right, radius + top + bottom, 0),\n cx: origin.x - left,\n cy: origin.y - top\n };\n child = /*#__PURE__*/React.cloneElement(circleComponent, circleProps);\n } else {\n var rectProps = {\n x: translateX - left,\n y: translateY - top,\n width: Math.max(clipWidth + left + right, 0),\n height: Math.max(clipHeight + top + bottom, 0)\n };\n child = /*#__PURE__*/React.cloneElement(rectComponent, rectProps);\n }\n\n return /*#__PURE__*/React.cloneElement(clipPathComponent, _assign({\n key: \"clip-path-\".concat(clipId)\n }, props, {\n clipId: clipId\n }), child);\n }\n }, {\n key: \"getClipValue\",\n value: function getClipValue(props, axis) {\n var clipValues = {\n x: props.clipWidth,\n y: props.clipHeight\n };\n\n if (clipValues[axis] !== undefined) {\n return clipValues[axis];\n }\n\n var range = Helpers.getRange(props, axis);\n return range ? Math.abs(range[0] - range[1]) || undefined : undefined;\n }\n }, {\n key: \"getTranslateValue\",\n value: function getTranslateValue(props, axis) {\n var translateValues = {\n x: props.translateX,\n y: props.translateY\n };\n\n if (translateValues[axis] !== undefined) {\n return translateValues[axis];\n }\n\n var range = Helpers.getRange(props, axis);\n return range ? Math.min.apply(Math, _toConsumableArray(range)) : undefined;\n }\n }, {\n key: \"render\",\n value: function render() {\n var clipHeight = this.getClipValue(this.props, \"y\");\n var clipWidth = this.getClipValue(this.props, \"x\");\n\n if (clipWidth === undefined || clipHeight === undefined) {\n return this.renderGroup(this.props);\n }\n\n var translateX = this.getTranslateValue(this.props, \"x\");\n var translateY = this.getTranslateValue(this.props, \"y\");\n\n var clipProps = _defaults({}, this.props, {\n clipHeight: clipHeight,\n clipWidth: clipWidth,\n translateX: translateX,\n translateY: translateY\n });\n\n return this.renderClippedGroup(clipProps, this.clipId);\n }\n }]);\n\n return VictoryClipContainer;\n}(React.Component);\nVictoryClipContainer.displayName = \"VictoryClipContainer\";\nVictoryClipContainer.role = \"container\";\nVictoryClipContainer.propTypes = {\n \"aria-label\": PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n circleComponent: PropTypes.element,\n className: PropTypes.string,\n clipHeight: CustomPropTypes.nonNegative,\n clipId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n clipPadding: PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number\n }),\n clipPathComponent: PropTypes.element,\n clipWidth: CustomPropTypes.nonNegative,\n events: PropTypes.object,\n groupComponent: PropTypes.element,\n origin: PropTypes.shape({\n x: CustomPropTypes.nonNegative,\n y: CustomPropTypes.nonNegative\n }),\n polar: PropTypes.bool,\n radius: CustomPropTypes.nonNegative,\n style: PropTypes.object,\n tabIndex: PropTypes.number,\n transform: PropTypes.string,\n translateX: PropTypes.number,\n translateY: PropTypes.number\n};\nVictoryClipContainer.defaultProps = {\n circleComponent: /*#__PURE__*/React.createElement(Circle, null),\n rectComponent: /*#__PURE__*/React.createElement(Rect, null),\n clipPathComponent: /*#__PURE__*/React.createElement(ClipPath, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null)\n};","import _keys from \"lodash/keys\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as CustomPropTypes from \"../victory-util/prop-types\";\nexport var Portal = /*#__PURE__*/function (_ref) {\n _inherits(Portal, _ref);\n\n var _super = _createSuper(Portal);\n\n function Portal(props) {\n var _this;\n\n _classCallCheck(this, Portal);\n\n _this = _super.call(this, props);\n _this.map = void 0;\n _this.index = void 0;\n\n _this.portalRegister = function () {\n return ++_this.index;\n };\n\n _this.portalUpdate = function (key, element) {\n _this.map[key] = element;\n\n _this.forceUpdate();\n };\n\n _this.portalDeregister = function (key) {\n delete _this.map[key];\n\n _this.forceUpdate();\n };\n\n _this.map = {};\n _this.index = 1;\n return _this;\n }\n\n _createClass(Portal, [{\n key: \"getChildren\",\n value: function getChildren() {\n var _this2 = this;\n\n return _keys(this.map).map(function (key) {\n var el = _this2.map[key];\n return el ? /*#__PURE__*/React.cloneElement(el, {\n key: key\n }) : el;\n });\n } // Overridden in victory-core-native\n\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"svg\", this.props, this.getChildren());\n }\n }]);\n\n return Portal;\n}(React.Component);\nPortal.displayName = \"Portal\";\nPortal.propTypes = {\n className: PropTypes.string,\n height: CustomPropTypes.nonNegative,\n style: PropTypes.object,\n viewBox: PropTypes.string,\n width: CustomPropTypes.nonNegative\n};","import _isFunction from \"lodash/isFunction\";\nimport _isObject from \"lodash/isObject\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as CustomPropTypes from \"../victory-util/prop-types\";\nimport { Portal } from \"../victory-portal/portal\";\nimport { PortalContext } from \"../victory-portal/portal-context\";\nimport TimerContext from \"../victory-util/timer-context\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport * as UserProps from \"../victory-util/user-props\";\nexport var VictoryContainer = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryContainer, _React$Component);\n\n var _super = _createSuper(VictoryContainer);\n\n // @ts-expect-error Ref will be initialized on mount\n // @ts-expect-error Ref will be initialized on mount\n function VictoryContainer(props) {\n var _this;\n\n _classCallCheck(this, VictoryContainer);\n\n _this = _super.call(this, props);\n _this.containerId = void 0;\n _this.portalRef = void 0;\n _this.containerRef = void 0;\n _this.shouldHandleWheel = void 0;\n\n _this.savePortalRef = function (portal) {\n _this.portalRef = portal;\n return portal;\n };\n\n _this.portalUpdate = function (key, el) {\n return _this.portalRef.portalUpdate(key, el);\n };\n\n _this.portalRegister = function () {\n return _this.portalRef.portalRegister();\n };\n\n _this.portalDeregister = function (key) {\n return _this.portalRef.portalDeregister(key);\n };\n\n _this.saveContainerRef = function (container) {\n if (_isFunction(_this.props.containerRef)) {\n _this.props.containerRef(container);\n }\n\n _this.containerRef = container;\n return container;\n };\n\n _this.handleWheel = function (e) {\n return e.preventDefault();\n };\n\n _this.containerId = !_isObject(props) || props.containerId === undefined ? _uniqueId(\"victory-container-\") : props.containerId;\n _this.shouldHandleWheel = !!(props && props.events && props.events.onWheel);\n return _this;\n }\n\n _createClass(VictoryContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.shouldHandleWheel && this.containerRef) {\n this.containerRef.addEventListener(\"wheel\", this.handleWheel);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.shouldHandleWheel && this.containerRef) {\n this.containerRef.removeEventListener(\"wheel\", this.handleWheel);\n }\n }\n }, {\n key: \"getIdForElement\",\n value: function getIdForElement(elementName) {\n return \"\".concat(this.containerId, \"-\").concat(elementName);\n } // overridden in custom containers\n\n }, {\n key: \"getChildren\",\n value: function getChildren(props) {\n return props.children;\n } // Get props defined by the Open UI Automation (OUIA) 1.0-RC spec\n // See https://ouia.readthedocs.io/en/latest/README.html#ouia-component\n\n }, {\n key: \"getOUIAProps\",\n value: function getOUIAProps(props) {\n var ouiaId = props.ouiaId,\n ouiaSafe = props.ouiaSafe,\n ouiaType = props.ouiaType;\n return _objectSpread(_objectSpread(_objectSpread({}, ouiaId && {\n \"data-ouia-component-id\": ouiaId\n }), ouiaType && {\n \"data-ouia-component-type\": ouiaType\n }), ouiaSafe !== undefined && {\n \"data-ouia-safe\": ouiaSafe\n });\n }\n }, {\n key: \"renderContainer\",\n value: function renderContainer(props, svgProps, style) {\n var title = props.title,\n desc = props.desc,\n portalComponent = props.portalComponent,\n className = props.className,\n width = props.width,\n height = props.height,\n portalZIndex = props.portalZIndex,\n responsive = props.responsive;\n var children = this.getChildren(props);\n var dimensions = responsive ? {\n width: \"100%\",\n height: \"100%\"\n } : {\n width: width,\n height: height\n };\n\n var divStyle = _assign({\n pointerEvents: \"none\",\n touchAction: \"none\",\n position: \"relative\"\n }, dimensions);\n\n var portalDivStyle = _assign({\n zIndex: portalZIndex,\n position: \"absolute\",\n top: 0,\n left: 0\n }, dimensions);\n\n var svgStyle = _assign({\n pointerEvents: \"all\"\n }, dimensions);\n\n var portalSvgStyle = _assign({\n overflow: \"visible\"\n }, dimensions);\n\n var portalProps = {\n width: width,\n height: height,\n viewBox: svgProps.viewBox,\n preserveAspectRatio: svgProps.preserveAspectRatio,\n style: portalSvgStyle\n };\n return /*#__PURE__*/React.createElement(PortalContext.Provider, {\n value: {\n portalUpdate: this.portalUpdate,\n portalRegister: this.portalRegister,\n portalDeregister: this.portalDeregister\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n style: _defaults({}, style, divStyle),\n className: className,\n ref: this.saveContainerRef\n }, this.getOUIAProps(props)), /*#__PURE__*/React.createElement(\"svg\", _extends({}, svgProps, {\n style: svgStyle\n }), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: this.getIdForElement(\"title\")\n }, title) : null, desc ? /*#__PURE__*/React.createElement(\"desc\", {\n id: this.getIdForElement(\"desc\")\n }, desc) : null, children), /*#__PURE__*/React.createElement(\"div\", {\n style: portalDivStyle\n }, /*#__PURE__*/React.cloneElement(portalComponent, _objectSpread(_objectSpread({}, portalProps), {}, {\n ref: this.savePortalRef\n })))));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n width = _this$props.width,\n height = _this$props.height,\n responsive = _this$props.responsive,\n events = _this$props.events,\n title = _this$props.title,\n desc = _this$props.desc,\n tabIndex = _this$props.tabIndex,\n preserveAspectRatio = _this$props.preserveAspectRatio,\n role = _this$props.role;\n var style = responsive ? this.props.style : Helpers.omit(this.props.style, [\"height\", \"width\"]);\n var userProps = UserProps.getSafeUserProps(this.props);\n\n var svgProps = _assign(_objectSpread({\n width: width,\n height: height,\n tabIndex: tabIndex,\n role: role,\n \"aria-labelledby\": [title && this.getIdForElement(\"title\"), this.props[\"aria-labelledby\"]].filter(Boolean).join(\" \") || undefined,\n \"aria-describedby\": [desc && this.getIdForElement(\"desc\"), this.props[\"aria-describedby\"]].filter(Boolean).join(\" \") || undefined,\n viewBox: responsive ? \"0 0 \".concat(width, \" \").concat(height) : undefined,\n preserveAspectRatio: responsive ? preserveAspectRatio : undefined\n }, userProps), events);\n\n return this.renderContainer(this.props, svgProps, style);\n }\n }]);\n\n return VictoryContainer;\n}(React.Component);\nVictoryContainer.displayName = \"VictoryContainer\";\nVictoryContainer.role = \"container\";\nVictoryContainer.propTypes = {\n \"aria-describedby\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n className: PropTypes.string,\n containerId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n containerRef: PropTypes.func,\n desc: PropTypes.string,\n events: PropTypes.object,\n height: CustomPropTypes.nonNegative,\n name: PropTypes.string,\n origin: PropTypes.shape({\n x: CustomPropTypes.nonNegative,\n y: CustomPropTypes.nonNegative\n }),\n ouiaId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ouiaSafe: PropTypes.bool,\n ouiaType: PropTypes.string,\n polar: PropTypes.bool,\n portalComponent: PropTypes.element,\n portalZIndex: CustomPropTypes.integer,\n preserveAspectRatio: PropTypes.string,\n responsive: PropTypes.bool,\n role: PropTypes.string,\n style: PropTypes.object,\n tabIndex: PropTypes.number,\n theme: PropTypes.object,\n title: PropTypes.string,\n width: CustomPropTypes.nonNegative\n};\nVictoryContainer.defaultProps = {\n className: \"VictoryContainer\",\n portalComponent: /*#__PURE__*/React.createElement(Portal, null),\n portalZIndex: 99,\n responsive: true,\n role: \"img\"\n};\nVictoryContainer.contextType = TimerContext;","var _excluded = [\"children\", \"title\", \"desc\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nexport var Text = function (props) {\n var children = props.children,\n title = props.title,\n desc = props.desc,\n rest = _objectWithoutProperties(props, _excluded);\n\n return (\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"text\", rest, title && /*#__PURE__*/React.createElement(\"title\", null, title), desc && /*#__PURE__*/React.createElement(\"desc\", null, desc), children)\n );\n};\nText.propTypes = {\n children: PropTypes.node,\n desc: PropTypes.string,\n title: PropTypes.string\n};","import React from \"react\";\nexport var TSpan = function (props) {\n return (\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"tspan\", props)\n );\n};","import _isEmpty from \"lodash/isEmpty\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { VictoryPortal } from \"../victory-portal/victory-portal\";\nimport { Rect } from \"../victory-primitives/rect\";\nimport { Text } from \"../victory-primitives/text\";\nimport { TSpan } from \"../victory-primitives/tspan\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport * as LabelHelpers from \"../victory-util/label-helpers\";\nimport * as Log from \"../victory-util/log\";\nimport * as CustomPropTypes from \"../victory-util/prop-types\";\nimport * as Style from \"../victory-util/style\";\nimport * as TextSize from \"../victory-util/textsize\";\nimport * as UserProps from \"../victory-util/user-props\";\nvar defaultStyles = {\n fill: \"#252525\",\n fontSize: 14,\n fontFamily: \"'Gill Sans', 'Gill Sans MT', 'Ser­avek', 'Trebuchet MS', sans-serif\",\n stroke: \"transparent\"\n};\n\nvar getPosition = function (props, dimension) {\n if (!props.datum) {\n return 0;\n }\n\n var scaledPoint = Helpers.scalePoint(props, props.datum);\n return scaledPoint[dimension];\n};\n\nvar getFontSize = function (style) {\n var baseSize = style && style.fontSize;\n\n if (typeof baseSize === \"number\") {\n return baseSize;\n } else if (baseSize === undefined || baseSize === null) {\n return defaultStyles.fontSize;\n } else if (typeof baseSize === \"string\") {\n var fontSize = Number(baseSize.replace(\"px\", \"\"));\n\n if (!isNaN(fontSize)) {\n return fontSize;\n }\n\n Log.warn(\"fontSize should be expressed as a number of pixels\");\n return defaultStyles.fontSize;\n }\n\n return defaultStyles.fontSize;\n};\n\nvar getSingleValue = function (prop) {\n var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return Array.isArray(prop) ? prop[index] || prop[0] : prop;\n};\n\nvar shouldUseMultilineBackgrounds = function (props) {\n var backgroundStyle = props.backgroundStyle,\n backgroundPadding = props.backgroundPadding;\n return Array.isArray(backgroundStyle) && !_isEmpty(backgroundStyle) || Array.isArray(backgroundPadding) && !_isEmpty(backgroundPadding);\n};\n\nvar getStyles = function (style, props) {\n if (props.disableInlineStyles) {\n var baseStyles = Helpers.evaluateStyle(style, props);\n return {\n // Font size is necessary to calculate the y position of the label\n fontSize: getFontSize(baseStyles)\n };\n }\n\n var getSingleStyle = function (s) {\n s = s ? _defaults({}, s, defaultStyles) : defaultStyles;\n var baseStyles = Helpers.evaluateStyle(s, props);\n return _assign({}, baseStyles, {\n fontSize: getFontSize(baseStyles)\n });\n };\n\n return Array.isArray(style) && !_isEmpty(style) ? style.map(function (s) {\n return getSingleStyle(s);\n }) : getSingleStyle(style);\n};\n\nvar getBackgroundStyles = function (style, props) {\n if (!style) {\n return undefined;\n }\n\n return Array.isArray(style) && !_isEmpty(style) ? style.map(function (s) {\n return Helpers.evaluateStyle(s, props);\n }) : Helpers.evaluateStyle(style, props);\n};\n\nvar getBackgroundPadding = function (props) {\n if (props.backgroundPadding && Array.isArray(props.backgroundPadding)) {\n return props.backgroundPadding.map(function (backgroundPadding) {\n var padding = Helpers.evaluateProp(backgroundPadding, props);\n return Helpers.getPadding({\n padding: padding\n });\n });\n }\n\n var padding = Helpers.evaluateProp(props.backgroundPadding, props);\n return Helpers.getPadding({\n padding: padding\n });\n};\n\nvar getLineHeight = function (props) {\n var lineHeight = Helpers.evaluateProp(props.lineHeight, props);\n\n if (Array.isArray(lineHeight)) {\n return _isEmpty(lineHeight) ? [1] : lineHeight;\n }\n\n return lineHeight;\n};\n\nvar getContent = function (text, props) {\n if (text === undefined || text === null) {\n return undefined;\n }\n\n if (Array.isArray(text)) {\n return text.map(function (line) {\n return Helpers.evaluateProp(line, props);\n });\n }\n\n var child = Helpers.evaluateProp(text, props);\n\n if (child === undefined || child === null) {\n return undefined;\n }\n\n return Array.isArray(child) ? child : \"\".concat(child).split(\"\\n\");\n};\n\nvar getDy = function (props, verticalAnchor, lineHeight) {\n var dy = props.dy ? Helpers.evaluateProp(props.dy, props) : 0;\n var length = props.inline ? 1 : props.text.length;\n var capHeight = Helpers.evaluateProp(props.capHeight, props);\n var anchor = verticalAnchor ? Helpers.evaluateProp(verticalAnchor, props) : \"middle\";\n\n var fontSizes = _toConsumableArray(Array(length).keys()).map(function (i) {\n return getSingleValue(props.style, i).fontSize;\n });\n\n var lineHeights = _toConsumableArray(Array(length).keys()).map(function (i) {\n return getSingleValue(lineHeight, i);\n });\n\n if (anchor === \"start\") {\n return dy + (capHeight / 2 + lineHeights[0] / 2) * fontSizes[0];\n } else if (props.inline) {\n return anchor === \"end\" ? dy + (capHeight / 2 - lineHeights[0] / 2) * fontSizes[0] : dy + capHeight / 2 * fontSizes[0];\n } else if (length === 1) {\n return anchor === \"end\" ? dy + (capHeight / 2 + (0.5 - length) * lineHeights[0]) * fontSizes[0] : dy + (capHeight / 2 + (0.5 - length / 2) * lineHeights[0]) * fontSizes[0];\n }\n\n var allHeights = _toConsumableArray(Array(length).keys()).reduce(function (memo, i) {\n return memo + (capHeight / 2 + (0.5 - length) * lineHeights[i]) * fontSizes[i] / length;\n }, 0);\n\n return anchor === \"end\" ? dy + allHeights : dy + allHeights / 2 + capHeight / 2 * lineHeights[length - 1] * fontSizes[length - 1];\n};\n\nvar getTransform = function (props, x, y) {\n var polar = props.polar;\n var style = getSingleValue(props.style);\n var defaultAngle = polar ? LabelHelpers.getPolarAngle(props) : 0;\n var baseAngle = style.angle === undefined ? Helpers.evaluateProp(props.angle, props) : style.angle;\n var angle = baseAngle === undefined ? defaultAngle : baseAngle;\n var transform = props.transform || style.transform;\n var transformPart = transform && Helpers.evaluateProp(transform, props);\n var rotatePart = angle && {\n rotate: [angle, x, y]\n };\n return transformPart || angle ? Style.toTransformString(transformPart, rotatePart) : undefined;\n};\n\nvar getXCoordinate = function (calculatedProps, labelSizeWidth) {\n var direction = calculatedProps.direction,\n textAnchor = calculatedProps.textAnchor,\n x = calculatedProps.x,\n dx = calculatedProps.dx;\n\n if (direction === \"rtl\") {\n return x - labelSizeWidth;\n }\n\n switch (textAnchor) {\n case \"middle\":\n return Math.round(x - labelSizeWidth / 2);\n\n case \"end\":\n return Math.round(x - labelSizeWidth);\n\n default:\n // start\n return x + (dx || 0);\n }\n};\n\nvar getYCoordinate = function (calculatedProps, textHeight) {\n var verticalAnchor = calculatedProps.verticalAnchor,\n y = calculatedProps.y,\n _calculatedProps$orig = calculatedProps.originalDy,\n originalDy = _calculatedProps$orig === void 0 ? 0 : _calculatedProps$orig;\n var offset = y + originalDy;\n\n switch (verticalAnchor) {\n case \"start\":\n return Math.floor(offset);\n\n case \"end\":\n return Math.ceil(offset - textHeight);\n\n default:\n // middle\n return Math.floor(offset - textHeight / 2);\n }\n};\n\nvar getFullBackground = function (calculatedProps, tspanValues) {\n var _calculatedProps$dx = calculatedProps.dx,\n dx = _calculatedProps$dx === void 0 ? 0 : _calculatedProps$dx,\n transform = calculatedProps.transform,\n backgroundComponent = calculatedProps.backgroundComponent,\n backgroundStyle = calculatedProps.backgroundStyle,\n inline = calculatedProps.inline,\n backgroundPadding = calculatedProps.backgroundPadding,\n capHeight = calculatedProps.capHeight;\n var textSizes = tspanValues.map(function (tspan) {\n return tspan.textSize;\n });\n var height = inline ? Math.max.apply(Math, _toConsumableArray(textSizes.map(function (size) {\n return size.height;\n }))) : textSizes.reduce(function (memo, size, i) {\n var capHeightAdjustment = i ? 0 : capHeight / 2;\n return memo + size.height * (tspanValues[i].lineHeight - capHeightAdjustment);\n }, 0);\n var width = inline ? textSizes.reduce(function (memo, size, index) {\n var offset = index ? dx : 0;\n return memo + size.width + offset;\n }, 0) : Math.max.apply(Math, _toConsumableArray(textSizes.map(function (size) {\n return size.width;\n })));\n var xCoordinate = getXCoordinate(calculatedProps, width);\n var yCoordinate = getYCoordinate(calculatedProps, height);\n var backgroundProps = {\n key: \"background\",\n height: height + backgroundPadding.top + backgroundPadding.bottom,\n style: backgroundStyle,\n transform: transform,\n width: width + backgroundPadding.left + backgroundPadding.right,\n x: inline ? xCoordinate - backgroundPadding.left : xCoordinate + dx - backgroundPadding.left,\n y: yCoordinate\n };\n return /*#__PURE__*/React.cloneElement(backgroundComponent, _defaults({}, backgroundComponent.props, backgroundProps));\n};\n\nvar getInlineXOffset = function (calculatedProps, textElements, index) {\n var textAnchor = calculatedProps.textAnchor;\n var widths = textElements.map(function (t) {\n return t.widthWithPadding;\n });\n var totalWidth = widths.reduce(function (memo, width) {\n return memo + width;\n }, 0);\n var centerOffset = -totalWidth / 2;\n\n switch (textAnchor) {\n case \"start\":\n return widths.reduce(function (memo, width, i) {\n memo = i < index ? memo + width : memo;\n return memo;\n }, 0);\n\n case \"end\":\n return widths.reduce(function (memo, width, i) {\n memo = i > index ? memo - width : memo;\n return memo;\n }, 0);\n\n default:\n // middle\n return widths.reduce(function (memo, width, i) {\n var offsetWidth = i < index ? width : 0;\n memo = i === index ? memo + width / 2 : memo + offsetWidth;\n return memo;\n }, centerOffset);\n }\n};\n\nvar getChildBackgrounds = function (calculatedProps, tspanValues) {\n var dy = calculatedProps.dy,\n dx = calculatedProps.dx,\n transform = calculatedProps.transform,\n backgroundStyle = calculatedProps.backgroundStyle,\n backgroundPadding = calculatedProps.backgroundPadding,\n backgroundComponent = calculatedProps.backgroundComponent,\n inline = calculatedProps.inline,\n y = calculatedProps.y;\n var textElements = tspanValues.map(function (current, i) {\n var previous = getSingleValue(tspanValues, i - 1);\n var labelSize = current.textSize;\n var totalLineHeight = current.fontSize * current.lineHeight;\n var textHeight = Math.ceil(totalLineHeight);\n var padding = getSingleValue(backgroundPadding, i);\n var prevPadding = getSingleValue(backgroundPadding, i - 1);\n var xOffset = inline ? dx || 0 : 0;\n var childDy = i && !inline ? previous.fontSize * previous.lineHeight + prevPadding.top + prevPadding.bottom : dy - totalLineHeight * 0.5 - (current.fontSize - current.capHeight);\n return {\n textHeight: textHeight,\n labelSize: labelSize,\n heightWithPadding: textHeight + padding.top + padding.bottom,\n widthWithPadding: labelSize.width + padding.left + padding.right + xOffset,\n y: y,\n fontSize: current.fontSize,\n dy: childDy\n };\n });\n return textElements.map(function (textElement, i) {\n var xCoordinate = getXCoordinate(calculatedProps, textElement.labelSize.width);\n var yCoordinate = textElements.slice(0, i + 1).reduce(function (prev, curr) {\n return prev + curr.dy;\n }, y);\n var padding = getSingleValue(backgroundPadding, i);\n var height = textElement.heightWithPadding;\n var xCoord = inline ? getInlineXOffset(calculatedProps, textElements, i) + xCoordinate - padding.left : xCoordinate;\n var yCoord = inline ? getYCoordinate(calculatedProps, height) - padding.top : yCoordinate;\n var backgroundProps = {\n key: \"tspan-background-\".concat(i),\n height: height,\n style: getSingleValue(backgroundStyle, i),\n width: textElement.widthWithPadding,\n transform: transform,\n x: xCoord - padding.left,\n y: yCoord\n };\n return /*#__PURE__*/React.cloneElement(backgroundComponent, _defaults({}, backgroundComponent.props, backgroundProps));\n });\n};\n\nvar getBackgroundElement = function (calculatedProps, tspanValues) {\n return shouldUseMultilineBackgrounds(calculatedProps) ? getChildBackgrounds(calculatedProps, tspanValues) : getFullBackground(calculatedProps, tspanValues);\n};\n\nvar calculateSpanDy = function (tspanValues, i, calculatedProps) {\n var current = getSingleValue(tspanValues, i);\n var previous = getSingleValue(tspanValues, i - 1);\n var previousHeight = previous.fontSize * previous.lineHeight;\n var currentHeight = current.fontSize * current.lineHeight;\n var previousCaps = previous.fontSize - previous.capHeight;\n var currentCaps = current.fontSize - current.capHeight;\n var textHeight = previousHeight - previous.fontSize / 2 + current.fontSize / 2 - previousHeight / 2 + currentHeight / 2 - currentCaps / 2 + previousCaps / 2;\n return shouldUseMultilineBackgrounds(calculatedProps) ? textHeight + current.backgroundPadding.top + previous.backgroundPadding.bottom : textHeight;\n};\n\nvar getTSpanDy = function (tspanValues, calculatedProps, i) {\n var inline = calculatedProps.inline;\n var current = getSingleValue(tspanValues, i);\n\n if (i && !inline) {\n return calculateSpanDy(tspanValues, i, calculatedProps);\n } else if (inline) {\n return i === 0 ? current.backgroundPadding.top : undefined;\n }\n\n return current.backgroundPadding.top;\n};\n\nvar evaluateProps = function (props) {\n /* Potential evaluated props are\n 1) text\n 2) style\n 3) everything else\n */\n var text = getContent(props.text, props);\n var style = getStyles(props.style, _assign({}, props, {\n text: text\n }));\n var backgroundStyle = getBackgroundStyles(props.backgroundStyle, _assign({}, props, {\n text: text,\n style: style\n }));\n var backgroundPadding = getBackgroundPadding(_assign({}, props, {\n text: text,\n style: style,\n backgroundStyle: backgroundStyle\n }));\n var id = Helpers.evaluateProp(props.id, props);\n return _assign({}, props, {\n backgroundStyle: backgroundStyle,\n backgroundPadding: backgroundPadding,\n style: style,\n text: text,\n id: id\n });\n};\n\nvar getCalculatedProps = function (props) {\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var style = getSingleValue(props.style);\n var lineHeight = getLineHeight(props);\n var direction = props.direction ? Helpers.evaluateProp(props.direction, props) : \"inherit\";\n var textAnchor = props.textAnchor ? Helpers.evaluateProp(props.textAnchor, props) : style.textAnchor || \"start\";\n var verticalAnchor = props.verticalAnchor ? Helpers.evaluateProp(props.verticalAnchor, props) : style.verticalAnchor || \"middle\";\n var dx = props.dx ? Helpers.evaluateProp(props.dx, props) : 0;\n var dy = getDy(props, verticalAnchor, lineHeight);\n var x = props.x !== undefined ? props.x : getPosition(props, \"x\");\n var y = props.y !== undefined ? props.y : getPosition(props, \"y\");\n var transform = getTransform(props, x, y);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n lineHeight: lineHeight,\n direction: direction,\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor,\n dx: dx,\n dy: dy,\n originalDy: props.dy,\n transform: transform,\n x: x,\n y: y\n });\n};\n\nvar renderLabel = function (calculatedProps, tspanValues) {\n var ariaLabel = calculatedProps.ariaLabel,\n inline = calculatedProps.inline,\n className = calculatedProps.className,\n title = calculatedProps.title,\n events = calculatedProps.events,\n direction = calculatedProps.direction,\n text = calculatedProps.text,\n textAnchor = calculatedProps.textAnchor,\n dx = calculatedProps.dx,\n dy = calculatedProps.dy,\n transform = calculatedProps.transform,\n x = calculatedProps.x,\n y = calculatedProps.y,\n desc = calculatedProps.desc,\n id = calculatedProps.id,\n tabIndex = calculatedProps.tabIndex,\n tspanComponent = calculatedProps.tspanComponent,\n textComponent = calculatedProps.textComponent;\n var userProps = UserProps.getSafeUserProps(calculatedProps);\n\n var textProps = _objectSpread(_objectSpread({\n \"aria-label\": ariaLabel,\n key: \"text\"\n }, events), {}, {\n direction: direction,\n dx: dx,\n x: x,\n y: y + dy,\n transform: transform,\n className: className,\n title: title,\n desc: Helpers.evaluateProp(desc, calculatedProps),\n tabIndex: Helpers.evaluateProp(tabIndex, calculatedProps),\n id: id\n }, userProps);\n\n var tspans = text.map(function (line, i) {\n var currentStyle = tspanValues[i].style;\n var tspanProps = {\n key: \"\".concat(id, \"-key-\").concat(i),\n x: !inline ? x : undefined,\n dx: inline ? dx + tspanValues[i].backgroundPadding.left : dx,\n dy: getTSpanDy(tspanValues, calculatedProps, i),\n textAnchor: currentStyle.textAnchor || textAnchor,\n style: currentStyle,\n children: line\n };\n return /*#__PURE__*/React.cloneElement(tspanComponent, tspanProps);\n });\n return /*#__PURE__*/React.cloneElement(textComponent, textProps, tspans);\n};\n\nexport var VictoryLabel = function (props) {\n props = evaluateProps(props);\n\n if (props.text === null || props.text === undefined) {\n return null;\n }\n\n var calculatedProps = getCalculatedProps(props);\n var text = calculatedProps.text,\n style = calculatedProps.style,\n capHeight = calculatedProps.capHeight,\n backgroundPadding = calculatedProps.backgroundPadding,\n lineHeight = calculatedProps.lineHeight;\n var tspanValues = text.map(function (line, i) {\n var currentStyle = getSingleValue(style, i);\n var capHeightPx = TextSize.convertLengthToPixels(\"\".concat(capHeight, \"em\"), currentStyle.fontSize);\n var currentLineHeight = getSingleValue(lineHeight, i);\n return {\n style: currentStyle,\n fontSize: currentStyle.fontSize || defaultStyles.fontSize,\n capHeight: capHeightPx,\n text: line,\n // @ts-expect-error TODO: This looks like a bug:\n textSize: TextSize.approximateTextSize(line, currentStyle),\n lineHeight: currentLineHeight,\n backgroundPadding: getSingleValue(backgroundPadding, i)\n };\n });\n var label = renderLabel(calculatedProps, tspanValues);\n\n if (props.backgroundStyle) {\n var backgroundElement = getBackgroundElement(calculatedProps, tspanValues);\n var children = [backgroundElement, label];\n var backgroundWithLabel = /*#__PURE__*/React.cloneElement(props.groupComponent, {}, children);\n return props.renderInPortal ? /*#__PURE__*/React.createElement(VictoryPortal, null, backgroundWithLabel) : backgroundWithLabel;\n }\n\n return props.renderInPortal ? /*#__PURE__*/React.createElement(VictoryPortal, null, label) : label;\n};\nVictoryLabel.displayName = \"VictoryLabel\";\nVictoryLabel.role = \"label\";\nVictoryLabel.defaultStyles = defaultStyles;\nVictoryLabel.propTypes = {\n active: PropTypes.bool,\n angle: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func]),\n ariaLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n backgroundComponent: PropTypes.element,\n backgroundPadding: PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.array]),\n backgroundStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n capHeight: PropTypes.oneOfType([PropTypes.string, CustomPropTypes.nonNegative, PropTypes.func]),\n className: PropTypes.string,\n data: PropTypes.array,\n datum: PropTypes.any,\n // @ts-expect-error \"Function is not assignable to string\"\n desc: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n direction: PropTypes.oneOf([\"rtl\", \"ltr\", \"inherit\"]),\n dx: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),\n dy: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),\n events: PropTypes.object,\n groupComponent: PropTypes.element,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),\n index: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inline: PropTypes.bool,\n labelPlacement: PropTypes.oneOf([\"parallel\", \"perpendicular\", \"vertical\"]),\n lineHeight: PropTypes.oneOfType([PropTypes.string, CustomPropTypes.nonNegative, PropTypes.func, PropTypes.array]),\n origin: PropTypes.shape({\n x: CustomPropTypes.nonNegative.isRequired,\n y: CustomPropTypes.nonNegative.isRequired\n }),\n polar: PropTypes.bool,\n renderInPortal: PropTypes.bool,\n scale: PropTypes.shape({\n x: CustomPropTypes.scale,\n y: CustomPropTypes.scale\n }),\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func, PropTypes.array]),\n // @ts-expect-error Function is not assignable to string\"\n textAnchor: PropTypes.oneOfType([PropTypes.oneOf([\"start\", \"middle\", \"end\", \"inherit\"]), PropTypes.func]),\n textComponent: PropTypes.element,\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.func]),\n tspanComponent: PropTypes.element,\n // @ts-expect-error Function is not assignable to string\"\n verticalAnchor: PropTypes.oneOfType([PropTypes.oneOf([\"start\", \"middle\", \"end\"]), PropTypes.func]),\n // @ts-expect-error Number is not assignable to string\n x: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n // @ts-expect-error Number is not assignable to string\n y: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n};\nVictoryLabel.defaultProps = {\n backgroundComponent: /*#__PURE__*/React.createElement(Rect, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n direction: \"inherit\",\n textComponent: /*#__PURE__*/React.createElement(Text, null),\n tspanComponent: /*#__PURE__*/React.createElement(TSpan, null),\n capHeight: 0.71,\n // Magic number from d3.\n lineHeight: 1\n};","import React from \"react\";\n\n/**\n * The React context object consumers may use to access the context of the\n * portal.\n */\nexport var PortalContext = /*#__PURE__*/React.createContext({});\nPortalContext.displayName = \"PortalContext\";","import _defaults from \"lodash/defaults\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as Log from \"../victory-util/log\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport { PortalContext } from \"./portal-context\";\nexport var VictoryPortal = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryPortal, _React$Component);\n\n var _super = _createSuper(VictoryPortal);\n\n function VictoryPortal() {\n var _this;\n\n _classCallCheck(this, VictoryPortal);\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 = _super.call.apply(_super, [this].concat(args));\n _this.checkedContext = void 0;\n _this.renderInPlace = void 0;\n _this.element = void 0;\n _this.portalKey = void 0;\n return _this;\n }\n\n _createClass(VictoryPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.checkedContext) {\n if (typeof this.context.portalUpdate !== \"function\") {\n var msg = \"`renderInPortal` is not supported outside of `VictoryContainer`. \" + \"Component will be rendered in place\";\n Log.warn(msg);\n this.renderInPlace = true;\n }\n\n this.checkedContext = true;\n }\n\n this.forceUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (!this.renderInPlace) {\n this.portalKey = this.portalKey || this.context.portalRegister();\n this.context.portalUpdate(this.portalKey, this.element);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.context && this.context.portalDeregister) {\n this.context.portalDeregister(this.portalKey);\n }\n } // Overridden in victory-core-native\n\n }, {\n key: \"renderPortal\",\n value: function renderPortal(child) {\n if (this.renderInPlace) {\n return child;\n }\n\n this.element = child;\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = Array.isArray(this.props.children) ? this.props.children[0] : this.props.children;\n var groupComponent = this.props.groupComponent;\n var childProps = children && children.props || {};\n var standardProps = childProps.groupComponent ? {\n groupComponent: groupComponent,\n standalone: false\n } : {};\n\n var newProps = _defaults(standardProps, childProps, Helpers.omit(this.props, [\"children\", \"groupComponent\"]));\n\n var child = children && /*#__PURE__*/React.cloneElement(children, newProps);\n return this.renderPortal(child);\n }\n }]);\n\n return VictoryPortal;\n}(React.Component);\nVictoryPortal.displayName = \"VictoryPortal\";\nVictoryPortal.role = \"portal\";\nVictoryPortal.propTypes = {\n children: PropTypes.node,\n groupComponent: PropTypes.element\n};\nVictoryPortal.defaultProps = {\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null)\n};\nVictoryPortal.contextType = PortalContext;","var _excluded = [\"desc\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\nexport var Circle = function (props) {\n // eslint-disable-next-line react/prop-types\n var desc = props.desc,\n rest = _objectWithoutProperties(props, _excluded);\n\n return desc ?\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"circle\", _extends({\n vectorEffect: \"non-scaling-stroke\"\n }, rest), /*#__PURE__*/React.createElement(\"desc\", null, desc)) :\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"circle\", _extends({\n vectorEffect: \"non-scaling-stroke\"\n }, rest));\n};","var _excluded = [\"desc\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\nexport var Line = function (props) {\n // eslint-disable-next-line react/prop-types\n var desc = props.desc,\n rest = _objectWithoutProperties(props, _excluded);\n\n return desc ?\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"line\", _extends({\n vectorEffect: \"non-scaling-stroke\"\n }, rest), /*#__PURE__*/React.createElement(\"desc\", null, desc)) :\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"line\", _extends({\n vectorEffect: \"non-scaling-stroke\"\n }, rest));\n};","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport { CommonProps } from \"../victory-util/common-props\";\nimport { Line } from \"./line\";\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `ariaLabel`\n * `desc`\n * `id`\n * `style`\n * `tabIndex`\n */\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var desc = Helpers.evaluateProp(props.desc, props);\n var id = Helpers.evaluateProp(props.id, props);\n var style = Helpers.evaluateStyle(_assign({\n stroke: \"black\"\n }, props.style), props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n desc: desc,\n id: id,\n style: style,\n tabIndex: tabIndex\n });\n};\n\nexport var LineSegment = function (props) {\n props = evaluateProps(props);\n return /*#__PURE__*/React.cloneElement(props.lineComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n \"aria-label\": props.ariaLabel,\n style: props.style,\n desc: props.desc,\n tabIndex: props.tabIndex,\n className: props.className,\n role: props.role,\n shapeRendering: props.shapeRendering,\n x1: props.x1,\n x2: props.x2,\n y1: props.y1,\n y2: props.y2,\n transform: props.transform,\n clipPath: props.clipPath\n }));\n};\nLineSegment.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n datum: PropTypes.any,\n lineComponent: PropTypes.element,\n x1: PropTypes.number,\n x2: PropTypes.number,\n y1: PropTypes.number,\n y2: PropTypes.number\n});\nLineSegment.defaultProps = {\n lineComponent: /*#__PURE__*/React.createElement(Line, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","var _excluded = [\"desc\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\nexport var Path = function (props) {\n // eslint-disable-next-line react/prop-types\n var desc = props.desc,\n rest = _objectWithoutProperties(props, _excluded);\n\n return desc ?\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"path\", rest, /*#__PURE__*/React.createElement(\"desc\", null, desc)) :\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"path\", rest);\n};","import _range from \"lodash/range\";\nexport function circle(x, y, size) {\n return \"M \".concat(x, \", \").concat(y, \"\\n m \").concat(-size, \", 0\\n a \").concat(size, \", \").concat(size, \" 0 1,0 \").concat(size * 2, \",0\\n a \").concat(size, \", \").concat(size, \" 0 1,0 \").concat(-size * 2, \",0\");\n}\nexport function square(x, y, size) {\n var baseSize = 0.87 * size; // eslint-disable-line no-magic-numbers\n\n var x0 = x - baseSize;\n var y1 = y + baseSize;\n var distance = x + baseSize - x0;\n return \"M \".concat(x0, \", \").concat(y1, \"\\n h\").concat(distance, \"\\n v-\").concat(distance, \"\\n h-\").concat(distance, \"\\n z\");\n}\nexport function diamond(x, y, size) {\n var baseSize = 0.87 * size; // eslint-disable-line no-magic-numbers\n\n var length = Math.sqrt(2 * (baseSize * baseSize));\n return \"M \".concat(x, \", \").concat(y + length, \"\\n l \").concat(length, \", -\").concat(length, \"\\n l -\").concat(length, \", -\").concat(length, \"\\n l -\").concat(length, \", \").concat(length, \"\\n l \").concat(length, \", \").concat(length, \"\\n z\");\n}\nexport function triangleDown(x, y, size) {\n var height = size / 2 * Math.sqrt(3);\n var x0 = x - size;\n var x1 = x + size;\n var y0 = y - size;\n var y1 = y + height;\n return \"M \".concat(x0, \", \").concat(y0, \"\\n L \").concat(x1, \", \").concat(y0, \"\\n L \").concat(x, \", \").concat(y1, \"\\n z\");\n}\nexport function triangleUp(x, y, size) {\n var height = size / 2 * Math.sqrt(3);\n var x0 = x - size;\n var x1 = x + size;\n var y0 = y - height;\n var y1 = y + size;\n return \"M \".concat(x0, \", \").concat(y1, \"\\n L \").concat(x1, \", \").concat(y1, \"\\n L \").concat(x, \", \").concat(y0, \"\\n z\");\n}\nexport function plus(x, y, size) {\n var baseSize = 1.1 * size; // eslint-disable-line no-magic-numbers\n\n var distance = baseSize / 1.5; // eslint-disable-line no-magic-numbers\n\n return \"\\n M \".concat(x - distance / 2, \", \").concat(y + baseSize, \"\\n v-\").concat(distance, \"\\n h-\").concat(distance, \"\\n v-\").concat(distance, \"\\n h\").concat(distance, \"\\n v-\").concat(distance, \"\\n h\").concat(distance, \"\\n v\").concat(distance, \"\\n h\").concat(distance, \"\\n v\").concat(distance, \"\\n h-\").concat(distance, \"\\n v\").concat(distance, \"\\n z\");\n}\nexport function cross(x, y, size) {\n var baseSize = 0.8 * size; // eslint-disable-line no-magic-numbers\n\n var distance = baseSize / 1.5; // eslint-disable-line no-magic-numbers\n\n return \"\\n M \".concat(x - distance / 2, \", \").concat(y + baseSize + distance, \"\\n v-\").concat(distance * 2, \"\\n h-\").concat(distance, \"\\n v-\").concat(distance, \"\\n h\").concat(distance, \"\\n v-\").concat(distance, \"\\n h\").concat(distance, \"\\n v\").concat(distance, \"\\n h\").concat(distance, \"\\n v\").concat(distance, \"\\n h-\").concat(distance, \"\\n v\").concat(distance * 2, \"\\n z\");\n}\nexport function minus(x, y, size) {\n var baseSize = 1.1 * size; // eslint-disable-line no-magic-numbers\n\n var lineHeight = baseSize - baseSize * 0.3; // eslint-disable-line no-magic-numbers\n\n var x0 = x - baseSize;\n var y1 = y + lineHeight / 2;\n var distance = x + baseSize - x0;\n return \"M \".concat(x0, \", \").concat(y1, \"\\n h\").concat(distance, \"\\n v-\").concat(lineHeight, \"\\n h-\").concat(distance, \"\\n z\");\n}\nexport function star(x, y, size) {\n var baseSize = 1.35 * size; // eslint-disable-line no-magic-numbers\n\n var angle = Math.PI / 5; // eslint-disable-line no-magic-numbers\n // eslint-disable-next-line no-magic-numbers\n\n var starCoords = _range(10).map(function (index) {\n var length = index % 2 === 0 ? baseSize : baseSize / 2;\n return \"\".concat(length * Math.sin(angle * (index + 1)) + x, \",\\n \").concat(length * Math.cos(angle * (index + 1)) + y);\n });\n\n return \"M \".concat(starCoords.join(\"L\"), \" z\");\n}","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport * as pathHelpers from \"../victory-util/point-path-helpers\";\nimport { CommonProps } from \"../victory-util/common-props\";\nimport * as UserProps from \"../victory-util/user-props\";\nimport { Path } from \"./path\";\n\nvar getPath = function (props) {\n var x = props.x,\n y = props.y,\n size = props.size,\n symbol = props.symbol;\n\n if (props.getPath) {\n return props.getPath(x, y, size);\n }\n\n var pathFunctions = pathHelpers;\n var symbolFunction = typeof pathFunctions[symbol] === \"function\" ? pathFunctions[symbol] : pathFunctions.circle;\n return symbolFunction(x, y, size);\n};\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `ariaLabel`\n * `desc`\n * `id`\n * `size`\n * `style`\n * `symbol`\n * `tabIndex`\n */\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var desc = Helpers.evaluateProp(props.desc, props);\n var id = Helpers.evaluateProp(props.id, props);\n var size = Helpers.evaluateProp(props.size, props);\n var style = Helpers.evaluateStyle(props.style, props);\n var symbol = Helpers.evaluateProp(props.symbol, props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n desc: desc,\n id: id,\n size: size,\n style: style,\n symbol: symbol,\n tabIndex: tabIndex\n });\n};\n\nexport var Point = function (props) {\n props = evaluateProps(props);\n var userProps = UserProps.getSafeUserProps(props);\n return /*#__PURE__*/React.cloneElement(props.pathComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n \"aria-label\": props.ariaLabel,\n d: getPath(props),\n style: props.style,\n desc: props.desc,\n tabIndex: props.tabIndex,\n role: props.role,\n shapeRendering: props.shapeRendering,\n className: props.className,\n transform: props.transform,\n clipPath: props.clipPath\n }, userProps));\n};\nPoint.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n datum: PropTypes.object,\n getPath: PropTypes.func,\n pathComponent: PropTypes.element,\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n symbol: PropTypes.oneOfType([PropTypes.oneOf([\"circle\", \"cross\", \"diamond\", \"plus\", \"minus\", \"square\", \"star\", \"triangleDown\", \"triangleUp\"]), PropTypes.func]),\n x: PropTypes.number,\n y: PropTypes.number\n});\nPoint.defaultProps = {\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","var _excluded = [\"desc\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\nexport var Rect = function (props) {\n // eslint-disable-next-line react/prop-types\n var desc = props.desc,\n rest = _objectWithoutProperties(props, _excluded);\n\n return desc ?\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"rect\", _extends({\n vectorEffect: \"non-scaling-stroke\"\n }, rest), /*#__PURE__*/React.createElement(\"desc\", null, desc)) :\n /*#__PURE__*/\n // @ts-expect-error FIXME: \"id cannot be a number\"\n React.createElement(\"rect\", _extends({\n vectorEffect: \"non-scaling-stroke\"\n }, rest));\n};","import _assign from \"lodash/assign\";\n// *\n// * Colors\n// *\nvar colors = [\"#252525\", \"#525252\", \"#737373\", \"#969696\", \"#bdbdbd\", \"#d9d9d9\", \"#f0f0f0\"];\nvar charcoal = \"#252525\";\nvar grey = \"#969696\"; // *\n// * Typography\n// *\n\nvar sansSerif = \"'Gill Sans', 'Seravek', 'Trebuchet MS', sans-serif\";\nvar letterSpacing = \"normal\";\nvar fontSize = 14; // *\n// * Layout\n// *\n\nvar baseProps = {\n width: 450,\n height: 300,\n padding: 50,\n colorScale: colors\n}; // *\n// * Labels\n// *\n\nvar baseLabelStyles = {\n fontFamily: sansSerif,\n fontSize: fontSize,\n letterSpacing: letterSpacing,\n padding: 10,\n fill: charcoal,\n stroke: \"transparent\"\n};\n\nvar centeredLabelStyles = _assign({\n textAnchor: \"middle\"\n}, baseLabelStyles); // *\n// * Strokes\n// *\n\n\nvar strokeLinecap = \"round\";\nvar strokeLinejoin = \"round\";\nexport var grayscale = {\n area: _assign({\n style: {\n data: {\n fill: charcoal\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n axis: _assign({\n style: {\n axis: {\n fill: \"transparent\",\n stroke: charcoal,\n strokeWidth: 1,\n strokeLinecap: strokeLinecap,\n strokeLinejoin: strokeLinejoin\n },\n axisLabel: _assign({}, centeredLabelStyles, {\n padding: 25\n }),\n grid: {\n fill: \"none\",\n stroke: \"none\",\n pointerEvents: \"painted\"\n },\n ticks: {\n fill: \"transparent\",\n size: 1,\n stroke: \"transparent\"\n },\n tickLabels: baseLabelStyles\n }\n }, baseProps),\n bar: _assign({\n style: {\n data: {\n fill: charcoal,\n padding: 8,\n strokeWidth: 0\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n boxplot: _assign({\n style: {\n max: {\n padding: 8,\n stroke: charcoal,\n strokeWidth: 1\n },\n maxLabels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n median: {\n padding: 8,\n stroke: charcoal,\n strokeWidth: 1\n },\n medianLabels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n min: {\n padding: 8,\n stroke: charcoal,\n strokeWidth: 1\n },\n minLabels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n q1: {\n padding: 8,\n fill: grey\n },\n q1Labels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n q3: {\n padding: 8,\n fill: grey\n },\n q3Labels: _assign({}, baseLabelStyles, {\n padding: 3\n })\n },\n boxWidth: 20\n }, baseProps),\n candlestick: _assign({\n style: {\n data: {\n stroke: charcoal,\n strokeWidth: 1\n },\n labels: _assign({}, baseLabelStyles, {\n padding: 5\n })\n },\n candleColors: {\n positive: \"#ffffff\",\n negative: charcoal\n }\n }, baseProps),\n chart: baseProps,\n errorbar: _assign({\n borderWidth: 8,\n style: {\n data: {\n fill: \"transparent\",\n stroke: charcoal,\n strokeWidth: 2\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n group: _assign({\n colorScale: colors\n }, baseProps),\n histogram: _assign({\n style: {\n data: {\n fill: grey,\n stroke: charcoal,\n strokeWidth: 2\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n legend: {\n colorScale: colors,\n gutter: 10,\n orientation: \"vertical\",\n titleOrientation: \"top\",\n style: {\n data: {\n type: \"circle\"\n },\n labels: baseLabelStyles,\n title: _assign({}, baseLabelStyles, {\n padding: 5\n })\n }\n },\n line: _assign({\n style: {\n data: {\n fill: \"transparent\",\n stroke: charcoal,\n strokeWidth: 2\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n pie: {\n style: {\n data: {\n padding: 10,\n stroke: \"transparent\",\n strokeWidth: 1\n },\n labels: _assign({}, baseLabelStyles, {\n padding: 20\n })\n },\n colorScale: colors,\n width: 400,\n height: 400,\n padding: 50\n },\n scatter: _assign({\n style: {\n data: {\n fill: charcoal,\n stroke: \"transparent\",\n strokeWidth: 0\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n stack: _assign({\n colorScale: colors\n }, baseProps),\n tooltip: {\n style: _assign({}, baseLabelStyles, {\n padding: 0,\n pointerEvents: \"none\"\n }),\n flyoutStyle: {\n stroke: charcoal,\n strokeWidth: 1,\n fill: \"#f0f0f0\",\n pointerEvents: \"none\"\n },\n flyoutPadding: 5,\n cornerRadius: 5,\n pointerLength: 10\n },\n voronoi: _assign({\n style: {\n data: {\n fill: \"transparent\",\n stroke: \"transparent\",\n strokeWidth: 0\n },\n labels: _assign({}, baseLabelStyles, {\n padding: 5,\n pointerEvents: \"none\"\n }),\n flyout: {\n stroke: charcoal,\n strokeWidth: 1,\n fill: \"#f0f0f0\",\n pointerEvents: \"none\"\n }\n }\n }, baseProps)\n};","import _assign from \"lodash/assign\";\n// *\n// * Colors\n// *\nvar yellow200 = \"#FFF59D\";\nvar deepOrange600 = \"#F4511E\";\nvar lime300 = \"#DCE775\";\nvar lightGreen500 = \"#8BC34A\";\nvar teal700 = \"#00796B\";\nvar cyan900 = \"#006064\";\nvar colors = [deepOrange600, yellow200, lime300, lightGreen500, teal700, cyan900];\nvar blueGrey50 = \"#ECEFF1\";\nvar blueGrey300 = \"#90A4AE\";\nvar blueGrey700 = \"#455A64\";\nvar grey900 = \"#212121\"; // *\n// * Typography\n// *\n\nvar sansSerif = \"'Helvetica Neue', 'Helvetica', sans-serif\";\nvar letterSpacing = \"normal\";\nvar fontSize = 12; // *\n// * Layout\n// *\n\nvar padding = 8;\nvar baseProps = {\n width: 350,\n height: 350,\n padding: 50\n}; // *\n// * Labels\n// *\n\nvar baseLabelStyles = {\n fontFamily: sansSerif,\n fontSize: fontSize,\n letterSpacing: letterSpacing,\n padding: padding,\n fill: blueGrey700,\n stroke: \"transparent\",\n strokeWidth: 0\n};\n\nvar centeredLabelStyles = _assign({\n textAnchor: \"middle\"\n}, baseLabelStyles); // *\n// * Strokes\n// *\n\n\nvar strokeDasharray = \"10, 5\";\nvar strokeLinecap = \"round\";\nvar strokeLinejoin = \"round\";\nexport var material = {\n area: _assign({\n style: {\n data: {\n fill: grey900\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n axis: _assign({\n style: {\n axis: {\n fill: \"transparent\",\n stroke: blueGrey300,\n strokeWidth: 2,\n strokeLinecap: strokeLinecap,\n strokeLinejoin: strokeLinejoin\n },\n axisLabel: _assign({}, centeredLabelStyles, {\n padding: padding,\n stroke: \"transparent\"\n }),\n grid: {\n fill: \"none\",\n stroke: blueGrey50,\n strokeDasharray: strokeDasharray,\n strokeLinecap: strokeLinecap,\n strokeLinejoin: strokeLinejoin,\n pointerEvents: \"painted\"\n },\n ticks: {\n fill: \"transparent\",\n size: 5,\n stroke: blueGrey300,\n strokeWidth: 1,\n strokeLinecap: strokeLinecap,\n strokeLinejoin: strokeLinejoin\n },\n tickLabels: _assign({}, baseLabelStyles, {\n fill: blueGrey700\n })\n }\n }, baseProps),\n polarDependentAxis: _assign({\n style: {\n ticks: {\n fill: \"transparent\",\n size: 1,\n stroke: \"transparent\"\n }\n }\n }),\n bar: _assign({\n style: {\n data: {\n fill: blueGrey700,\n padding: padding,\n strokeWidth: 0\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n boxplot: _assign({\n style: {\n max: {\n padding: padding,\n stroke: blueGrey700,\n strokeWidth: 1\n },\n maxLabels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n median: {\n padding: padding,\n stroke: blueGrey700,\n strokeWidth: 1\n },\n medianLabels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n min: {\n padding: padding,\n stroke: blueGrey700,\n strokeWidth: 1\n },\n minLabels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n q1: {\n padding: padding,\n fill: blueGrey700\n },\n q1Labels: _assign({}, baseLabelStyles, {\n padding: 3\n }),\n q3: {\n padding: padding,\n fill: blueGrey700\n },\n q3Labels: _assign({}, baseLabelStyles, {\n padding: 3\n })\n },\n boxWidth: 20\n }, baseProps),\n candlestick: _assign({\n style: {\n data: {\n stroke: blueGrey700\n },\n labels: _assign({}, baseLabelStyles, {\n padding: 5\n })\n },\n candleColors: {\n positive: \"#ffffff\",\n negative: blueGrey700\n }\n }, baseProps),\n chart: baseProps,\n errorbar: _assign({\n borderWidth: 8,\n style: {\n data: {\n fill: \"transparent\",\n opacity: 1,\n stroke: blueGrey700,\n strokeWidth: 2\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n group: _assign({\n colorScale: colors\n }, baseProps),\n histogram: _assign({\n style: {\n data: {\n fill: blueGrey700,\n stroke: grey900,\n strokeWidth: 2\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n legend: {\n colorScale: colors,\n gutter: 10,\n orientation: \"vertical\",\n titleOrientation: \"top\",\n style: {\n data: {\n type: \"circle\"\n },\n labels: baseLabelStyles,\n title: _assign({}, baseLabelStyles, {\n padding: 5\n })\n }\n },\n line: _assign({\n style: {\n data: {\n fill: \"transparent\",\n opacity: 1,\n stroke: blueGrey700,\n strokeWidth: 2\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n pie: _assign({\n colorScale: colors,\n style: {\n data: {\n padding: padding,\n stroke: blueGrey50,\n strokeWidth: 1\n },\n labels: _assign({}, baseLabelStyles, {\n padding: 20\n })\n }\n }, baseProps),\n scatter: _assign({\n style: {\n data: {\n fill: blueGrey700,\n opacity: 1,\n stroke: \"transparent\",\n strokeWidth: 0\n },\n labels: baseLabelStyles\n }\n }, baseProps),\n stack: _assign({\n colorScale: colors\n }, baseProps),\n tooltip: {\n style: _assign({}, baseLabelStyles, {\n padding: 0,\n pointerEvents: \"none\"\n }),\n flyoutStyle: {\n stroke: grey900,\n strokeWidth: 1,\n fill: \"#f0f0f0\",\n pointerEvents: \"none\"\n },\n flyoutPadding: 5,\n cornerRadius: 5,\n pointerLength: 10\n },\n voronoi: _assign({\n style: {\n data: {\n fill: \"transparent\",\n stroke: \"transparent\",\n strokeWidth: 0\n },\n labels: _assign({}, baseLabelStyles, {\n padding: 5,\n pointerEvents: \"none\"\n }),\n flyout: {\n stroke: grey900,\n strokeWidth: 1,\n fill: \"#f0f0f0\",\n pointerEvents: \"none\"\n }\n }\n }, baseProps)\n};","import { grayscale } from \"./grayscale\";\nimport { material } from \"./material\";\nexport * from \"./types\";\nexport var VictoryTheme = {\n grayscale: grayscale,\n material: material\n};","import _pick from \"lodash/pick\";\nimport _isFunction from \"lodash/isFunction\";\nimport _defaults from \"lodash/defaults\";\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { VictoryAnimation } from \"../victory-animation/victory-animation\";\nimport * as Collection from \"../victory-util/collection\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport TimerContext from \"../victory-util/timer-context\";\nimport * as Transitions from \"../victory-util/transitions\";\nimport isEqual from \"react-fast-compare\";\nexport var VictoryTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryTransition, _React$Component);\n\n var _super = _createSuper(VictoryTransition);\n\n function VictoryTransition(props, context) {\n var _this;\n\n _classCallCheck(this, VictoryTransition);\n\n _this = _super.call(this, props, context);\n _this.continuous = void 0;\n _this.timer = void 0;\n _this.transitionProps = void 0;\n _this.state = {\n nodesShouldLoad: false,\n nodesDoneLoad: false\n };\n var child = _this.props.children;\n var polar = child.props.polar;\n _this.continuous = !polar && child.type && child.type.continuous === true;\n _this.timer = _this.context.transitionTimer;\n return _this;\n }\n\n _createClass(VictoryTransition, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n nodesShouldLoad: true\n }); // eslint-disable-line react/no-did-mount-set-state\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var _this2 = this;\n\n if (!isEqual(this.props, nextProps)) {\n this.timer.bypassAnimation();\n this.setState(this.getTransitionState(this.props, nextProps), function () {\n return _this2.timer.resumeAnimation();\n });\n }\n\n return true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.timer.stop();\n }\n }, {\n key: \"getTransitionState\",\n value: function getTransitionState(props, nextProps) {\n var animate = props.animate;\n\n if (!animate) {\n return {};\n } else if (animate.parentState) {\n var state = animate.parentState;\n var oldProps = state.nodesWillExit ? props : null;\n return {\n oldProps: oldProps,\n nextProps: nextProps\n };\n }\n\n var oldChildren = React.Children.toArray(props.children);\n var nextChildren = React.Children.toArray(nextProps.children);\n\n var _Transitions$getIniti = Transitions.getInitialTransitionState(oldChildren, nextChildren),\n nodesWillExit = _Transitions$getIniti.nodesWillExit,\n nodesWillEnter = _Transitions$getIniti.nodesWillEnter,\n childrenTransitions = _Transitions$getIniti.childrenTransitions,\n nodesShouldEnter = _Transitions$getIniti.nodesShouldEnter;\n\n return {\n nodesWillExit: nodesWillExit,\n nodesWillEnter: nodesWillEnter,\n childrenTransitions: childrenTransitions,\n nodesShouldEnter: nodesShouldEnter,\n oldProps: nodesWillExit ? props : null,\n nextProps: nextProps\n };\n }\n }, {\n key: \"getDomainFromChildren\",\n value: function getDomainFromChildren(props, axis) {\n var getChildDomains = function (children) {\n return children.reduce(function (memo, child) {\n if (child.type && _isFunction(child.type.getDomain)) {\n var childDomain = child.props && child.type.getDomain(child.props, axis);\n return childDomain ? memo.concat(childDomain) : memo;\n } else if (child.props && child.props.children) {\n return memo.concat(getChildDomains(React.Children.toArray(child.props.children)));\n }\n\n return memo;\n }, []);\n };\n\n var child = React.Children.toArray(props.children)[0];\n var childProps = child.props || {};\n var domain = Array.isArray(childProps.domain) ? childProps.domain : childProps.domain && childProps.domain[axis];\n\n if (!childProps.children && domain) {\n return domain;\n }\n\n var childDomains = getChildDomains([child]);\n return childDomains.length === 0 ? [0, 1] : [Collection.getMinValue(childDomains), Collection.getMaxValue(childDomains)];\n }\n }, {\n key: \"pickProps\",\n value: function pickProps() {\n if (!this.state) {\n return this.props;\n }\n\n return this.state.nodesWillExit ? this.state.oldProps || this.props : this.props;\n }\n }, {\n key: \"pickDomainProps\",\n value: function pickDomainProps(props) {\n var _props$animate;\n\n var parentState = (_props$animate = props.animate) === null || _props$animate === void 0 ? void 0 : _props$animate.parentState;\n\n if (parentState && parentState.nodesWillExit) {\n return this.continuous || parentState.continuous ? parentState.nextProps || this.state.nextProps || props : props;\n }\n\n return this.continuous && this.state.nodesWillExit ? this.state.nextProps || props : props;\n }\n }, {\n key: \"getClipWidth\",\n value: function getClipWidth(props, child) {\n var getDefaultClipWidth = function () {\n var range = Helpers.getRange(child.props, \"x\");\n return range ? Math.abs(range[1] - range[0]) : props.width;\n };\n\n var clipWidth = this.transitionProps ? this.transitionProps.clipWidth : undefined;\n return clipWidth !== undefined ? clipWidth : getDefaultClipWidth();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props$animate,\n _this3 = this;\n\n var props = this.pickProps();\n var getTransitionProps = (_this$props$animate = this.props.animate) !== null && _this$props$animate !== void 0 && _this$props$animate.getTransitions ? this.props.animate.getTransitions : Transitions.getTransitionPropsFactory(props, this.state, function (newState) {\n return _this3.setState(newState);\n });\n var child = React.Children.toArray(props.children)[0];\n var transitionProps = getTransitionProps(child);\n this.transitionProps = transitionProps;\n var domain = {\n x: this.getDomainFromChildren(this.pickDomainProps(props), \"x\"),\n y: this.getDomainFromChildren(props, \"y\")\n };\n var clipWidth = this.getClipWidth(props, child);\n\n var combinedProps = _defaults({\n domain: domain,\n clipWidth: clipWidth\n }, transitionProps, child.props);\n\n var animationWhitelist = props.animationWhitelist || [];\n var whitelist = animationWhitelist.concat([\"clipWidth\"]);\n var propsToAnimate = whitelist.length ? _pick(combinedProps, whitelist) : combinedProps;\n return /*#__PURE__*/React.createElement(VictoryAnimation, _extends({}, combinedProps.animate, {\n data: propsToAnimate\n }), function (newProps) {\n if (child.props.groupComponent) {\n var groupComponent = _this3.continuous ? /*#__PURE__*/React.cloneElement(child.props.groupComponent, {\n clipWidth: newProps.clipWidth || 0\n }) : child.props.groupComponent;\n return /*#__PURE__*/React.cloneElement(child, _defaults({\n animate: null,\n animating: true,\n groupComponent: groupComponent\n }, newProps, combinedProps));\n }\n\n return /*#__PURE__*/React.cloneElement(child, _defaults({\n animate: null,\n animating: true\n }, newProps, combinedProps));\n });\n }\n }]);\n\n return VictoryTransition;\n}(React.Component);\nVictoryTransition.displayName = \"VictoryTransition\";\nVictoryTransition.propTypes = {\n animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n animationWhitelist: PropTypes.array,\n children: PropTypes.node\n};\nVictoryTransition.contextType = TimerContext;","import _without from \"lodash/without\";\nimport _pick from \"lodash/pick\";\nimport _keys from \"lodash/keys\";\nimport _isNil from \"lodash/isNil\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _difference from \"lodash/difference\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport * as Events from \"./events\";\nimport isEqual from \"react-fast-compare\";\nimport { VictoryTransition } from \"../victory-transition/victory-transition\";\n\n// DISCLAIMER:\n// This file is not currently tested, and it is first on the list of files\n// to refactor in our current refactoring effort. Please do not make changes\n// to this file without manual testing and/or refactoring and adding tests.\nvar datumHasXandY = function (datum) {\n return !_isNil(datum._x) && !_isNil(datum._y);\n}; // used for checking state changes. Expected components can be passed in via options\n\n\nvar defaultComponents = [{\n name: \"parent\",\n index: \"parent\"\n}, {\n name: \"data\"\n}, {\n name: \"labels\"\n}];\nexport function addEvents(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // @ts-expect-error \"TS2545: A mixin class must have a constructor with a single rest parameter of type 'any[]'.\"\n var AddEventsMixin = /*#__PURE__*/function (_WrappedComponent) {\n _inherits(AddEventsMixin, _WrappedComponent);\n\n var _super = _createSuper(AddEventsMixin);\n\n function AddEventsMixin(props) {\n var _this;\n\n _classCallCheck(this, AddEventsMixin);\n\n _this = _super.call(this, props);\n _this.state = {};\n _this.getEventState = Events.getEventState.bind(_assertThisInitialized(_this));\n _this.getScopedEvents = Events.getScopedEvents.bind(_assertThisInitialized(_this));\n\n _this.getEvents = function (p, target, eventKey) {\n return Events.getEvents.call(_assertThisInitialized(_this), p, target, eventKey, _this.getScopedEvents);\n };\n\n _this.externalMutations = _this.getExternalMutations(_this.props);\n _this.calculatedState = _this.getStateChanges(_this.props);\n _this.globalEvents = {};\n _this.prevGlobalEventKeys = [];\n _this.boundGlobalEvents = {};\n\n _this.cacheValues(_this.getCalculatedValues(props));\n\n return _this;\n }\n\n _createClass(AddEventsMixin, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var externalMutations = this.getExternalMutations(nextProps); // @ts-expect-error \"Property 'animating' does not exist on type EventMixinCommonProps\"\n\n var animating = this.props.animating || this.props.animate;\n var newMutation = !isEqual(externalMutations, this.externalMutations);\n\n if (animating || newMutation) {\n this.cacheValues(this.getCalculatedValues(nextProps));\n this.externalMutations = externalMutations;\n this.applyExternalMutations(nextProps, externalMutations);\n return true;\n }\n\n var calculatedState = this.getStateChanges(nextProps);\n\n if (!isEqual(this.calculatedState, calculatedState)) {\n this.cacheValues(this.getCalculatedValues(nextProps));\n return true;\n }\n\n if (!isEqual(this.props, nextProps)) {\n this.cacheValues(this.getCalculatedValues(nextProps));\n return true;\n }\n\n return false;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var globalEventKeys = _keys(this.globalEvents);\n\n globalEventKeys.forEach(function (key) {\n return _this2.addGlobalListener(key);\n });\n this.prevGlobalEventKeys = globalEventKeys;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this3 = this;\n\n var calculatedState = this.getStateChanges(prevProps);\n this.calculatedState = calculatedState;\n\n var globalEventKeys = _keys(this.globalEvents);\n\n var removedGlobalEventKeys = _difference(this.prevGlobalEventKeys, globalEventKeys);\n\n removedGlobalEventKeys.forEach(function (key) {\n return _this3.removeGlobalListener(key);\n });\n\n var addedGlobalEventKeys = _difference(globalEventKeys, this.prevGlobalEventKeys);\n\n addedGlobalEventKeys.forEach(function (key) {\n return _this3.addGlobalListener(key);\n });\n this.prevGlobalEventKeys = globalEventKeys;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this4 = this;\n\n this.prevGlobalEventKeys.forEach(function (key) {\n return _this4.removeGlobalListener(key);\n });\n }\n }, {\n key: \"addGlobalListener\",\n value: function addGlobalListener(key) {\n var _this5 = this;\n\n var boundListener = function (event) {\n var listener = _this5.globalEvents[key];\n return listener && listener(Events.emulateReactEvent(event));\n };\n\n this.boundGlobalEvents[key] = boundListener;\n window.addEventListener(Events.getGlobalEventNameFromKey(key), boundListener);\n }\n }, {\n key: \"removeGlobalListener\",\n value: function removeGlobalListener(key) {\n window.removeEventListener(Events.getGlobalEventNameFromKey(key), this.boundGlobalEvents[key]);\n } // compile all state changes from own and parent state. Order doesn't matter, as any state\n // state change should trigger a re-render\n\n }, {\n key: \"getStateChanges\",\n value: function getStateChanges(props) {\n var _this6 = this;\n\n if (!this.hasEvents) {\n return {};\n }\n\n var getState = function (key, type) {\n var result = _defaults({}, _this6.getEventState(key, type), _this6.getSharedEventState(key, type));\n\n return _isEmpty(result) ? undefined : result;\n };\n\n var components = options.components || defaultComponents;\n var stateChanges = components.map(function (component) {\n if (!props.standalone && component.name === \"parent\") {\n // don't check for changes on parent props for non-standalone components\n return undefined;\n }\n\n return component.index !== undefined ? getState(component.index, component.name) : _this6.dataKeys.map(function (key) {\n return getState(key, component.name);\n }).filter(Boolean);\n }).filter(Boolean);\n return stateChanges;\n }\n }, {\n key: \"applyExternalMutations\",\n value: function applyExternalMutations(props, externalMutations) {\n if (!_isEmpty(externalMutations)) {\n var callbacks = props.externalEventMutations.reduce(function (memo, mutation) {\n memo = _isFunction(mutation.callback) ? memo.concat(mutation.callback) : memo;\n return memo;\n }, []);\n var compiledCallbacks = callbacks.length ? function () {\n callbacks.forEach(function (c) {\n return c();\n });\n } : undefined;\n this.setState(externalMutations, compiledCallbacks);\n }\n }\n }, {\n key: \"getCalculatedValues\",\n value: function getCalculatedValues(props) {\n var sharedEvents = props.sharedEvents;\n var components = WrappedComponent.expectedComponents;\n var componentEvents = Events.getComponentEvents(props, components);\n var getSharedEventState = sharedEvents && _isFunction(sharedEvents.getEventState) ? sharedEvents.getEventState : function () {\n return undefined;\n };\n var baseProps = this.getBaseProps(props, getSharedEventState);\n\n var dataKeys = _keys(baseProps).filter(function (key) {\n return key !== \"parent\";\n });\n\n var hasEvents = props.events || props.sharedEvents || componentEvents;\n var events = this.getAllEvents(props);\n return {\n componentEvents: componentEvents,\n getSharedEventState: getSharedEventState,\n baseProps: baseProps,\n dataKeys: dataKeys,\n hasEvents: hasEvents,\n events: events\n };\n }\n }, {\n key: \"getExternalMutations\",\n value: function getExternalMutations(props) {\n var sharedEvents = props.sharedEvents,\n externalEventMutations = props.externalEventMutations;\n return _isEmpty(externalEventMutations) || sharedEvents ? undefined : Events.getExternalMutations(externalEventMutations, this.baseProps, this.state);\n }\n }, {\n key: \"cacheValues\",\n value: function cacheValues(obj) {\n var _this7 = this;\n\n _keys(obj).forEach(function (key) {\n _this7[key] = obj[key];\n });\n }\n }, {\n key: \"getBaseProps\",\n value: function getBaseProps(props, getSharedEventState) {\n getSharedEventState = getSharedEventState || this.getSharedEventState.bind(this);\n var sharedParentState = getSharedEventState(\"parent\", \"parent\");\n var parentState = this.getEventState(\"parent\", \"parent\");\n\n var baseParentProps = _defaults({}, parentState, sharedParentState);\n\n var parentPropsList = baseParentProps.parentControlledProps;\n var parentProps = parentPropsList ? _pick(baseParentProps, parentPropsList) : {};\n\n var modifiedProps = _defaults({}, parentProps, props);\n\n return typeof WrappedComponent.getBaseProps === \"function\" ? WrappedComponent.getBaseProps(modifiedProps) : {};\n }\n }, {\n key: \"getAllEvents\",\n value: function getAllEvents(props) {\n if (Array.isArray(this.componentEvents)) {\n var _this$componentEvents;\n\n return Array.isArray(props.events) ? (_this$componentEvents = this.componentEvents).concat.apply(_this$componentEvents, _toConsumableArray(props.events)) : this.componentEvents;\n }\n\n return props.events;\n }\n }, {\n key: \"getComponentProps\",\n value: function getComponentProps(component, type, index) {\n var name = this.props.name || WrappedComponent.role;\n var key = this.dataKeys && this.dataKeys[index] || index;\n var id = \"\".concat(name, \"-\").concat(type, \"-\").concat(key);\n var baseProps = this.baseProps[key] && this.baseProps[key][type] || this.baseProps[key];\n\n if (!baseProps && !this.hasEvents) {\n return undefined;\n }\n\n if (this.hasEvents) {\n var baseEvents = this.getEvents(this.props, type, key);\n\n var componentProps = _defaults({\n index: index,\n key: id\n }, this.getEventState(key, type), this.getSharedEventState(key, type), component.props, baseProps, {\n id: id\n });\n\n var events = _defaults({}, Events.getPartialEvents(baseEvents, key, componentProps), componentProps.events);\n\n return _assign({}, componentProps, {\n events: events\n });\n }\n\n return _defaults({\n index: index,\n key: id\n }, component.props, baseProps, {\n id: id\n });\n }\n }, {\n key: \"renderContainer\",\n value: function renderContainer(component, children) {\n var isContainer = component.type && component.type.role === \"container\";\n var parentProps = isContainer ? this.getComponentProps(component, \"parent\", \"parent\") : {};\n\n if (parentProps.events) {\n this.globalEvents = Events.getGlobalEvents(parentProps.events);\n parentProps.events = Events.omitGlobalEvents(parentProps.events);\n }\n\n return /*#__PURE__*/React.cloneElement(component, parentProps, children);\n }\n }, {\n key: \"animateComponent\",\n value: function animateComponent(props, defaultAnimationWhitelist) {\n var _props$animate;\n\n var animationWhitelist = typeof props.animate === \"object\" && ((_props$animate = props.animate) === null || _props$animate === void 0 ? void 0 : _props$animate.animationWhitelist) || defaultAnimationWhitelist;\n var Comp = this.constructor;\n return /*#__PURE__*/React.createElement(VictoryTransition, {\n animate: props.animate,\n animationWhitelist: animationWhitelist\n }, /*#__PURE__*/React.createElement(Comp, props));\n } // Used by `VictoryLine` and `VictoryArea`\n\n }, {\n key: \"renderContinuousData\",\n value: function renderContinuousData(props) {\n var _this8 = this;\n\n var dataComponent = props.dataComponent,\n labelComponent = props.labelComponent,\n groupComponent = props.groupComponent;\n\n var dataKeys = _without(this.dataKeys, \"all\");\n\n var labelComponents = dataKeys.reduce(function (memo, key) {\n var labelProps = _this8.getComponentProps(labelComponent, \"labels\", key);\n\n if (labelProps && labelProps.text !== undefined && labelProps.text !== null) {\n memo = memo.concat( /*#__PURE__*/React.cloneElement(labelComponent, labelProps));\n }\n\n return memo;\n }, []);\n var dataProps = this.getComponentProps(dataComponent, \"data\", \"all\");\n var children = [/*#__PURE__*/React.cloneElement(dataComponent, dataProps)].concat(_toConsumableArray(labelComponents));\n return this.renderContainer(groupComponent, children);\n }\n }, {\n key: \"renderData\",\n value: function renderData(props) {\n var _this9 = this;\n\n var shouldRenderDatum = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : datumHasXandY;\n var dataComponent = props.dataComponent,\n labelComponent = props.labelComponent,\n groupComponent = props.groupComponent;\n var dataComponents = this.dataKeys.reduce(function (validDataComponents, _dataKey, index) {\n var dataProps = _this9.getComponentProps(dataComponent, \"data\", index);\n\n if (shouldRenderDatum(dataProps.datum)) {\n validDataComponents.push( /*#__PURE__*/React.cloneElement(dataComponent, dataProps));\n }\n\n return validDataComponents;\n }, []);\n var labelComponents = this.dataKeys.map(function (_dataKey, index) {\n var labelProps = _this9.getComponentProps(labelComponent, \"labels\", index);\n\n if (labelProps.text !== undefined && labelProps.text !== null) {\n return /*#__PURE__*/React.cloneElement(labelComponent, labelProps);\n }\n\n return undefined;\n }).filter(Boolean);\n var children = [].concat(_toConsumableArray(dataComponents), _toConsumableArray(labelComponents));\n return this.renderContainer(groupComponent, children);\n }\n }]);\n\n return AddEventsMixin;\n }(WrappedComponent);\n\n return AddEventsMixin;\n}","import _without from \"lodash/without\";\nimport _includes from \"lodash/includes\";\nimport _values from \"lodash/values\";\nimport _orderBy from \"lodash/orderBy\";\nimport _range from \"lodash/range\";\nimport _uniq from \"lodash/uniq\";\nimport _invert from \"lodash/invert\";\nimport _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _identity from \"lodash/identity\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport React from \"react\";\nimport * as Collection from \"./collection\";\nimport * as Domain from \"./domain\";\nimport * as Helpers from \"./helpers\";\n\n/**\n * Returns the axis (x or y) of a particular axis component\n * @param {Object} props: the props object.\n * @param {Boolean} horizontal: true for horizontal charts\n * @returns {String} the dimension appropriate for the axis given its props\n */\nexport function getAxis(props) {\n var dependentAxis = props.dependentAxis;\n return dependentAxis ? \"y\" : \"x\";\n}\n/**\n * Returns all axis components that pass a given predicate\n * @param {Array} childComponents: an array of children\n * @param {Function} predicate: a predicate function that will be called with each\n * @returns {Array} all axis components that pass the given predicate or []\n */\n\nexport function findAxisComponents(childComponents, predicate) {\n predicate = predicate || _identity;\n\n var findAxes = function (children) {\n return children.reduce(function (memo, child) {\n if (child.type && child.type.role === \"axis\" && predicate(child)) {\n return memo.concat(child);\n } else if (child.props && child.props.children) {\n return memo.concat(findAxes(React.Children.toArray(child.props.children)));\n }\n\n return memo;\n }, []);\n };\n\n return findAxes(childComponents);\n}\n/**\n * Returns a single axis component of the desired axis type (x or y)\n * @param {Array} childComponents: an array of children\n * @param {String} axis: desired axis either \"x\" or \"y\".\n * @returns {ReactComponent} an axis component of the desired axis or undefined\n */\n\nexport function getAxisComponent(childComponents, axis) {\n var matchesAxis = function (component) {\n var type = component.type.getAxis(component.props);\n return type === axis;\n };\n\n return findAxisComponents(childComponents, matchesAxis)[0];\n}\n/**\n * Returns all axis components of the desired axis type (x or y) along with any\n * parent components excluding VictoryChart\n * @param {Array} childComponents: an optional array of children.\n * @param {String} type: desired axis either \"dependent\" or \"independent\".\n * @returns {ReactComponent} an axis component of the desired type or undefined\n */\n\nexport function getAxisComponentsWithParent(childComponents, type) {\n var matchesType = function (child) {\n return type === \"dependent\" ? child.props.dependentAxis : !child.props.dependentAxis;\n };\n\n var findComponents = function (children) {\n return children.reduce(function (memo, child) {\n if (child.type && child.type.role === \"axis\" && matchesType(child)) {\n return memo.concat(child);\n } else if (child.props && child.props.children) {\n var childAxis = findComponents(React.Children.toArray(child.props.children));\n return childAxis.length > 0 ? memo.concat(child) : memo;\n }\n\n return memo;\n }, []);\n };\n\n return findComponents(childComponents);\n}\nexport function getOrigin(domain) {\n var getSingleOrigin = function (d) {\n var domainMin = Math.min.apply(Math, _toConsumableArray(d));\n var domainMax = Math.max.apply(Math, _toConsumableArray(d));\n return domainMax < 0 ? domainMax : Math.max(0, domainMin);\n };\n\n return {\n x: Collection.containsDates(domain.x) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.x))) : getSingleOrigin(domain.x),\n y: Collection.containsDates(domain.y) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.y))) : getSingleOrigin(domain.y)\n };\n}\nexport function getOriginSign(origin, domain) {\n var getSign = function () {\n return origin <= 0 && Math.max.apply(Math, _toConsumableArray(domain)) <= 0 ? \"negative\" : \"positive\";\n };\n\n return Collection.containsDates(domain) ? \"positive\" : getSign();\n}\n/**\n * @param {Object} props: axis component props\n * @returns {Boolean} true when the axis is vertical\n */\n\nexport function isVertical(props) {\n var orientation = props.orientation || (props.dependentAxis ? \"left\" : \"bottom\");\n var vertical = {\n top: false,\n bottom: false,\n left: true,\n right: true\n };\n return vertical[orientation];\n}\n/**\n * @param {Object} props: axis component props\n * @returns {Boolean} true when tickValues contain strings\n */\n\nexport function stringTicks(props) {\n return props.tickValues !== undefined && Collection.containsStrings(props.tickValues);\n}\n\nfunction getDefaultTickFormat(props) {\n var tickValues = props.tickValues;\n var axis = getAxis(props);\n var stringMap = props.stringMap && props.stringMap[axis];\n var fallbackFormat = tickValues && !Collection.containsDates(tickValues) ? function (x) {\n return x;\n } : undefined;\n\n if (!stringMap) {\n return stringTicks(props) ? function (x, index) {\n return tickValues[index];\n } : fallbackFormat;\n }\n\n var invertedStringMap = stringMap && _invert(stringMap);\n\n var tickValueArray = _orderBy(_values(stringMap), function (n) {\n return n;\n });\n\n var dataNames = tickValueArray.map(function (tick) {\n return invertedStringMap[tick];\n }); // string ticks should have one tick of padding at the beginning\n\n var dataTicks = [\"\"].concat(_toConsumableArray(dataNames), [\"\"]);\n return function (x) {\n return dataTicks[x];\n };\n}\n\nfunction getStringTicks(props) {\n var axis = getAxis(props);\n var stringMap = props.stringMap && props.stringMap[axis];\n var categories = Array.isArray(props.categories) ? props.categories : props.categories && props.categories[axis];\n var ticksFromCategories = categories && Collection.containsOnlyStrings(categories) ? categories.map(function (tick) {\n return stringMap[tick];\n }) : undefined;\n\n var ticksFromStringMap = stringMap && _values(stringMap);\n\n return ticksFromCategories && ticksFromCategories.length !== 0 ? ticksFromCategories : ticksFromStringMap;\n}\n\nfunction getTickArray(props) {\n var tickValues = props.tickValues,\n tickFormat = props.tickFormat;\n var axis = getAxis(props);\n var stringMap = props.stringMap && props.stringMap[axis];\n\n var getTicksFromFormat = function () {\n if (!tickFormat || !Array.isArray(tickFormat)) {\n return undefined;\n }\n\n return Collection.containsStrings(tickFormat) ? tickFormat.map(function (t, i) {\n return i;\n }) : tickFormat;\n };\n\n var ticks = tickValues;\n\n if (stringMap) {\n ticks = getStringTicks(props);\n }\n\n if (tickValues && Collection.containsStrings(tickValues)) {\n ticks = stringMap ? tickValues.map(function (tick) {\n return stringMap[tick];\n }) : _range(1, tickValues.length + 1);\n }\n\n var tickArray = ticks ? _uniq(ticks) : getTicksFromFormat();\n\n var buildTickArray = function (arr) {\n var newTickArray = [];\n var domain = props.domain && props.domain[axis] || props.domain;\n\n if (arr) {\n arr.forEach(function (t, index) {\n if (Array.isArray(domain)) {\n if (t >= Collection.getMinValue(domain) && t <= Collection.getMaxValue(domain)) {\n newTickArray.push({\n value: t,\n index: index\n });\n }\n } else {\n newTickArray.push({\n value: t,\n index: index\n });\n }\n });\n return newTickArray;\n }\n\n return undefined;\n };\n\n return Array.isArray(tickArray) && tickArray.length ? buildTickArray(tickArray) : undefined;\n}\n\nexport function getTickFormat(props, scale) {\n var tickFormat = props.tickFormat;\n var axis = getAxis(props);\n var stringMap = props.stringMap && props.stringMap[axis];\n\n if (!tickFormat) {\n var defaultTickFormat = getDefaultTickFormat(props); // If there is no user-provided tick format, we use d3's tickFormat function\n // by default. This changed the default formatting for some scale types when\n // we upgraded to d3-scale@4..\n\n var scaleTickFormat = scale.tickFormat && _isFunction(scale.tickFormat) ? scale.tickFormat() : function (x) {\n return x;\n };\n return defaultTickFormat || scaleTickFormat;\n } else if (tickFormat && Array.isArray(tickFormat)) {\n var tickArray = getTickArray(props);\n var tickArrayIndices = tickArray === null || tickArray === void 0 ? void 0 : tickArray.map(function (v) {\n return v.index;\n });\n var filteredTickFormat = tickFormat.filter(function (t, index) {\n return tickArrayIndices === null || tickArrayIndices === void 0 ? void 0 : tickArrayIndices.includes(index);\n });\n return function (x, index) {\n return filteredTickFormat[index];\n };\n } else if (tickFormat && _isFunction(tickFormat)) {\n var applyStringTicks = function (tick, index, ticks) {\n var invertedStringMap = _invert(stringMap);\n\n var stringTickArray = ticks.map(function (t) {\n return invertedStringMap[t];\n });\n return props.tickFormat(invertedStringMap[tick], index, stringTickArray);\n };\n\n return stringMap ? applyStringTicks : tickFormat;\n }\n\n return function (x) {\n return x;\n };\n}\n\nfunction downsampleTicks(ticks, tickCount) {\n if (!tickCount || !Array.isArray(ticks) || ticks.length <= tickCount) {\n return ticks;\n }\n\n var k = Math.floor(ticks.length / tickCount);\n return ticks.filter(function (d, i) {\n return i % k === 0;\n });\n}\n\nexport function getTicks(props, scale) {\n var filterZero = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var tickCount = props.tickCount;\n var tickArray = getTickArray(props);\n var tickValues = tickArray ? tickArray.map(function (v) {\n return v.value;\n }) : undefined;\n\n if (tickValues) {\n return downsampleTicks(tickValues, tickCount);\n } else if (scale.ticks && _isFunction(scale.ticks)) {\n // eslint-disable-next-line no-magic-numbers\n var defaultTickCount = tickCount || 5;\n var scaleTicks = scale.ticks(defaultTickCount);\n var scaledTickArray = Array.isArray(scaleTicks) && scaleTicks.length ? scaleTicks : scale.domain();\n var ticks = downsampleTicks(scaledTickArray, tickCount);\n\n if (filterZero) {\n var filteredTicks = _includes(ticks, 0) ? _without(ticks, 0) : ticks;\n return filteredTicks.length ? filteredTicks : ticks;\n }\n\n return ticks;\n }\n\n return scale.domain();\n}\n/**\n * Returns a domain based tickValues\n * @param {Object} props: the props object\n * @param {String} axis: either x or y\n * @returns {Array} returns a domain from tickValues\n */\n// eslint-disable-next-line max-statements\n\nfunction getDomainFromData(props, axis) {\n var polar = props.polar,\n _props$startAngle = props.startAngle,\n startAngle = _props$startAngle === void 0 ? 0 : _props$startAngle,\n _props$endAngle = props.endAngle,\n endAngle = _props$endAngle === void 0 ? 360 : _props$endAngle;\n var tickArray = getTickArray(props);\n var tickValues = tickArray ? tickArray.map(function (v) {\n return v.value;\n }) : undefined;\n\n if (!Array.isArray(tickValues)) {\n return undefined;\n }\n\n var minDomain = Domain.getMinFromProps(props, axis);\n var maxDomain = Domain.getMaxFromProps(props, axis);\n var tickStrings = stringTicks(props);\n var ticks = tickValues.map(function (value) {\n return Number(value);\n });\n var defaultMin = tickStrings ? 1 : Collection.getMinValue(ticks);\n var defaultMax = tickStrings ? tickValues.length : Collection.getMaxValue(ticks);\n var min = minDomain !== undefined ? minDomain : defaultMin;\n var max = maxDomain !== undefined ? maxDomain : defaultMax;\n var initialDomain = Domain.getDomainFromMinMax(min, max);\n var domain = polar && axis === \"x\" && Math.abs(startAngle - endAngle) === 360 ? Domain.getSymmetricDomain(initialDomain, ticks) : initialDomain;\n\n if (isVertical(props) && !polar) {\n domain.reverse();\n }\n\n return domain;\n} // exposed for use by VictoryChart\n\n\nexport function getDomain(props, axis) {\n var inherentAxis = getAxis(props);\n\n if (axis && axis !== inherentAxis) {\n return undefined;\n }\n\n return Domain.createDomainFunction(getDomainFromData)(props, inherentAxis);\n}\nexport function getAxisValue(props, axis) {\n if (!props.axisValue) {\n return undefined;\n }\n\n var scaleAxis = axis === \"x\" ? \"y\" : \"x\";\n var scale = _isObject(props.scale) && _isFunction(props.scale[scaleAxis]) ? props.scale[scaleAxis] : undefined;\n\n if (!scale) {\n return undefined;\n }\n\n var stringMapAxis = axis === \"x\" ? \"y\" : \"x\";\n var stringMap = _isObject(props.stringMap) && props.stringMap[stringMapAxis];\n var axisValue = stringMap && typeof props.axisValue === \"string\" ? stringMap[props.axisValue] : props.axisValue;\n return scale(axisValue);\n}\nexport function modifyProps(props, fallbackProps) {\n if (!_isObject(props.theme)) {\n return Helpers.modifyProps(props, fallbackProps, \"axis\");\n }\n\n var role = \"axis\";\n\n if (props.dependentAxis && props.theme.dependentAxis) {\n role = \"dependentAxis\";\n } else if (!props.dependentAxis && props.theme.independentAxis) {\n role = \"independentAxis\";\n }\n\n if (role === \"axis\") {\n return Helpers.modifyProps(props, fallbackProps, \"axis\");\n }\n\n var axisTheme = _defaults({}, props.theme[role], props.theme.axis);\n\n var theme = _assign({}, props.theme, {\n axis: axisTheme\n });\n\n return Helpers.modifyProps(_assign({}, props, {\n theme: theme\n }), fallbackProps, \"axis\");\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction isNonEmptyArray(collection) {\n return Array.isArray(collection) && collection.length > 0;\n}\n\nexport function containsStrings(collection) {\n return Array.isArray(collection) && collection.some(function (value) {\n return typeof value === \"string\";\n });\n}\nexport function containsDates(collection) {\n return Array.isArray(collection) && collection.some(function (value) {\n return value instanceof Date;\n });\n}\nexport function containsNumbers(collection) {\n return Array.isArray(collection) && collection.some(function (value) {\n return typeof value === \"number\";\n });\n}\nexport function containsOnlyStrings(collection) {\n return isNonEmptyArray(collection) && collection.every(function (value) {\n return typeof value === \"string\";\n });\n}\nexport function isArrayOfArrays(collection) {\n return isNonEmptyArray(collection) && collection.every(Array.isArray);\n}\nexport function removeUndefined(arr) {\n return arr.filter(function (el) {\n return el !== undefined;\n });\n}\nexport function getMaxValue(arr) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n var array = arr.concat(values);\n return containsDates(array) ? new Date(Math.max.apply(Math, _toConsumableArray(array))) // Dates will be coerced to numbers\n : Math.max.apply(Math, _toConsumableArray(array));\n}\nexport function getMinValue(arr) {\n for (var _len2 = arguments.length, values = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n values[_key2 - 1] = arguments[_key2];\n }\n\n var array = arr.concat(values);\n return containsDates(array) ? new Date(Math.min.apply(Math, _toConsumableArray(array))) // Dates will be coerced to numbers\n : Math.min.apply(Math, _toConsumableArray(array));\n}","import PropTypes from \"prop-types\";\nimport * as CustomPropTypes from \"./prop-types\";\nvar dataProps = {\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n categories: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.shape({\n x: PropTypes.arrayOf(PropTypes.string),\n y: PropTypes.arrayOf(PropTypes.string)\n })]),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n data: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n dataComponent: PropTypes.element,\n disableInlineStyles: PropTypes.bool,\n labelComponent: PropTypes.element,\n labels: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),\n samples: CustomPropTypes.nonNegative,\n sortKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string.isRequired)]),\n sortOrder: PropTypes.oneOf([\"ascending\", \"descending\"]),\n style: PropTypes.shape({\n parent: PropTypes.object,\n data: PropTypes.object,\n labels: PropTypes.object\n }),\n x: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string.isRequired)]),\n y: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string.isRequired)]),\n y0: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string.isRequired)])\n};\nvar baseProps = {\n animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n containerComponent: PropTypes.element,\n domain: PropTypes.oneOfType([CustomPropTypes.domain, PropTypes.shape({\n x: CustomPropTypes.domain,\n y: CustomPropTypes.domain\n })]),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n maxDomain: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date), PropTypes.shape({\n x: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)]),\n y: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)])\n })]),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n minDomain: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date), PropTypes.shape({\n x: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)]),\n y: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)])\n })]),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n domainPadding: PropTypes.oneOfType([PropTypes.shape({\n x: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n y: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)])\n }), PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n eventKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n events: PropTypes.arrayOf(PropTypes.shape({\n target: PropTypes.oneOf([\"data\", \"labels\", \"parent\"]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n eventHandlers: PropTypes.object\n })),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n externalEventMutations: PropTypes.arrayOf(PropTypes.shape({\n callback: PropTypes.func,\n childName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n mutation: PropTypes.func,\n target: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n })),\n groupComponent: PropTypes.element,\n height: CustomPropTypes.nonNegative,\n name: PropTypes.string,\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n origin: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number\n })]),\n polar: PropTypes.bool,\n range: PropTypes.oneOfType([CustomPropTypes.domain, PropTypes.shape({\n x: CustomPropTypes.domain.isRequired,\n y: CustomPropTypes.domain.isRequired\n })]),\n scale: PropTypes.oneOfType([CustomPropTypes.scale, PropTypes.shape({\n x: CustomPropTypes.scale.isRequired,\n y: CustomPropTypes.scale.isRequired\n })]),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n sharedEvents: PropTypes.shape({\n events: PropTypes.array,\n getEventState: PropTypes.func\n }),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n singleQuadrantDomainPadding: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({\n x: PropTypes.oneOfType([PropTypes.bool]),\n y: PropTypes.oneOfType([PropTypes.bool])\n })]),\n standalone: PropTypes.bool,\n theme: PropTypes.object,\n width: CustomPropTypes.nonNegative\n};\nvar primitiveProps = {\n active: PropTypes.bool,\n ariaLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n className: PropTypes.string,\n clipPath: PropTypes.string,\n data: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n desc: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n disableInlineStyles: PropTypes.bool,\n events: PropTypes.object,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),\n index: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n // @ts-expect-error TODO: synchronize the type with this PropTypes\n origin: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n polar: PropTypes.bool,\n role: PropTypes.string,\n scale: PropTypes.oneOfType([CustomPropTypes.scale, PropTypes.shape({\n x: CustomPropTypes.scale,\n y: CustomPropTypes.scale\n })]),\n shapeRendering: PropTypes.string,\n style: PropTypes.object,\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n transform: PropTypes.string\n};\nexport var CommonProps = {\n dataProps: dataProps,\n baseProps: baseProps,\n primitiveProps: primitiveProps\n};","export var IMMUTABLE_ITERABLE = \"@@__IMMUTABLE_ITERABLE__@@\";\nexport var IMMUTABLE_RECORD = \"@@__IMMUTABLE_RECORD__@@\";\nexport var IMMUTABLE_LIST = \"@@__IMMUTABLE_LIST__@@\";\nexport var IMMUTABLE_MAP = \"@@__IMMUTABLE_MAP__@@\";\nexport function isIterable(x) {\n return !!(x && x[IMMUTABLE_ITERABLE]);\n}\nexport function isRecord(x) {\n return !!(x && x[IMMUTABLE_RECORD]);\n}\nexport function isImmutable(x) {\n return isIterable(x) || isRecord(x);\n}\nexport function isList(x) {\n return !!(x && x[IMMUTABLE_LIST]);\n}\nexport function isMap(x) {\n return !!(x && x[IMMUTABLE_MAP]);\n}\nexport function shallowToJS(x, whitelist) {\n return isIterable(x) ? x.reduce(function (result, curr, key) {\n if (whitelist && whitelist[key]) {\n curr = shallowToJS(curr);\n }\n\n result[key] = curr;\n return result;\n }, isList(x) ? [] : {}) : x;\n}","import _omitBy from \"lodash/omitBy\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport _includes from \"lodash/includes\";\nimport _isEqual from \"lodash/isEqual\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _orderBy from \"lodash/orderBy\";\nimport _property from \"lodash/property\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _last from \"lodash/last\";\nimport _range from \"lodash/range\";\nimport _uniq from \"lodash/uniq\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/* eslint-disable no-use-before-define */\nimport React from \"react\";\nimport * as Helpers from \"./helpers\";\nimport * as Collection from \"./collection\";\nimport * as Scale from \"./scale\";\nimport * as Immutable from \"./immutable\"; // Private Functions\n\nfunction parseDatum(datum) {\n var immutableDatumWhitelist = {\n errorX: true,\n errorY: true\n };\n return Immutable.isImmutable(datum) ? Immutable.shallowToJS(datum, immutableDatumWhitelist) : datum;\n}\n\nfunction getLength(data) {\n return Immutable.isIterable(data) ? data.size : data.length;\n} // Returns generated data for a given axis based on domain and sample from props\n\n\nfunction generateDataArray(props, axis) {\n var propsDomain = _isPlainObject(props.domain) ? props.domain[axis] : props.domain;\n var domain = propsDomain || Scale.getBaseScale(props, axis).domain();\n var samples = props.samples || 1;\n var domainMax = Math.max.apply(Math, _toConsumableArray(domain));\n var domainMin = Math.min.apply(Math, _toConsumableArray(domain));\n var step = (domainMax - domainMin) / samples;\n\n var values = _range(domainMin, domainMax, step);\n\n return _last(values) === domainMax ? values : values.concat(domainMax);\n} // Returns sorted data. If no sort keys are provided, data is returned unaltered.\n\n\nfunction sortData(dataset, sortKey) {\n var sortOrder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"ascending\";\n\n if (!sortKey) {\n return dataset;\n } // Ensures previous VictoryLine api for sortKey prop stays consistent\n\n\n if (sortKey === \"x\" || sortKey === \"y\") {\n sortKey = \"_\".concat(sortKey);\n }\n\n var order = sortOrder === \"ascending\" ? \"asc\" : \"desc\";\n return _orderBy(dataset, sortKey, order);\n} // This method will remove data points that break certain scales. (log scale only)\n\n\nfunction cleanData(dataset, props) {\n var smallNumber = 1 / Number.MAX_SAFE_INTEGER;\n var scaleType = {\n x: Scale.getScaleType(props, \"x\"),\n y: Scale.getScaleType(props, \"y\")\n };\n\n if (scaleType.x !== \"log\" && scaleType.y !== \"log\") {\n return dataset;\n }\n\n var rules = function (datum, axis) {\n return scaleType[axis] === \"log\" ? datum[\"_\".concat(axis)] !== 0 : true;\n };\n\n var sanitize = function (datum) {\n var _x = rules(datum, \"x\") ? datum._x : smallNumber;\n\n var _y = rules(datum, \"y\") ? datum._y : smallNumber;\n\n var _y0 = rules(datum, \"y0\") ? datum._y0 : smallNumber;\n\n return _assign({}, datum, {\n _x: _x,\n _y: _y,\n _y0: _y0\n });\n };\n\n return dataset.map(function (datum) {\n if (rules(datum, \"x\") && rules(datum, \"y\") && rules(datum, \"y0\")) {\n return datum;\n }\n\n return sanitize(datum);\n });\n} // Returns a data accessor given an eventKey prop\n\n\nfunction getEventKey(key) {\n // creates a data accessor function\n // given a property key, path, array index, or null for identity.\n if (_isFunction(key)) {\n return key;\n } else if (key === null || key === undefined) {\n return function () {\n return undefined;\n };\n } // otherwise, assume it is an array index, property key or path (_.property handles all three)\n\n\n return _property(key);\n} // Returns data with an eventKey prop added to each datum\n\n\nfunction addEventKeys(props, data) {\n var hasEventKeyAccessor = !!props.eventKey;\n var eventKeyAccessor = getEventKey(props.eventKey);\n return data.map(function (datum, index) {\n if (datum.eventKey !== undefined) {\n return datum;\n } else if (hasEventKeyAccessor) {\n var eventKey = eventKeyAccessor(datum, index);\n return eventKey !== undefined ? _assign({\n eventKey: eventKey\n }, datum) : datum;\n }\n\n return datum;\n });\n} // Exported Functions\n// This method will remove data points that fall outside of the desired domain (non-continuous charts only)\n\n\nexport function formatDataFromDomain(dataset, domain, defaultBaseline) {\n var exists = function (val) {\n return val !== undefined;\n };\n\n var minDomainX = Collection.getMinValue(domain.x);\n var maxDomainX = Collection.getMaxValue(domain.x);\n var minDomainY = Collection.getMinValue(domain.y);\n var maxDomainY = Collection.getMaxValue(domain.y);\n\n var underMin = function (min) {\n return function (val) {\n return exists(val) && val < min;\n };\n };\n\n var overMax = function (max) {\n return function (val) {\n return exists(val) && val > max;\n };\n };\n\n var isUnderMinX = underMin(minDomainX);\n var isUnderMinY = underMin(minDomainY);\n var isOverMaxX = overMax(maxDomainX);\n var isOverMaxY = overMax(maxDomainY); // eslint-disable-next-line complexity\n\n return dataset.map(function (datum) {\n var _x = datum._x,\n _y = datum._y,\n _y0 = datum._y0,\n _y1 = datum._y1; // single x point less than min domain\n\n if (isUnderMinX(_x) || isOverMaxX(_x)) _x = null;\n var baseline = exists(_y0) ? _y0 : defaultBaseline;\n var value = exists(_y1) ? _y1 : _y;\n if (!exists(value)) return datum; // value only and less than min domain or greater than max domain\n\n if (!exists(baseline) && (isUnderMinY(value) || isOverMaxY(value))) _y = null; // baseline and value are both less than min domain or both greater than max domain\n\n if (isUnderMinY(baseline) && isUnderMinY(value) || isOverMaxY(baseline) && isOverMaxY(value)) _y = _y0 = _y1 = null; // baseline and value with only baseline below min, set baseline to minDomainY\n\n if (isUnderMinY(baseline) && !isUnderMinY(value)) _y0 = minDomainY; // baseline and value with only baseline above max, set baseline to maxDomainY\n\n if (isOverMaxY(baseline) && !isOverMaxY(value)) _y0 = maxDomainY;\n return _assign({}, datum, _omitBy({\n _x: _x,\n _y: _y,\n _y0: _y0,\n _y1: _y1\n }, _isUndefined));\n });\n}\n/**\n * Returns an object mapping string data to numeric data\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Object} an object mapping string data to numeric data\n */\n\nexport function createStringMap(props, axis) {\n var stringsFromAxes = getStringsFromAxes(props, axis);\n var stringsFromCategories = getStringsFromCategories(props, axis);\n var stringsFromData = getStringsFromData(props, axis);\n\n var allStrings = _uniq([].concat(_toConsumableArray(stringsFromAxes), _toConsumableArray(stringsFromCategories), _toConsumableArray(stringsFromData)));\n\n return allStrings.length === 0 ? null : allStrings.reduce(function (memo, string, index) {\n memo[string] = index + 1;\n return memo;\n }, {});\n}\n/**\n * Reduces the size of a data array, such that it is <= maxPoints.\n * @param {Array} data: an array of data; must be sorted\n * @param {Number} maxPoints: maximum number of data points to return\n * @param {Number} startingIndex: the index of the data[0] *in the entire dataset*; this function\n assumes `data` param is a subset of larger dataset that has been zoommed\n * @returns {Array} an array of data, a subset of data param\n */\n\nexport function downsample(data, maxPoints) {\n var startingIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // ensures that the downampling of data while zooming looks good.\n var dataLength = getLength(data);\n\n if (dataLength > maxPoints) {\n // limit k to powers of 2, e.g. 64, 128, 256\n // so that the same points will be chosen reliably, reducing flicker on zoom\n var k = Math.pow(2, Math.ceil(Math.log2(dataLength / maxPoints)));\n return data.filter( // ensure modulo is always calculated from same reference: i + startingIndex\n function (d, i) {\n return (i + startingIndex) % k === 0;\n });\n }\n\n return data;\n}\n/**\n * Returns formatted data. Data accessors are applied, and string values are replaced.\n * @param {Array} dataset: the original domain\n * @param {Object} props: the props object\n * @param {Array} expectedKeys: an array of expected data keys\n * @returns {Array} the formatted data\n */\n\nexport function formatData(dataset, props, expectedKeys) {\n var isArrayOrIterable = Array.isArray(dataset) || Immutable.isIterable(dataset);\n\n if (!isArrayOrIterable || getLength(dataset) < 1) {\n return [];\n }\n\n var defaultKeys = [\"x\", \"y\", \"y0\"];\n expectedKeys = Array.isArray(expectedKeys) ? expectedKeys : defaultKeys;\n\n var createAccessor = function (name) {\n return Helpers.createAccessor(props[name] !== undefined ? props[name] : name);\n };\n\n var accessor = expectedKeys.reduce(function (memo, type) {\n memo[type] = createAccessor(type);\n return memo;\n }, {});\n var preformattedData = _isEqual(expectedKeys, defaultKeys) && props.x === \"_x\" && props.y === \"_y\" && props.y0 === \"_y0\";\n var stringMap;\n\n if (preformattedData === false) {\n // stringMap is not required if the data is preformatted\n stringMap = {\n x: expectedKeys.indexOf(\"x\") !== -1 ? createStringMap(props, \"x\") : undefined,\n y: expectedKeys.indexOf(\"y\") !== -1 ? createStringMap(props, \"y\") : undefined,\n y0: expectedKeys.indexOf(\"y0\") !== -1 ? createStringMap(props, \"y\") : undefined\n };\n }\n\n var data = preformattedData ? dataset : dataset.reduce(function (dataArr, datum, index) {\n // eslint-disable-line complexity\n datum = parseDatum(datum);\n var fallbackValues = {\n x: index,\n y: datum\n };\n var processedValues = expectedKeys.reduce(function (memo, type) {\n var processedValue = accessor[type](datum);\n var value = processedValue !== undefined ? processedValue : fallbackValues[type];\n\n if (value !== undefined) {\n if (typeof value === \"string\" && stringMap[type]) {\n memo[\"\".concat(type, \"Name\")] = value;\n memo[\"_\".concat(type)] = stringMap[type][value];\n } else {\n memo[\"_\".concat(type)] = value;\n }\n }\n\n return memo;\n }, {});\n\n var formattedDatum = _assign({}, processedValues, datum);\n\n if (!_isEmpty(formattedDatum)) {\n dataArr.push(formattedDatum);\n }\n\n return dataArr;\n }, []);\n var sortedData = sortData(data, props.sortKey, props.sortOrder);\n var cleanedData = cleanData(sortedData, props);\n return addEventKeys(props, cleanedData);\n}\n/**\n * Returns generated x and y data based on domain and sample from props\n * @param {Object} props: the props object\n * @returns {Array} an array of data\n */\n\nexport function generateData(props) {\n var xValues = generateDataArray(props, \"x\");\n var yValues = generateDataArray(props, \"y\");\n var values = xValues.map(function (x, i) {\n return {\n x: x,\n y: yValues[i]\n };\n });\n return values;\n}\n/**\n * Returns an array of categories for a given axis\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} an array of categories\n */\n\nexport function getCategories(props, axis) {\n return props.categories && !Array.isArray(props.categories) ? props.categories[axis] : props.categories;\n}\n/**\n * Returns an array of formatted data\n * @param {Object} props: the props object\n * @returns {Array} an array of data\n */\n\nexport function getData(props) {\n return props.data ? formatData(props.data, props) : formatData(generateData(props), props);\n}\n/**\n * Returns an array of strings from axis tickValues for a given axis\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} an array of strings\n */\n\nexport function getStringsFromAxes(props, axis) {\n var tickValues = props.tickValues,\n tickFormat = props.tickFormat;\n var tickValueArray;\n\n if (!tickValues || !Array.isArray(tickValues) && !tickValues[axis]) {\n tickValueArray = tickFormat && Array.isArray(tickFormat) ? tickFormat : [];\n } else {\n tickValueArray = tickValues[axis] || tickValues;\n }\n\n return tickValueArray.filter(function (val) {\n return typeof val === \"string\";\n });\n}\n/**\n * Returns an array of strings from categories for a given axis\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} an array of strings\n */\n\nexport function getStringsFromCategories(props, axis) {\n if (!props.categories) {\n return [];\n }\n\n var categories = getCategories(props, axis);\n var categoryStrings = categories && categories.filter(function (val) {\n return typeof val === \"string\";\n });\n return categoryStrings ? Collection.removeUndefined(categoryStrings) : [];\n}\n/**\n * Returns an array of strings from data\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} an array of strings\n */\n\nexport function getStringsFromData(props, axis) {\n var isArrayOrIterable = Array.isArray(props.data) || Immutable.isIterable(props.data);\n\n if (!isArrayOrIterable) {\n return [];\n }\n\n var key = props[axis] === undefined ? axis : props[axis];\n var accessor = Helpers.createAccessor(key); // support immutable data\n\n var data = props.data.reduce(function (memo, d) {\n memo.push(parseDatum(d));\n return memo;\n }, []);\n var sortedData = sortData(data, props.sortKey, props.sortOrder);\n var dataStrings = sortedData.reduce(function (dataArr, datum) {\n datum = parseDatum(datum);\n dataArr.push(accessor(datum));\n return dataArr;\n }, []).filter(function (datum) {\n return typeof datum === \"string\";\n }); // return a unique set of strings\n\n return dataStrings.reduce(function (prev, curr) {\n if (curr !== undefined && curr !== null && prev.indexOf(curr) === -1) {\n prev.push(curr);\n }\n\n return prev;\n }, []);\n}\n/**\n * Checks whether a given component can be used to calculate data\n * @param {Component} component: a React component instance\n * @returns {Boolean} Returns true if the given component has a role included in the whitelist\n */\n\nexport function isDataComponent(component) {\n var getRole = function (child) {\n return child && child.type ? child.type.role : \"\";\n };\n\n var role = getRole(component);\n\n if (role === \"portal\") {\n var children = React.Children.toArray(component.props.children);\n role = children.length ? getRole(children[0]) : \"\";\n }\n\n var whitelist = [\"area\", \"bar\", \"boxplot\", \"candlestick\", \"errorbar\", \"group\", \"histogram\", \"line\", \"pie\", \"scatter\", \"stack\", \"voronoi\"];\n return _includes(whitelist, role);\n}","export function continuousTransitions() {\n return {\n onLoad: {\n duration: 2000\n },\n onExit: {\n duration: 500\n },\n onEnter: {\n duration: 500\n }\n };\n}\nexport function continuousPolarTransitions() {\n return {\n onLoad: {\n duration: 2000,\n before: function () {\n return {\n _y: 0,\n _y1: 0,\n _y0: 0\n };\n },\n after: function (datum) {\n return {\n _y: datum._y,\n _y1: datum._y1,\n _y0: datum._y0\n };\n }\n },\n onExit: {\n duration: 500,\n before: function (datum, index, data) {\n var adjacent = function (attr) {\n var adj = index === 0 ? data[index + 1] : data[index - 1];\n return adj[attr];\n };\n\n return {\n _x: adjacent(\"_x\"),\n _y: adjacent(\"_y\"),\n _y0: adjacent(\"_y0\")\n };\n }\n },\n onEnter: {\n duration: 500,\n before: function (datum, index, data) {\n var adjacent = function (attr) {\n var adj = index === 0 ? data[index + 1] : data[index - 1];\n return adj[attr];\n };\n\n return {\n _x: adjacent(\"_x\"),\n _y: adjacent(\"_y\"),\n _y0: adjacent(\"_y0\")\n };\n },\n after: function (datum) {\n return {\n _x: datum._x,\n _y: datum._y,\n _y1: datum._y1,\n _y0: datum._y0\n };\n }\n }\n };\n}\nexport function discreteTransitions() {\n return {\n onLoad: {\n duration: 2000,\n before: function () {\n return {\n opacity: 0\n };\n },\n after: function (datum) {\n return datum;\n }\n },\n onExit: {\n duration: 600,\n before: function () {\n return {\n opacity: 0\n };\n }\n },\n onEnter: {\n duration: 600,\n before: function () {\n return {\n opacity: 0\n };\n },\n after: function (datum) {\n return datum;\n }\n }\n };\n}","import _isDate from \"lodash/isDate\";\nimport _includes from \"lodash/includes\";\nimport _isFunction from \"lodash/isFunction\";\nimport _sortedUniq from \"lodash/sortedUniq\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _flatten from \"lodash/flatten\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/* eslint-disable no-use-before-define */\nimport React from \"react\";\nimport * as Data from \"./data\";\nimport * as Scale from \"./scale\";\nimport * as Helpers from \"./helpers\";\nimport * as Collection from \"./collection\"; // Private Methods\n\nfunction cleanDomain(domain, props, axis) {\n var scaleType = Scale.getScaleType(props, axis);\n\n if (scaleType !== \"log\") {\n return domain;\n }\n\n var rules = function (dom) {\n var almostZero = dom[0] < 0 || dom[1] < 0 ? -1 / Number.MAX_SAFE_INTEGER : 1 / Number.MAX_SAFE_INTEGER;\n var domainOne = dom[0] === 0 ? almostZero : dom[0];\n var domainTwo = dom[1] === 0 ? almostZero : dom[1];\n return [domainOne, domainTwo];\n };\n\n return rules(domain);\n}\n\nfunction getDomainPadding(props, axis) {\n var formatPadding = function (padding) {\n return Array.isArray(padding) ? {\n left: padding[0],\n right: padding[1]\n } : {\n left: padding,\n right: padding\n };\n };\n\n return _isPlainObject(props.domainPadding) ? formatPadding(props.domainPadding[axis]) : formatPadding(props.domainPadding);\n}\n\nfunction getFlatData(dataset, axis) {\n var axisKey = \"_\".concat(axis);\n return _flatten(dataset).map(function (datum) {\n return datum[axisKey] && datum[axisKey][1] !== undefined ? datum[axisKey][1] : datum[axisKey];\n });\n}\n\nfunction getExtremeFromData(dataset, axis) {\n var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"min\";\n\n var getExtreme = function (arr) {\n return type === \"max\" ? Math.max.apply(Math, _toConsumableArray(arr)) : Math.min.apply(Math, _toConsumableArray(arr));\n };\n\n var initialValue = type === \"max\" ? -Infinity : Infinity;\n var containsDate = false;\n\n var result = _flatten(dataset).reduce(function (memo, datum) {\n var current0 = datum[\"_\".concat(axis, \"0\")] !== undefined ? datum[\"_\".concat(axis, \"0\")] : datum[\"_\".concat(axis)];\n var current1 = datum[\"_\".concat(axis, \"1\")] !== undefined ? datum[\"_\".concat(axis, \"1\")] : datum[\"_\".concat(axis)];\n var current = getExtreme([current0, current1]);\n containsDate = containsDate || current0 instanceof Date || current1 instanceof Date;\n return getExtreme([memo, current]);\n }, initialValue);\n\n return containsDate ? new Date(result) : result;\n} // eslint-disable-next-line max-statements\n\n\nfunction padDomain(domain, props, axis) {\n if (!props.domainPadding) {\n return domain;\n }\n\n var minDomain = getMinFromProps(props, axis);\n var maxDomain = getMaxFromProps(props, axis);\n var padding = getDomainPadding(props, axis);\n\n if (!padding.left && !padding.right) {\n return domain;\n }\n\n var min = Collection.getMinValue(domain);\n var max = Collection.getMaxValue(domain);\n var currentAxis = Helpers.getCurrentAxis(axis, props.horizontal);\n var range = Helpers.getRange(props, currentAxis);\n var rangeExtent = Math.abs(range[0] - range[1]);\n var paddedRangeExtent = Math.max(rangeExtent - padding.left - padding.right, 1);\n var paddedDomainExtent = Math.abs(max.valueOf() - min.valueOf()) / paddedRangeExtent * rangeExtent;\n var simplePadding = {\n left: paddedDomainExtent * padding.left / rangeExtent,\n right: paddedDomainExtent * padding.right / rangeExtent\n };\n var paddedDomain = {\n min: min.valueOf() - simplePadding.left,\n max: max.valueOf() + simplePadding.right\n };\n var singleQuadrantDomainPadding = _isPlainObject(props.singleQuadrantDomainPadding) ? props.singleQuadrantDomainPadding[axis] : props.singleQuadrantDomainPadding;\n var addsQuadrants = min >= 0 && paddedDomain.min <= 0 || max <= 0 && paddedDomain.max >= 0;\n\n var adjust = function (val, type) {\n var coerce = type === \"min\" && min >= 0 && val <= 0 || type === \"max\" && max <= 0 && val >= 0;\n return coerce ? 0 : val;\n };\n\n if (addsQuadrants && singleQuadrantDomainPadding !== false) {\n // Naive initial padding calculation\n var initialPadding = {\n // @ts-expect-error `max/min` might be dates\n left: Math.abs(max - min) * padding.left / rangeExtent,\n // @ts-expect-error `max/min` might be dates\n right: Math.abs(max - min) * padding.right / rangeExtent\n }; // Adjust the domain by the initial padding\n\n var adjustedDomain = {\n min: adjust(min.valueOf() - initialPadding.left, \"min\"),\n max: adjust(max.valueOf() + initialPadding.right, \"max\")\n }; // re-calculate padding, taking the adjusted domain into account\n\n var finalPadding = {\n left: Math.abs(adjustedDomain.max - adjustedDomain.min) * padding.left / rangeExtent,\n right: Math.abs(adjustedDomain.max - adjustedDomain.min) * padding.right / rangeExtent\n }; // Adjust the domain by the final padding\n\n paddedDomain = {\n min: adjust(min.valueOf() - finalPadding.left, \"min\"),\n max: adjust(max.valueOf() + finalPadding.right, \"max\")\n };\n } // default to minDomain / maxDomain if they exist\n\n\n var finalDomain = {\n min: minDomain !== undefined ? minDomain : paddedDomain.min,\n max: maxDomain !== undefined ? maxDomain : paddedDomain.max\n };\n return min instanceof Date || max instanceof Date ? getDomainFromMinMax(new Date(finalDomain.min), new Date(finalDomain.max)) : getDomainFromMinMax(finalDomain.min, finalDomain.max);\n} // Public Methods\n\n/**\n * Returns a getDomain function\n * @param {Function} getDomainFromDataFunction: a function that takes props and axis and\n * returns a domain based on data\n * @param {Function} formatDomainFunction: a function that takes domain, props, and axis and\n * returns a formatted domain\n * @returns {Function} a function that takes props and axis and returns a formatted domain\n */\n\n\nexport function createDomainFunction(getDomainFromDataFunction, formatDomainFunction) {\n getDomainFromDataFunction = _isFunction(getDomainFromDataFunction) ? getDomainFromDataFunction : getDomainFromData;\n formatDomainFunction = _isFunction(formatDomainFunction) ? formatDomainFunction : formatDomain;\n return function (props, axis) {\n var propsDomain = getDomainFromProps(props, axis);\n\n if (propsDomain) {\n return formatDomainFunction(propsDomain, props, axis);\n }\n\n var categories = Data.getCategories(props, axis);\n var domain = categories ? getDomainFromCategories(props, axis, categories) : getDomainFromDataFunction(props, axis);\n return domain ? formatDomainFunction(domain, props, axis) : undefined;\n };\n}\n/**\n * Returns a formatted domain.\n * @param {Array} domain: a domain in the form of a two element array\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} a domain in the form of a two element array\n */\n\nexport function formatDomain(domain, props, axis) {\n return cleanDomain(padDomain(domain, props, axis), props, axis);\n}\n/**\n * Returns a domain for a given axis based on props, category, or data\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} the domain for the given axis\n */\n\nexport function getDomain(props, axis) {\n return createDomainFunction()(props, axis);\n}\n/**\n * Returns a domain based on categories if they exist\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @param {Array} categories: an array of categories corresponding to a given axis\n * @returns {Array|undefined} returns a domain from categories or undefined\n */\n\nexport function getDomainFromCategories(props, axis, categories) {\n categories = categories || Data.getCategories(props, axis);\n var polar = props.polar,\n _props$startAngle = props.startAngle,\n startAngle = _props$startAngle === void 0 ? 0 : _props$startAngle,\n _props$endAngle = props.endAngle,\n endAngle = _props$endAngle === void 0 ? 360 : _props$endAngle;\n\n if (!categories) {\n return undefined;\n }\n\n var minDomain = getMinFromProps(props, axis);\n var maxDomain = getMaxFromProps(props, axis);\n var stringArray = Collection.containsStrings(categories) ? Data.getStringsFromCategories(props, axis) : [];\n var stringMap = stringArray.length === 0 ? null : stringArray.reduce(function (memo, string, index) {\n memo[string] = index + 1;\n return memo;\n }, {});\n var categoryValues = stringMap ? categories.map(function (value) {\n return stringMap[value];\n }) : categories;\n var min = minDomain !== undefined ? minDomain : Collection.getMinValue(categoryValues);\n var max = maxDomain !== undefined ? maxDomain : Collection.getMaxValue(categoryValues);\n var categoryDomain = getDomainFromMinMax(min, max);\n return polar && axis === \"x\" && Math.abs(startAngle - endAngle) === 360 ? getSymmetricDomain(categoryDomain, categoryValues) : categoryDomain;\n}\n/**\n * Returns a domain from a dataset for a given axis\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @param {Array} dataset: an array of data\n * @returns {Array} the domain based on data\n */\n\nexport function getDomainFromData(props, axis, dataset) {\n dataset = dataset || Data.getData(props);\n var polar = props.polar,\n _props$startAngle2 = props.startAngle,\n startAngle = _props$startAngle2 === void 0 ? 0 : _props$startAngle2,\n _props$endAngle2 = props.endAngle,\n endAngle = _props$endAngle2 === void 0 ? 360 : _props$endAngle2;\n var minDomain = getMinFromProps(props, axis);\n var maxDomain = getMaxFromProps(props, axis);\n\n if (dataset.length < 1) {\n return minDomain !== undefined && maxDomain !== undefined ? getDomainFromMinMax(minDomain, maxDomain) : undefined;\n }\n\n var min = minDomain !== undefined ? minDomain : getExtremeFromData(dataset, axis, \"min\");\n var max = maxDomain !== undefined ? maxDomain : getExtremeFromData(dataset, axis, \"max\");\n var domain = getDomainFromMinMax(min, max);\n return polar && axis === \"x\" && Math.abs(startAngle - endAngle) === 360 ? getSymmetricDomain(domain, getFlatData(dataset, axis)) : domain;\n}\n/**\n * Returns a domain in the form of a two element array given a min and max value.\n * @param {Number|Date} min: the props object\n * @param {Number|Date} max: the current axis\n * @returns {Array} the minDomain based on props\n */\n\nexport function getDomainFromMinMax(min, max) {\n var getSinglePointDomain = function (val) {\n // d3-scale does not properly resolve very small differences.\n var verySmallNumber = // eslint-disable-next-line no-magic-numbers\n val === 0 ? 2 * Math.pow(10, -10) : Math.pow(10, -10);\n var verySmallDate = 1;\n var minVal = val instanceof Date ? new Date(Number(val) - verySmallDate) : Number(val) - verySmallNumber;\n var maxVal = val instanceof Date ? new Date(Number(val) + verySmallDate) : Number(val) + verySmallNumber;\n return val === 0 ? [0, maxVal] : [minVal, maxVal];\n };\n\n return Number(min) === Number(max) ? getSinglePointDomain(max) : [min, max];\n}\n/**\n * Returns a the domain for a given axis if domain is given in props\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array|undefined} the domain based on props\n */\n\nexport function getDomainFromProps(props, axis) {\n var minDomain = getMinFromProps(props, axis);\n var maxDomain = getMaxFromProps(props, axis);\n\n if (_isPlainObject(props.domain) && props.domain[axis]) {\n return props.domain[axis];\n } else if (Array.isArray(props.domain)) {\n return props.domain;\n } else if (minDomain !== undefined && maxDomain !== undefined) {\n return getDomainFromMinMax(minDomain, maxDomain);\n }\n\n return undefined;\n}\n/**\n * Returns a domain for a given axis. This method forces the domain to include\n * zero unless the domain is explicitly specified in props.\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Array} the domain for the given axis\n */\n\nexport function getDomainWithZero(props, axis) {\n var propsDomain = getDomainFromProps(props, axis);\n\n if (propsDomain) {\n return propsDomain;\n }\n\n var dataset = Data.getData(props);\n var y0Min = dataset.reduce(function (min, datum) {\n return datum._y0 < min ? datum._y0 : min;\n }, Infinity);\n\n var ensureZero = function (domain) {\n if (axis === \"x\") {\n return domain;\n }\n\n var defaultMin = y0Min !== Infinity ? y0Min : 0;\n var maxDomainProp = getMaxFromProps(props, axis);\n var minDomainProp = getMinFromProps(props, axis);\n var max = maxDomainProp !== undefined ? maxDomainProp : Collection.getMaxValue(domain, defaultMin);\n var min = minDomainProp !== undefined ? minDomainProp : Collection.getMinValue(domain, defaultMin);\n return getDomainFromMinMax(min, max);\n };\n\n var getDomainFunction = function () {\n return getDomainFromData(props, axis, dataset);\n };\n\n var formatDomainFunction = function (domain) {\n return formatDomain(ensureZero(domain), props, axis);\n };\n\n return createDomainFunction(getDomainFunction, formatDomainFunction)(props, axis);\n}\n/**\n * Returns the maxDomain from props if it exists\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Number|Date|undefined} the maxDomain based on props\n */\n\nexport function getMaxFromProps(props, axis) {\n if (_isPlainObject(props.maxDomain) && props.maxDomain[axis] !== undefined) {\n return props.maxDomain[axis];\n }\n\n return typeof props.maxDomain === \"number\" || _isDate(props.maxDomain) ? props.maxDomain : undefined;\n}\n/**\n * Returns the minDomain from props if it exists\n * @param {Object} props: the props object\n * @param {String} axis: the current axis\n * @returns {Number|Date|undefined} the minDomain based on props\n */\n\nexport function getMinFromProps(props, axis) {\n if (_isPlainObject(props.minDomain) && props.minDomain[axis] !== undefined) {\n return props.minDomain[axis];\n }\n\n return typeof props.minDomain === \"number\" || _isDate(props.minDomain) ? props.minDomain : undefined;\n}\n/**\n * Returns a symmetrically padded domain for polar charts\n * @param {Array} domain: the original domain\n * @param {Array} values: a flat array of values corresponding to either tickValues, or data values\n * for a given dimension i.e. only x values.\n * @returns {Array} the symmetric domain\n */\n\nexport function getSymmetricDomain(domain, values) {\n var processedData = _sortedUniq(values.sort(function (a, b) {\n return a - b;\n }));\n\n var step = processedData[1] - processedData[0];\n return [domain[0], domain[1] + step];\n}\n/**\n * Checks whether a given component can be used to calculate domain\n * @param {Component} component: a React component instance\n * @returns {Boolean} Returns true if the given component has a role included in the whitelist\n */\n\nexport function isDomainComponent(component) {\n var getRole = function (child) {\n return child && child.type ? child.type.role : \"\";\n };\n\n var role = getRole(component);\n\n if (role === \"portal\") {\n var children = React.Children.toArray(component.props.children);\n role = children.length ? getRole(children[0]) : \"\";\n }\n\n var whitelist = [\"area\", \"axis\", \"bar\", \"boxplot\", \"candlestick\", \"errorbar\", \"group\", \"histogram\", \"line\", \"pie\", \"scatter\", \"stack\", \"voronoi\"];\n return _includes(whitelist, role);\n}","import _keys from \"lodash/keys\";\nimport _includes from \"lodash/includes\";\nimport _uniq from \"lodash/uniq\";\nimport _omitBy from \"lodash/omitBy\";\nimport _pickBy from \"lodash/pickBy\";\nimport _without from \"lodash/without\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _assign from \"lodash/assign\";\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar GLOBAL_EVENT_REGEX = /^onGlobal(.*)$/;\n\n/* Returns all own and shared events that should be attached to a single target element,\n * i.e. an individual bar specified by target: \"data\", eventKey: [index].\n * Returned events are scoped to the appropriate state. Either that of the component itself\n * (i.e. VictoryBar) in the case of own events, or that of the parent component\n * (i.e. VictoryChart) in the case of shared events\n */\n// eslint-disable-next-line max-params\nexport function getEvents(props, target, eventKey, // eslint-disable-next-line no-shadow\ngetScopedEvents) {\n var _this = this;\n\n // Returns all events that apply to a particular target element\n var getEventsByTarget = function (events) {\n var getSelectedEvents = function () {\n var targetEvents = events.reduce(function (memo, event) {\n if (event.target !== undefined) {\n var matchesTarget = Array.isArray(event.target) ? _includes(event.target, target) : \"\".concat(event.target) === \"\".concat(target);\n return matchesTarget ? memo.concat(event) : memo;\n }\n\n return memo.concat(event);\n }, []);\n\n if (eventKey !== undefined && target !== \"parent\") {\n return targetEvents.filter(function (obj) {\n var targetKeys = obj.eventKey;\n\n var useKey = function (key) {\n return key ? \"\".concat(key) === \"\".concat(eventKey) : true;\n };\n\n return Array.isArray(targetKeys) ? targetKeys.some(function (k) {\n return useKey(k);\n }) : useKey(targetKeys);\n });\n }\n\n return targetEvents;\n };\n\n var selectedEvents = getSelectedEvents();\n return Array.isArray(selectedEvents) && selectedEvents.reduce(function (memo, event) {\n return event ? _assign(memo, event.eventHandlers) : memo;\n }, {});\n };\n /* Returns all events from props and defaultEvents from components. Events handlers\n * specified in props will override handlers for the same event if they are also\n * specified in defaultEvents of a sub-component\n */\n\n\n var getAllEvents = function () {\n // Mandatory usage: `getEvents.bind(this)`\n\n /* eslint-disable no-invalid-this */\n if (Array.isArray(_this.componentEvents)) {\n var _this$componentEvents;\n\n return Array.isArray(props.events) ? (_this$componentEvents = _this.componentEvents).concat.apply(_this$componentEvents, _toConsumableArray(props.events)) : _this.componentEvents;\n }\n /* eslint-enable no-invalid-this */\n\n\n return props.events;\n };\n\n var allEvents = getAllEvents();\n var ownEvents = allEvents && _isFunction(getScopedEvents) ? getScopedEvents(getEventsByTarget(allEvents), target) : undefined;\n\n if (!props.sharedEvents) {\n return ownEvents;\n }\n\n var getSharedEvents = props.sharedEvents.getEvents;\n var sharedEvents = props.sharedEvents.events && getSharedEvents(getEventsByTarget(props.sharedEvents.events), target);\n return _assign({}, sharedEvents, ownEvents);\n}\n/* Returns a modified events object where each event handler is replaced by a new\n * function that calls the original handler and then calls setState with the return\n * of the original event handler assigned to state property that maps to the target\n * element.\n */\n// eslint-disable-next-line max-params\n\nexport function getScopedEvents(events, namespace, childType, baseProps) {\n var _this2 = this;\n\n if (_isEmpty(events)) {\n return {};\n } // Mandatory usage: `getScopedEvents.bind(this)`\n // eslint-disable-next-line no-invalid-this\n\n\n baseProps = baseProps || this.baseProps; // returns the original base props or base state of a given target element\n\n var getTargetProps = function (identifier, type) {\n var childName = identifier.childName,\n target = identifier.target,\n key = identifier.key; // eslint-disable-next-line no-invalid-this\n\n var baseType = type === \"props\" ? baseProps : _this2.state || {};\n var base = childName === undefined || childName === null || !baseType[childName] ? baseType : baseType[childName];\n return key === \"parent\" ? base.parent : base[key] && base[key][target];\n }; // Returns the state object with the mutation caused by a given eventReturn\n // applied to the appropriate property on the state object\n\n\n var parseEvent = function (eventReturn, eventKey) {\n var childNames = namespace === \"parent\" ? eventReturn.childName : eventReturn.childName || childType;\n var target = eventReturn.target || namespace; // returns all eventKeys to modify for a targeted childName\n\n var getKeys = function (childName) {\n if (target === \"parent\") {\n return \"parent\";\n }\n\n if (eventReturn.eventKey === \"all\") {\n return baseProps[childName] ? _without(_keys(baseProps[childName]), \"parent\") : _without(_keys(baseProps), \"parent\");\n } else if (eventReturn.eventKey === undefined && eventKey === \"parent\") {\n return baseProps[childName] ? _keys(baseProps[childName]) : _keys(baseProps);\n }\n\n return eventReturn.eventKey !== undefined ? eventReturn.eventKey : eventKey;\n }; // returns the state object with mutated props applied for a single key\n\n\n var getMutationObject = function (key, childName) {\n // eslint-disable-next-line no-invalid-this\n var baseState = _this2.state || {};\n\n if (!_isFunction(eventReturn.mutation)) {\n return baseState;\n }\n\n var mutationTargetProps = getTargetProps({\n childName: childName,\n key: key,\n target: target\n }, \"props\");\n var mutationTargetState = getTargetProps({\n childName: childName,\n key: key,\n target: target\n }, \"state\");\n var mutatedProps = eventReturn.mutation(_assign({}, mutationTargetProps, mutationTargetState), baseProps);\n var childState = baseState[childName] || {};\n\n var filterState = function (state) {\n if (state[key] && state[key][target]) {\n delete state[key][target];\n }\n\n if (state[key] && !_keys(state[key]).length) {\n delete state[key];\n }\n\n return state;\n };\n\n var extendState = function (state) {\n return target === \"parent\" ? _assign(state, _defineProperty({}, key, _assign(state[key], mutatedProps))) : _assign(state, _defineProperty({}, key, _assign(state[key], _defineProperty({}, target, mutatedProps))));\n };\n\n var updateState = function (state) {\n return mutatedProps ? extendState(state) : filterState(state);\n };\n\n return childName !== undefined && childName !== null ? _assign(baseState, _defineProperty({}, childName, updateState(childState))) : updateState(baseState);\n }; // returns entire mutated state for a given childName\n\n\n var getReturnByChild = function (childName) {\n var mutationKeys = getKeys(childName);\n return Array.isArray(mutationKeys) ? mutationKeys.reduce(function (memo, key) {\n return _assign(memo, getMutationObject(key, childName));\n }, {}) : getMutationObject(mutationKeys, childName);\n }; // returns an entire mutated state for all children\n\n\n var allChildNames = childNames === \"all\" ? _without(_keys(baseProps), \"parent\") : childNames;\n return Array.isArray(allChildNames) ? allChildNames.reduce(function (memo, childName) {\n return _assign(memo, getReturnByChild(childName));\n }, {}) : getReturnByChild(allChildNames);\n }; // Parses an array of event returns into a single state mutation\n\n\n var parseEventReturn = function (eventReturn, eventKey) {\n return Array.isArray(eventReturn) ? eventReturn.reduce(function (memo, props) {\n memo = _assign({}, memo, parseEvent(props, eventKey));\n return memo;\n }, {}) : parseEvent(eventReturn, eventKey);\n };\n\n var compileCallbacks = function (eventReturn) {\n var getCallback = function (obj) {\n return _isFunction(obj.callback) && obj.callback;\n };\n\n var callbacks = Array.isArray(eventReturn) ? eventReturn.map(function (evtObj) {\n return getCallback(evtObj);\n }) : [getCallback(eventReturn)];\n var callbackArray = callbacks.filter(function (callback) {\n return callback !== false;\n });\n return callbackArray.length ? function () {\n return callbackArray.forEach(function (callback) {\n return callback();\n });\n } : undefined;\n }; // A function that calls a particular event handler, parses its return\n // into a state mutation, and calls setState\n // eslint-disable-next-line max-params\n\n\n var onEvent = function (evt, childProps, eventKey, eventName) {\n // eslint-disable-next-line no-invalid-this\n var eventReturn = events[eventName](evt, childProps, eventKey, _this2);\n\n if (!_isEmpty(eventReturn)) {\n var callbacks = compileCallbacks(eventReturn); // eslint-disable-next-line no-invalid-this\n\n _this2.setState(parseEventReturn(eventReturn, eventKey), callbacks);\n }\n }; // returns a new events object with enhanced event handlers\n\n\n return _keys(events).reduce(function (memo, event) {\n memo[event] = onEvent;\n return memo;\n }, {});\n}\n/*\n * Returns a partially applied event handler for a specific target element\n * This allows event handlers to have access to props controlling each element\n */\n\nexport function getPartialEvents(events, eventKey, childProps) {\n if (!events) return {};\n return _keys(events).reduce(function (memo, eventName) {\n var appliedEvent = function (evt) {\n return events[eventName](evt, childProps, eventKey, eventName);\n };\n\n memo[eventName] = appliedEvent;\n return memo;\n }, {});\n}\n\n/* Returns the property of the state object corresponding to event changes for\n * a particular element\n */\n// eslint-disable-next-line max-params\nexport function getEventState(eventKey, namespace, childType) {\n // Mandatory usage: `getEventState.bind(this)`\n // eslint-disable-next-line no-invalid-this\n var state = this.state || {};\n\n if (!childType) {\n return eventKey === \"parent\" ? state[eventKey] && state[eventKey][namespace] || state[eventKey] : state[eventKey] && state[eventKey][namespace];\n }\n\n return state[childType] && state[childType][eventKey] && state[childType][eventKey][namespace];\n}\n/**\n * Returns a set of all mutations for shared events\n *\n * @param {Array} mutations an array of mutations objects\n * @param {Object} baseProps an object that describes all props for children of VictorySharedEvents\n * @param {Object} baseState an object that describes state for children of VictorySharedEvents\n * @param {Array} childNames an array of childNames\n *\n * @return {Object} a object describing all mutations for VictorySharedEvents\n */\n// eslint-disable-next-line max-params\n\nexport function getExternalMutationsWithChildren(mutations, baseProps, baseState, childNames) {\n baseProps = baseProps || {};\n baseState = baseState || {};\n return childNames.reduce(function (memo, childName) {\n var childState = baseState[childName];\n var mutation = getExternalMutations(mutations, baseProps[childName], baseState[childName], childName);\n memo[childName] = mutation ? mutation : childState;\n return _pickBy(memo, function (v) {\n return !_isEmpty(v);\n });\n }, {});\n}\n/**\n * Returns a set of all mutations for a component\n *\n * @param {Array} mutations an array of mutations objects\n * @param {Object} baseProps a props object (scoped to a childName when used by shared events)\n * @param {Object} baseState a state object (scoped to a childName when used by shared events)\n * @param {String} childName an optional childName\n *\n * @return {Object} a object describing mutations for a given component\n */\n// eslint-disable-next-line max-params\n\nexport function getExternalMutations(mutations, baseProps, baseState, childName) {\n baseProps = baseProps || {};\n baseState = baseState || {};\n\n var eventKeys = _keys(baseProps);\n\n return eventKeys.reduce(function (memo, eventKey) {\n var keyState = baseState[eventKey] || {};\n var keyProps = baseProps[eventKey] || {};\n\n if (eventKey === \"parent\") {\n var identifier = {\n eventKey: eventKey,\n target: \"parent\"\n };\n var mutation = getExternalMutation(mutations, keyProps, keyState, identifier);\n memo[eventKey] = mutation !== undefined ? _assign({}, keyState, mutation) : keyState;\n } else {\n // use keys from both state and props so that elements not intially included in baseProps\n // will be used. (i.e. labels)\n var targets = _uniq(_keys(keyProps).concat(_keys(keyState)));\n\n memo[eventKey] = targets.reduce(function (m, target) {\n var identifier = {\n eventKey: eventKey,\n target: target,\n childName: childName\n };\n var mutation = getExternalMutation(mutations, keyProps[target], keyState[target], identifier);\n m[target] = mutation !== undefined ? _assign({}, keyState[target], mutation) : keyState[target];\n return _pickBy(m, function (v) {\n return !_isEmpty(v);\n });\n }, {});\n }\n\n return _pickBy(memo, function (v) {\n return !_isEmpty(v);\n });\n }, {});\n}\n/**\n * Returns a set of mutations for a particular element given scoped baseProps and baseState\n *\n * @param {Array} mutations an array of mutations objects\n * @param {Object} baseProps a props object (scoped the element specified by the identifier)\n * @param {Object} baseState a state object (scoped the element specified by the identifier)\n * @param {Object} identifier { eventKey, target, childName }\n *\n * @return {Object | undefined} a object describing mutations for a given element, or undefined\n */\n// eslint-disable-next-line max-params\n\nexport function getExternalMutation(mutations, baseProps, baseState, identifier) {\n var filterMutations = function (mutation, type) {\n if (typeof mutation[type] === \"string\") {\n return mutation[type] === \"all\" || mutation[type] === identifier[type];\n } else if (Array.isArray(mutation[type])) {\n // coerce arrays to strings before matching\n var stringArray = mutation[type].map(function (m) {\n return \"\".concat(m);\n });\n return _includes(stringArray, identifier[type]);\n }\n\n return false;\n };\n\n mutations = Array.isArray(mutations) ? mutations : [mutations];\n var scopedMutations = mutations;\n\n if (identifier.childName) {\n scopedMutations = mutations.filter(function (m) {\n return filterMutations(m, \"childName\");\n });\n } // find any mutation objects that match the target\n\n\n var targetMutations = scopedMutations.filter(function (m) {\n return filterMutations(m, \"target\");\n });\n\n if (_isEmpty(targetMutations)) {\n return undefined;\n }\n\n var keyMutations = targetMutations.filter(function (m) {\n return filterMutations(m, \"eventKey\");\n });\n\n if (_isEmpty(keyMutations)) {\n return undefined;\n }\n\n return keyMutations.reduce(function (memo, curr) {\n var mutationFunction = curr && _isFunction(curr.mutation) ? curr.mutation : function () {\n return undefined;\n };\n var currentMutation = mutationFunction(_assign({}, baseProps, baseState));\n return _assign({}, memo, currentMutation);\n }, {});\n}\n/* Returns an array of defaultEvents from sub-components of a given component.\n * i.e. any static `defaultEvents` on `labelComponent` will be returned\n */\n\nexport function getComponentEvents(props, components) {\n var events = Array.isArray(components) && components.reduce(function (memo, componentName) {\n var _memo;\n\n var component = props[componentName];\n var defaultEvents = component && component.type && component.type.defaultEvents;\n var componentEvents = _isFunction(defaultEvents) ? defaultEvents(component.props) : defaultEvents;\n memo = Array.isArray(componentEvents) ? (_memo = memo).concat.apply(_memo, _toConsumableArray(componentEvents)) : memo;\n return memo;\n }, []);\n return events && events.length ? events : undefined;\n}\nexport function getGlobalEventNameFromKey(key) {\n var match = key.match(GLOBAL_EVENT_REGEX);\n return match && match[1] && match[1].toLowerCase();\n}\nexport var getGlobalEvents = function (events) {\n return _pickBy(events, function (_, key) {\n return GLOBAL_EVENT_REGEX.test(key);\n });\n};\nexport var omitGlobalEvents = function (events) {\n return _omitBy(events, function (_, key) {\n return GLOBAL_EVENT_REGEX.test(key);\n });\n};\nexport var emulateReactEvent = function (event) {\n return _assign(event, {\n nativeEvent: event\n });\n};","import _keys from \"lodash/keys\";\nimport _assign from \"lodash/assign\";\nimport _pick from \"lodash/pick\";\nimport _property from \"lodash/property\";\nimport _isFunction from \"lodash/isFunction\";\nimport _defaults from \"lodash/defaults\";\n\n/* eslint-disable no-use-before-define */\nimport React from \"react\";\n\n// Private Functions\nfunction getCartesianRange(props, axis) {\n // determine how to lay the axis and what direction positive and negative are\n var vertical = axis !== \"x\";\n var padding = getPadding(props);\n\n if (vertical) {\n return [props.height - padding.bottom, padding.top];\n }\n\n return [padding.left, props.width - padding.right];\n}\n\nfunction getPolarRange(props, axis) {\n if (axis === \"x\") {\n var startAngle = degreesToRadians(props.startAngle || 0);\n var endAngle = degreesToRadians(props.endAngle || 360);\n return [startAngle, endAngle];\n }\n\n return [props.innerRadius || 0, getRadius(props)];\n} // Exported Functions\n\n/**\n * creates an object with some keys excluded\n * replacement for lodash.omit for performance. does not mimic the entire lodash.omit api\n * @param {Object} originalObject: created object will be based on this object\n * @param {Array} ks: an array of keys to omit from the new object\n * @returns {Object} new object with same properties as originalObject\n */\n\n\nexport function omit(originalObject) {\n var ks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n // code based on babel's _objectWithoutProperties\n var newObject = {};\n\n for (var key in originalObject) {\n // @ts-expect-error String is not assignable to Key\n if (ks.indexOf(key) >= 0) {\n continue;\n }\n\n if (!Object.prototype.hasOwnProperty.call(originalObject, key)) {\n continue;\n }\n\n newObject[key] = originalObject[key];\n }\n\n return newObject;\n}\nexport function getPoint(datum) {\n var exists = function (val) {\n return val !== undefined;\n };\n\n var _x = datum._x,\n _x1 = datum._x1,\n _x0 = datum._x0,\n _voronoiX = datum._voronoiX,\n _y = datum._y,\n _y1 = datum._y1,\n _y0 = datum._y0,\n _voronoiY = datum._voronoiY;\n var defaultX = exists(_x1) ? _x1 : _x;\n var defaultY = exists(_y1) ? _y1 : _y;\n var point = {\n x: exists(_voronoiX) ? _voronoiX : defaultX,\n x0: exists(_x0) ? _x0 : _x,\n y: exists(_voronoiY) ? _voronoiY : defaultY,\n y0: exists(_y0) ? _y0 : _y\n };\n return _defaults({}, point, datum);\n}\nexport function scalePoint(props, datum) {\n var scale = props.scale,\n polar = props.polar,\n horizontal = props.horizontal;\n var d = getPoint(datum);\n var origin = props.origin || {\n x: 0,\n y: 0\n };\n var x = horizontal ? scale.y(d.y) : scale.x(d.x);\n var x0 = horizontal ? scale.y(d.y0) : scale.x(d.x0);\n var y = horizontal ? scale.x(d.x) : scale.y(d.y);\n var y0 = horizontal ? scale.x(d.x0) : scale.y(d.y0);\n return {\n x: polar ? y * Math.cos(x) + origin.x : x,\n x0: polar ? y0 * Math.cos(x0) + origin.x : x0,\n y: polar ? -y * Math.sin(x) + origin.y : y,\n y0: polar ? -y0 * Math.sin(x0) + origin.x : y0\n };\n}\nexport function getPadding(props) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"padding\";\n var padding = props[name];\n var paddingVal = typeof padding === \"number\" ? padding : 0;\n var paddingObj = typeof padding === \"object\" ? padding : {};\n return {\n top: paddingObj.top || paddingVal,\n bottom: paddingObj.bottom || paddingVal,\n left: paddingObj.left || paddingVal,\n right: paddingObj.right || paddingVal\n };\n}\nexport function isTooltip(component) {\n var labelRole = component && component.type && component.type.role;\n return labelRole === \"tooltip\";\n}\nexport function getDefaultStyles(props, role) {\n var _props$theme = props.theme,\n theme = _props$theme === void 0 ? {} : _props$theme,\n labelComponent = props.labelComponent;\n var defaultStyles = theme[role] && theme[role].style || {};\n\n if (!isTooltip(labelComponent)) {\n return defaultStyles;\n }\n\n var tooltipStyle = theme.tooltip && theme.tooltip.style || {};\n\n var labelStyle = _defaults({}, tooltipStyle, defaultStyles.labels);\n\n return _defaults({}, {\n labels: labelStyle\n }, defaultStyles);\n}\nexport function getStyles(style, defaultStyles) {\n var width = \"100%\";\n var height = \"100%\";\n\n if (!style) {\n return _defaults({\n parent: {\n height: height,\n width: width\n }\n }, defaultStyles);\n }\n\n var data = style.data,\n labels = style.labels,\n parent = style.parent;\n var defaultParent = defaultStyles && defaultStyles.parent || {};\n var defaultLabels = defaultStyles && defaultStyles.labels || {};\n var defaultData = defaultStyles && defaultStyles.data || {};\n return {\n parent: _defaults({}, parent, defaultParent, {\n width: width,\n height: height\n }),\n labels: _defaults({}, labels, defaultLabels),\n data: _defaults({}, data, defaultData)\n };\n}\nexport function evaluateProp(prop, props) {\n return _isFunction(prop) ? prop(props) : prop;\n}\nexport function evaluateStyle(style, props) {\n if (props.disableInlineStyles) {\n return {};\n }\n\n if (!style || !_keys(style).some(function (value) {\n return _isFunction(style[value]);\n })) {\n return style;\n }\n\n return _keys(style).reduce(function (prev, curr) {\n prev[curr] = evaluateProp(style[curr], props);\n return prev;\n }, {});\n}\nexport function degreesToRadians(degrees) {\n return typeof degrees === \"number\" ? degrees * (Math.PI / 180) : degrees;\n}\nexport function radiansToDegrees(radians) {\n return typeof radians === \"number\" ? radians / (Math.PI / 180) : radians;\n}\nexport function getRadius(props) {\n var _getPadding = getPadding(props),\n left = _getPadding.left,\n right = _getPadding.right,\n top = _getPadding.top,\n bottom = _getPadding.bottom;\n\n var width = props.width,\n height = props.height;\n return Math.min(width - left - right, height - top - bottom) / 2;\n}\nexport function getPolarOrigin(props) {\n var width = props.width,\n height = props.height;\n\n var _getPadding2 = getPadding(props),\n top = _getPadding2.top,\n bottom = _getPadding2.bottom,\n left = _getPadding2.left,\n right = _getPadding2.right;\n\n var radius = Math.min(width - left - right, height - top - bottom) / 2;\n var offsetWidth = width / 2 + left - right;\n var offsetHeight = height / 2 + top - bottom;\n return {\n x: offsetWidth + radius > width ? radius + left - right : offsetWidth,\n y: offsetHeight + radius > height ? radius + top - bottom : offsetHeight\n };\n}\nexport function getRange(props, axis) {\n if (props.range && props.range[axis]) {\n return props.range[axis];\n } else if (props.range && Array.isArray(props.range)) {\n return props.range;\n }\n\n return props.polar ? getPolarRange(props, axis) : getCartesianRange(props, axis);\n}\nexport function createAccessor(key) {\n // creates a data accessor function\n // given a property key, path, array index, or null for identity.\n if (_isFunction(key)) {\n return key;\n } else if (key === null || key === undefined) {\n // null/undefined means \"return the data item itself\"\n return function (x) {\n return x;\n };\n } // otherwise, assume it is an array index, property key or path (_.property handles all three)\n\n\n return _property(key);\n}\nexport function modifyProps(props, fallbackProps, role) {\n var theme = props.theme && props.theme[role] ? props.theme[role] : {};\n var themeProps = omit(theme, [\"style\"]);\n var horizontal = isHorizontal(props);\n var defaultObject = horizontal === undefined ? {} : {\n horizontal: horizontal\n };\n return _defaults(defaultObject, props, themeProps, fallbackProps);\n}\n/**\n * Returns the given axis or the opposite axis when horizontal\n * @param {string} axis: the given axis, either \"x\" pr \"y\"\n * @param {Boolean} horizontal: true when the chart is flipped to the horizontal orientation\n * @returns {String} the dimension appropriate for the axis given its props \"x\" or \"y\"\n */\n\nexport function getCurrentAxis(axis, horizontal) {\n var otherAxis = axis === \"x\" ? \"y\" : \"x\";\n return horizontal ? otherAxis : axis;\n}\n/**\n * @param {Array} children: an array of child components\n * @param {Function} iteratee: a function with arguments \"child\", \"childName\", and \"parent\"\n * @param {Object} parentProps: props from the parent that are applied to children\n * @param {any} initialMemo: The object in which the iteration results are combined.\n * @param {Function} combine: Combines the result of the iteratee with the current memo\n * to the memo for the next iteration step\n * @returns {Array} returns an array of results from calling the iteratee on all nested children\n */\n\n/* eslint-disable max-params */\n\nexport function reduceChildren(children, iteratee) {\n var parentProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var initialMemo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var combine = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (memo, item) {\n return (// @ts-expect-error These defaults are hard to type\n memo.concat(item)\n );\n };\n var sharedProps = [\"data\", \"domain\", \"categories\", \"polar\", \"startAngle\", \"endAngle\", \"minDomain\", \"maxDomain\", \"horizontal\"];\n\n var traverseChildren = function (childArray, names, parent) {\n return childArray.reduce(function (memo, child, index) {\n var childRole = child.type && child.type.role;\n var childName = child.props.name || \"\".concat(childRole, \"-\").concat(names[index]);\n\n if (child.props && child.props.children) {\n var childProps = _assign({}, child.props, _pick(parentProps, sharedProps));\n\n var nestedChildren = child.type && child.type.role === \"stack\" && _isFunction(child.type.getChildren) ? child.type.getChildren(childProps) : React.Children.toArray(child.props.children).map(function (c) {\n var nestedChildProps = _assign({}, c.props, _pick(childProps, sharedProps));\n\n return /*#__PURE__*/React.cloneElement(c, nestedChildProps);\n });\n\n var _childNames = nestedChildren.map(function (c, i) {\n return \"\".concat(childName, \"-\").concat(i);\n });\n\n var nestedResults = traverseChildren(nestedChildren, _childNames, child);\n memo = combine(memo, nestedResults);\n } else {\n var result = iteratee(child, childName, parent);\n\n if (result) {\n memo = combine(memo, result);\n }\n }\n\n return memo;\n }, initialMemo);\n };\n\n var childNames = children.map(function (c, i) {\n return i;\n });\n return traverseChildren(children, childNames);\n}\n/**\n * @param {Object} props: the props object\n * @returns {Boolean} returns true if the props object contains `horizontal: true` of if any\n * children or nested children are horizontal\n */\n\nexport function isHorizontal(props) {\n if (props.horizontal !== undefined || !props.children) {\n return props.horizontal;\n }\n\n var traverseChildren = function (childArray) {\n return childArray.reduce(function (memo, child) {\n var childProps = child.props || {};\n\n if (memo || childProps.horizontal || !childProps.children) {\n memo = memo || childProps.horizontal;\n return memo;\n }\n\n return traverseChildren(React.Children.toArray(childProps.children));\n }, false);\n };\n\n return traverseChildren(React.Children.toArray(props.children));\n}","import _some from \"lodash/some\";\nimport _defaults from \"lodash/defaults\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React from \"react\";\nimport * as Collection from \"../collection\";\nimport * as Transitions from \"../transitions\";\nvar INITIAL_STATE = {\n nodesShouldLoad: false,\n nodesDoneLoad: false,\n animating: true\n};\nexport var useAnimationState = function () {\n var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n\n var _React$useState = React.useState(initialState),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n state = _React$useState2[0],\n _setState = _React$useState2[1]; // This allows us to use a state object and maintain the same API as this.setState\n\n\n var setState = React.useCallback(function (newState) {\n _setState(function (oldState) {\n return _objectSpread(_objectSpread({}, oldState), newState);\n });\n }, [_setState]); // This is a copy of Wrapper.getAnimationProps\n\n var getAnimationProps = React.useCallback(function (props, child, index) {\n if (!(props !== null && props !== void 0 && props.animate)) {\n return child.props.animate;\n }\n\n var getFilteredState = function () {\n var childrenTransitions = state && state.childrenTransitions;\n childrenTransitions = Collection.isArrayOfArrays(childrenTransitions) ? childrenTransitions[index] : childrenTransitions;\n return _defaults({\n childrenTransitions: childrenTransitions\n }, state);\n };\n\n var getTransitions = props.animate && props.animate.getTransitions;\n var filteredState = getFilteredState();\n var parentState = props.animate && props.animate.parentState || filteredState;\n\n if (!getTransitions) {\n var getTransitionProps = Transitions.getTransitionPropsFactory(props, filteredState, function (newState) {\n return setState(newState);\n });\n\n getTransitions = function (childComponent) {\n return getTransitionProps(childComponent, index);\n };\n }\n\n return _defaults({\n getTransitions: getTransitions,\n parentState: parentState\n }, props.animate, child.props.animate);\n }, [state, setState]); // This is a copy of Wrapper.setAnimationState\n\n var setAnimationState = React.useCallback(function (props, nextProps) {\n if (!(props !== null && props !== void 0 && props.animate)) {\n return;\n }\n\n if (props.animate.parentState) {\n var nodesWillExit = props.animate.parentState.nodesWillExit;\n var oldProps = nodesWillExit ? props : null;\n\n var newState = _defaults({\n oldProps: oldProps,\n nextProps: nextProps\n }, props.animate.parentState);\n\n setState(newState);\n } else {\n var oldChildren = React.Children.toArray(props.children);\n var nextChildren = React.Children.toArray(nextProps.children);\n\n var isContinuous = function (child) {\n var check = function (c) {\n return c.type && c.type.continuous;\n };\n\n return Array.isArray(child) ? _some(child, check) : check(child);\n };\n\n var continuous = !props.polar && _some(oldChildren, function (child) {\n return isContinuous(child) || child.props.children && isContinuous(child.props.children);\n });\n\n var _Transitions$getIniti = Transitions.getInitialTransitionState(oldChildren, nextChildren),\n _nodesWillExit = _Transitions$getIniti.nodesWillExit,\n nodesWillEnter = _Transitions$getIniti.nodesWillEnter,\n childrenTransitions = _Transitions$getIniti.childrenTransitions,\n nodesShouldEnter = _Transitions$getIniti.nodesShouldEnter;\n\n setState({\n nodesWillExit: _nodesWillExit,\n nodesWillEnter: nodesWillEnter,\n nodesShouldEnter: nodesShouldEnter,\n childrenTransitions: Collection.isArrayOfArrays(childrenTransitions) ? childrenTransitions[0] : childrenTransitions,\n oldProps: _nodesWillExit ? props : undefined,\n nextProps: nextProps,\n continuous: continuous\n });\n }\n }, [setState]);\n var getProps = React.useCallback(function (initialProps) {\n return state && state.nodesWillExit ? state.oldProps || initialProps : initialProps;\n }, [state]);\n return {\n state: state,\n setState: setState,\n getAnimationProps: getAnimationProps,\n setAnimationState: setAnimationState,\n getProps: getProps\n };\n};","import React from \"react\";\nexport function usePreviousProps(props) {\n var ref = React.useRef();\n React.useEffect(function () {\n ref.current = props;\n });\n return ref.current;\n}","import _defaults from \"lodash/defaults\";\n\n/* eslint-disable no-use-before-define */\nimport * as Helpers from \"./helpers\";\n\n// Private Functions\nfunction getVerticalAnchor(props, datum) {\n datum = datum || {};\n var sign = datum._y >= 0 ? 1 : -1;\n var labelStyle = props.style && props.style.labels || {};\n\n if (datum.verticalAnchor || labelStyle.verticalAnchor) {\n return datum.verticalAnchor || labelStyle.verticalAnchor;\n } else if (!props.horizontal) {\n return sign >= 0 ? \"end\" : \"start\";\n }\n\n return \"middle\";\n}\n\nfunction getTextAnchor(props, datum) {\n datum = datum || {};\n var style = props.style,\n horizontal = props.horizontal;\n var sign = datum._y >= 0 ? 1 : -1;\n var labelStyle = style && style.labels || {};\n\n if (datum.verticalAnchor || labelStyle.verticalAnchor) {\n return datum.verticalAnchor || labelStyle.verticalAnchor;\n } else if (!horizontal) {\n return \"middle\";\n }\n\n return sign >= 0 ? \"start\" : \"end\";\n}\n\nfunction getAngle(props, datum) {\n datum = datum || {};\n var labelStyle = props.style && props.style.labels || {};\n return datum.angle === undefined ? labelStyle.angle : datum.angle;\n}\n\nfunction getPadding(props, datum) {\n datum = datum || {};\n var horizontal = props.horizontal,\n style = props.style;\n var labelStyle = style.labels || {};\n var defaultPadding = Helpers.evaluateProp(labelStyle.padding, props) || 0;\n var sign = datum._y < 0 ? -1 : 1;\n return {\n x: horizontal ? sign * defaultPadding : 0,\n y: horizontal ? 0 : -1 * sign * defaultPadding\n };\n}\n\nfunction getOffset(props, datum) {\n if (props.polar) {\n return {};\n }\n\n var padding = getPadding(props, datum);\n return {\n dx: padding.x,\n dy: padding.y\n };\n}\n\nfunction getPosition(props, datum) {\n var polar = props.polar;\n\n var _Helpers$scalePoint = Helpers.scalePoint(props, datum),\n x = _Helpers$scalePoint.x,\n y = _Helpers$scalePoint.y;\n\n if (!polar) {\n return {\n x: x,\n y: y\n };\n }\n\n var polarPadding = getPolarPadding(props, datum);\n return {\n x: x + polarPadding.x,\n y: y + polarPadding.y\n };\n}\n\nfunction getPolarPadding(props, datum) {\n var style = props.style;\n var degrees = getDegrees(props, datum);\n var labelStyle = style.labels || {};\n var padding = Helpers.evaluateProp(labelStyle.padding, props) || 0;\n var angle = Helpers.degreesToRadians(degrees);\n return {\n x: padding * Math.cos(angle),\n y: -padding * Math.sin(angle)\n };\n}\n\nfunction getLabelPlacement(props) {\n var labelComponent = props.labelComponent,\n labelPlacement = props.labelPlacement,\n polar = props.polar;\n var defaultLabelPlacement = polar ? \"perpendicular\" : \"vertical\";\n return labelPlacement ? labelPlacement : labelComponent.props && labelComponent.props.labelPlacement || defaultLabelPlacement;\n}\n\nfunction getPolarOrientation(degrees) {\n // eslint-disable-next-line no-magic-numbers\n if (degrees < 45 || degrees > 315) {\n return \"right\"; // eslint-disable-next-line no-magic-numbers\n } else if (degrees >= 45 && degrees <= 135) {\n return \"top\"; // eslint-disable-next-line no-magic-numbers\n } else if (degrees > 135 && degrees < 225) {\n return \"left\";\n }\n\n return \"bottom\";\n} // Exported Functions\n\n\nexport function getText(props, datum, index) {\n datum = datum || {};\n\n if (datum.label !== undefined) {\n return datum.label;\n }\n\n return Array.isArray(props.labels) ? props.labels[index] : props.labels;\n}\nexport function getPolarTextAnchor(props, degrees) {\n var labelPlacement = getLabelPlacement(props);\n\n if (labelPlacement === \"perpendicular\" || labelPlacement === \"vertical\" && (degrees === 90 || degrees === 270)) {\n return \"middle\";\n }\n\n return degrees <= 90 || degrees > 270 ? \"start\" : \"end\";\n}\nexport function getPolarVerticalAnchor(props, degrees) {\n var labelPlacement = getLabelPlacement(props);\n var orientation = getPolarOrientation(degrees);\n\n if (labelPlacement === \"parallel\" || orientation === \"left\" || orientation === \"right\") {\n return \"middle\";\n }\n\n return orientation === \"top\" ? \"end\" : \"start\";\n}\nexport function getPolarAngle(props, baseAngle) {\n var labelPlacement = props.labelPlacement,\n datum = props.datum;\n\n if (!labelPlacement || labelPlacement === \"vertical\") {\n return 0;\n }\n\n var degrees = baseAngle !== undefined ? baseAngle % 360 : getDegrees(props, datum);\n var sign = degrees > 90 && degrees < 180 || degrees > 270 ? 1 : -1;\n var angle = 0;\n\n if (degrees === 0 || degrees === 180) {\n angle = 90;\n } else if (degrees > 0 && degrees < 180) {\n angle = 90 - degrees;\n } else if (degrees > 180 && degrees < 360) {\n angle = 270 - degrees;\n }\n\n var labelRotation = labelPlacement === \"perpendicular\" ? 0 : 90;\n return angle + sign * labelRotation;\n}\nexport function getDegrees(props, datum) {\n var _Helpers$getPoint = Helpers.getPoint(datum),\n x = _Helpers$getPoint.x;\n\n return Helpers.radiansToDegrees(props.scale.x(x)) % 360;\n}\nexport function getProps(props, index) {\n var scale = props.scale,\n data = props.data,\n style = props.style,\n horizontal = props.horizontal,\n polar = props.polar,\n width = props.width,\n height = props.height,\n theme = props.theme,\n labelComponent = props.labelComponent,\n disableInlineStyles = props.disableInlineStyles;\n var datum = data[index];\n var degrees = getDegrees(props, datum);\n var textAnchor = polar ? getPolarTextAnchor(props, degrees) : getTextAnchor(props, datum);\n var verticalAnchor = polar ? getPolarVerticalAnchor(props, degrees) : getVerticalAnchor(props, datum);\n var angle = getAngle(props, datum);\n var text = getText(props, datum, index);\n var labelPlacement = getLabelPlacement(props);\n\n var _getPosition = getPosition(props, datum),\n x = _getPosition.x,\n y = _getPosition.y;\n\n var _getOffset = getOffset(props, datum),\n dx = _getOffset.dx,\n dy = _getOffset.dy;\n\n var labelProps = {\n angle: angle,\n data: data,\n datum: datum,\n disableInlineStyles: disableInlineStyles,\n horizontal: horizontal,\n index: index,\n polar: polar,\n scale: scale,\n labelPlacement: labelPlacement,\n text: text,\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor,\n x: x,\n y: y,\n dx: dx,\n dy: dy,\n width: width,\n height: height,\n style: style.labels\n };\n\n if (!Helpers.isTooltip(labelComponent)) {\n return labelProps;\n }\n\n var tooltipTheme = theme && theme.tooltip || {};\n return _defaults({}, labelProps, Helpers.omit(tooltipTheme, [\"style\"]));\n}","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport {bumpX, bumpY, bumpRadial} from \"./curve/bump.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nexport function link(curve) {\n let source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null,\n output = null,\n path = withPath(link);\n\n function link() {\n let buffer;\n const argv = slice.call(arguments);\n const s = source.apply(this, argv);\n const t = target.apply(this, argv);\n if (context == null) output = curve(buffer = path());\n output.lineStart();\n argv[0] = s, output.point(+x.apply(this, argv), +y.apply(this, argv));\n argv[0] = t, output.point(+x.apply(this, argv), +y.apply(this, argv));\n output.lineEnd();\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), link) : context;\n };\n\n return link;\n}\n\nexport function linkHorizontal() {\n return link(bumpX);\n}\n\nexport function linkVertical() {\n return link(bumpY);\n}\n\nexport function linkRadial() {\n const l = link(bumpRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {min, sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const r = sqrt(size + min(size / 28, 0.75)) * 0.59436;\n const t = r / 2;\n const u = t * sqrt3;\n context.moveTo(0, r);\n context.lineTo(0, -r);\n context.moveTo(-u, -t);\n context.lineTo(u, t);\n context.moveTo(-u, t);\n context.lineTo(u, -t);\n }\n};\n","import {pi, sqrt, tau} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst tan30 = sqrt(1 / 3);\nconst tan30_2 = tan30 * 2;\n\nexport default {\n draw(context, size) {\n const y = sqrt(size / tan30_2);\n const x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size) * 0.62625;\n context.moveTo(0, -r);\n context.lineTo(r, 0);\n context.lineTo(0, r);\n context.lineTo(-r, 0);\n context.closePath();\n }\n};\n","import {min, sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size - min(size / 7, 2)) * 0.87559;\n context.moveTo(-r, 0);\n context.lineTo(r, 0);\n context.moveTo(0, r);\n context.lineTo(0, -r);\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const w = sqrt(size);\n const x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size) * 0.4431;\n context.moveTo(r, r);\n context.lineTo(r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, r);\n context.closePath();\n }\n};\n","import {sin, cos, sqrt, pi, tau} from \"../math.js\";\n\nconst ka = 0.89081309152928522810;\nconst kr = sin(pi / 10) / sin(7 * pi / 10);\nconst kx = sin(tau / 10) * kr;\nconst ky = -cos(tau / 10) * kr;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size * ka);\n const x = kx * r;\n const y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (let i = 1; i < 5; ++i) {\n const a = tau * i / 5;\n const c = cos(a);\n const s = sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const y = -sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const s = sqrt(size) * 0.6824;\n const t = s / 2;\n const u = (s * sqrt3) / 2; // cos(Math.PI / 6)\n context.moveTo(0, -s);\n context.lineTo(u, t);\n context.lineTo(-u, t);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / a);\n const x0 = r / 2, y0 = r * k;\n const x1 = x0, y1 = r * k + r;\n const x2 = -x1, y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {min, sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size - min(size / 6, 1.7)) * 0.6189;\n context.moveTo(-r, -r);\n context.lineTo(r, r);\n context.moveTo(-r, r);\n context.lineTo(r, -r);\n }\n};\n","import constant from \"./constant.js\";\nimport {withPath} from \"./path.js\";\nimport asterisk from \"./symbol/asterisk.js\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport diamond2 from \"./symbol/diamond2.js\";\nimport plus from \"./symbol/plus.js\";\nimport square from \"./symbol/square.js\";\nimport square2 from \"./symbol/square2.js\";\nimport star from \"./symbol/star.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport triangle2 from \"./symbol/triangle2.js\";\nimport wye from \"./symbol/wye.js\";\nimport times from \"./symbol/times.js\";\n\n// These symbols are designed to be filled.\nexport const symbolsFill = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\n// These symbols are designed to be stroked (with a width of 1.5px and round caps).\nexport const symbolsStroke = [\n circle,\n plus,\n times,\n triangle2,\n asterisk,\n square2,\n diamond2\n];\n\nexport default function Symbol(type, size) {\n let context = null,\n path = withPath(symbol);\n\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n let buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","import * as d3Shape from \"victory-vendor/d3-shape\";\n\nvar defined = function (d) {\n var y = d._y1 !== undefined ? d._y1 : d._y;\n return y !== null && y !== undefined && d._y0 !== null;\n};\n\nvar getXAccessor = function (scale) {\n return function (d) {\n return scale.x(d._x1 !== undefined ? d._x1 : d._x);\n };\n};\n\nvar getYAccessor = function (scale) {\n return function (d) {\n return scale.y(d._y1 !== undefined ? d._y1 : d._y);\n };\n};\n\nvar getAngleAccessor = function (scale) {\n return function (d) {\n var x = scale.x(d._x1 !== undefined ? d._x1 : d._x);\n return -1 * x + Math.PI / 2;\n };\n};\n\nvar toNewName = function (interpolation) {\n // d3 shape changed the naming scheme for interpolators from \"basis\" -> \"curveBasis\" etc.\n var capitalize = function (s) {\n return s && s[0].toUpperCase() + s.slice(1);\n };\n\n return \"curve\".concat(capitalize(interpolation));\n};\n\nvar toNewNameClosed = function (interpolation) {\n return \"\".concat(toNewName(interpolation), \"Closed\");\n};\n\nexport var getInterpolationFunction = function (props) {\n var interpolation = props.interpolation;\n\n if (typeof interpolation === \"function\") {\n return interpolation;\n }\n\n if (typeof interpolation === \"string\") {\n var polar = props.polar,\n _props$openCurve = props.openCurve,\n openCurve = _props$openCurve === void 0 ? !polar : _props$openCurve;\n var interpolationName = !openCurve ? toNewNameClosed(interpolation) : toNewName(interpolation);\n return d3Shape[interpolationName];\n }\n\n return d3Shape.curveLinear;\n};\nexport var getLineFunction = function (props) {\n var polar = props.polar,\n scale = props.scale,\n horizontal = props.horizontal;\n return polar ? d3Shape.lineRadial().defined(defined).curve(getInterpolationFunction(props)).angle(getAngleAccessor(scale)).radius(getYAccessor(scale)) : d3Shape.line().defined(defined).curve(getInterpolationFunction(props)).x(horizontal ? getYAccessor(scale) : getXAccessor(scale)).y(horizontal ? getXAccessor(scale) : getYAccessor(scale));\n};","/* global console */\n\n/* eslint-disable no-console */\n// TODO: Use \"warning\" npm module like React is switching to.\nexport function warn(message) {\n if (process.env.NODE_ENV !== \"production\") {\n if (console && console.warn) {\n console.warn(message);\n }\n }\n}","import _isRegExp from \"lodash/isRegExp\";\nimport _find from \"lodash/find\";\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\nimport * as Log from \"./log\";\nimport PropTypes from \"prop-types\";\nimport * as Scale from \"./scale\";\n\n/**\n * Return a new validator based on `validator` but with the option to chain\n * `isRequired` onto the validation. This is nearly identical to how React\n * does it internally, but they don't expose their helper for us to use.\n * @param {Function} validator Validation function.\n * @returns {Function} Validator with `isRequired` option.\n */\nvar makeChainable = function (validator) {\n var createChainable = function (isRequired) {\n return function (props, propName, componentName) {\n var value = props[propName];\n\n if (value === undefined || value === null) {\n if (isRequired) {\n return new Error(\"Required `\".concat(propName, \"` was not specified in `\").concat(componentName, \"`.\"));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return validator.apply(void 0, [props, propName, componentName].concat(rest));\n };\n };\n\n var chainable = Object.assign(createChainable(false), {\n isRequired: createChainable(true)\n });\n return chainable;\n};\n\nvar nullConstructor = function () {\n return null;\n};\n\nvar undefinedConstructor = function () {\n return undefined;\n};\n/**\n * Get the constructor of `value`. If `value` is null or undefined, return the\n * special singletons `nullConstructor` or `undefinedConstructor`, respectively.\n * @param {*} value Instance to return the constructor of.\n * @returns {Function} Constructor of `value`.\n */\n\n\nvar getConstructor = function (value) {\n if (value === undefined) {\n return undefinedConstructor;\n } else if (value === null) {\n return nullConstructor;\n }\n\n return value.constructor;\n};\n/**\n * Get the name of the constructor used to create `value`, using\n * `Object.prototype.toString`. If the value is null or undefined, return\n * \"null\" or \"undefined\", respectively.\n * @param {*} value Instance to return the constructor name of.\n * @returns {String} Name of the constructor.\n */\n\n\nvar getConstructorName = function (value) {\n if (value === undefined) {\n return \"undefined\";\n } else if (value === null) {\n return \"null\";\n }\n\n return Object.prototype.toString.call(value).slice(8, -1); // eslint-disable-line no-magic-numbers\n};\n/**\n * Return a new validator based on `propType` but which logs a `console.error`\n * with `explanation` if used.\n * @param {Function} propType The old, deprecated propType.\n * @param {String} explanation The message to provide the user of the deprecated propType.\n * @returns {Function} Validator which logs usage of this propType\n */\n\n\nexport function deprecated(propType, explanation) {\n return function (props, propName, componentName) {\n var value = props[propName];\n\n if (value !== null && value !== undefined) {\n Log.warn(\"\\\"\".concat(propName, \"\\\" property of \\\"\").concat(componentName, \"\\\" has been deprecated \").concat(explanation));\n }\n\n PropTypes.checkPropTypes(_defineProperty({}, propName, propType), props, propName, componentName);\n return null;\n };\n}\n/**\n * Return a new validator which returns true\n * if and only if all validators passed as arguments return true.\n * Like React.propTypes.oneOfType, except \"all\" instead of \"any\"\n * @param {Array} validators Validation functions.\n * @returns {Function} Combined validator function\n */\n\nexport function allOfType(validators) {\n return makeChainable(function (props, propName, componentName) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n rest[_key2 - 3] = arguments[_key2];\n }\n\n return validators.reduce(function (result, validator) {\n return result || validator.apply(void 0, [props, propName, componentName].concat(rest));\n }, null);\n });\n}\n/**\n * Check that the value is a non-negative number.\n */\n\nexport var nonNegative = makeChainable(function (props, propName, componentName) {\n var value = props[propName];\n\n if (typeof value !== \"number\" || value < 0) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be a non-negative number.\"));\n }\n\n return null;\n});\n/**\n * Check that the value is an integer.\n */\n\nexport var integer = makeChainable(function (props, propName, componentName) {\n var value = props[propName];\n\n if (typeof value !== \"number\" || value % 1 !== 0) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be an integer.\"));\n }\n\n return null;\n});\n/**\n * Check that the value is greater than zero.\n */\n\nexport var greaterThanZero = makeChainable(function (props, propName, componentName) {\n var value = props[propName];\n\n if (typeof value !== \"number\" || value <= 0) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be a number greater than zero.\"));\n }\n\n return null;\n});\n/**\n * Check that the value is an Array of two unique values.\n */\n\nexport var domain = makeChainable(function (props, propName, componentName) {\n var value = props[propName];\n\n if (!Array.isArray(value) || value.length !== 2 || value[1] === value[0]) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be an array of two unique numeric values.\"));\n }\n\n return null;\n});\n/**\n * Check that the value looks like a d3 `scale` function.\n */\n\nexport var scale = makeChainable(function (props, propName, componentName) {\n var value = props[propName];\n\n if (!Scale.validScale(value)) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be a d3 scale.\"));\n }\n\n return null;\n});\n/**\n * Check that an array contains items of the same type.\n */\n\nexport var homogeneousArray = makeChainable(function (props, propName, componentName) {\n var values = props[propName];\n\n if (!Array.isArray(values)) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be an array.\"));\n }\n\n if (values.length < 2) {\n return null;\n }\n\n var comparisonConstructor = getConstructor(values[0]);\n\n var typeMismatchedValue = _find(values, function (value) {\n return comparisonConstructor !== getConstructor(value);\n });\n\n if (typeMismatchedValue) {\n var constructorName = getConstructorName(values[0]);\n var otherConstructorName = getConstructorName(typeMismatchedValue);\n return new Error(\"Expected `\".concat(propName, \"` in `\").concat(componentName, \"` to be a \") + \"homogeneous array, but found types `\".concat(constructorName, \"` and \") + \"`\".concat(otherConstructorName, \"`.\"));\n }\n\n return null;\n});\n/**\n * Check that array prop length matches props.data.length\n */\n\nexport var matchDataLength = makeChainable(function (props, propName) {\n if (props[propName] && Array.isArray(props[propName]) && props[propName].length !== props.data.length) {\n return new Error(\"Length of data and \".concat(propName, \" arrays must match.\"));\n }\n\n return null;\n});\n/**\n * Check that the value is a regular expression\n */\n\nexport var regExp = makeChainable(function (props, propName, componentName) {\n if (props[propName] && !_isRegExp(props[propName])) {\n return new Error(\"`\".concat(propName, \"` in `\").concat(componentName, \"` must be a regular expression.\"));\n }\n\n return null;\n});","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","import {ascendingDefined, compareDefined} from \"./sort.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = Infinity, compare) {\n k = Math.floor(k);\n left = Math.floor(Math.max(0, left));\n right = Math.floor(Math.min(array.length - 1, right));\n\n if (!(left <= k && k <= right)) return array;\n\n compare = compare === undefined ? ascendingDefined : compareDefined(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof = number) {\n if (isNaN(p = +p)) return;\n numbers = Float64Array.from(values, (_, i) => number(valueof(values[i], i, values)));\n if (p <= 0) return minIndex(numbers);\n if (p >= 1) return maxIndex(numbers);\n var numbers,\n index = Uint32Array.from(values, (_, i) => i),\n j = numbers.length - 1,\n i = Math.floor(j * p);\n quickselect(index, i, 0, j, (i, j) => ascendingDefined(numbers[i], numbers[j]));\n i = greatest(index.subarray(0, i + 1), (i) => numbers[i]);\n return i >= 0 ? i : -1;\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","import _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _includes from \"lodash/includes\";\nimport * as Helpers from \"./helpers\";\nimport * as Collection from \"./collection\";\nimport * as d3Scale from \"victory-vendor/d3-scale\";\nvar supportedScaleStrings = [\"linear\", \"time\", \"log\", \"sqrt\"];\n\n// Private Functions\nfunction toNewName(scale) {\n // d3 scale changed the naming scheme for scale from \"linear\" -> \"scaleLinear\" etc.\n var capitalize = function (s) {\n return s && s[0].toUpperCase() + s.slice(1);\n };\n\n return \"scale\".concat(capitalize(scale));\n}\n\nexport function validScale(scale) {\n if (typeof scale === \"function\") {\n return _isFunction(scale.copy) && _isFunction(scale.domain) && _isFunction(scale.range);\n } else if (typeof scale === \"string\") {\n return _includes(supportedScaleStrings, scale);\n }\n\n return false;\n}\n\nfunction isScaleDefined(props, axis) {\n if (!props.scale) {\n return false;\n } else if (props.scale.x || props.scale.y) {\n return !!props.scale[axis];\n }\n\n return true;\n}\n\nfunction getScaleTypeFromProps(props, axis) {\n if (!isScaleDefined(props, axis)) {\n return undefined;\n }\n\n var scale = props.scale[axis] || props.scale;\n return typeof scale === \"string\" ? scale : getType(scale);\n}\n\nfunction getScaleFromDomain(props, axis) {\n var domain;\n\n if (props.domain && props.domain[axis]) {\n domain = props.domain[axis];\n } else if (props.domain && Array.isArray(props.domain)) {\n domain = props.domain;\n }\n\n if (!domain) {\n return undefined;\n }\n\n return Collection.containsDates(domain) ? \"time\" : \"linear\";\n}\n\nfunction getScaleTypeFromData(props, axis) {\n if (!props.data) {\n return \"linear\";\n }\n\n var accessor = Helpers.createAccessor(props[axis]);\n var axisData = props.data.map(function (datum) {\n var processedData = _isPlainObject(accessor(datum)) ? accessor(datum)[axis] : accessor(datum);\n return processedData !== undefined ? processedData : datum[axis];\n });\n return Collection.containsDates(axisData) ? \"time\" : \"linear\";\n} // Exported Functions\n\n\nexport function getScaleFromName(name) {\n if (validScale(name)) {\n var methodName = toNewName(name); // @ts-expect-error scaleTime is not directly compatible with our D3Scale definition\n\n return d3Scale[methodName]();\n }\n\n return d3Scale.scaleLinear();\n}\nexport function getBaseScale(props, axis) {\n var scale = getScaleFromProps(props, axis);\n\n if (scale) {\n return typeof scale === \"string\" ? getScaleFromName(scale) : scale;\n }\n\n var defaultScale = getScaleFromDomain(props, axis) || getScaleTypeFromData(props, axis);\n return getScaleFromName(defaultScale);\n}\nexport function getDefaultScale() {\n return d3Scale.scaleLinear();\n}\nexport function getScaleFromProps(props, axis) {\n if (!isScaleDefined(props, axis)) {\n return undefined;\n }\n\n var scale = props.scale[axis] || props.scale;\n\n if (validScale(scale)) {\n return _isFunction(scale) ? scale : getScaleFromName(scale);\n }\n\n return undefined;\n}\nexport function getScaleType(props, axis) {\n // if the scale was not given in props, it will be set to linear or time depending on data\n return getScaleTypeFromProps(props, axis) || getScaleTypeFromData(props, axis);\n} // Ordered type inference off of function fields.\n// **Note**: Brittle because reliant on d3 internals.\n\nvar DUCK_TYPES = [{\n name: \"quantile\",\n method: \"quantiles\"\n}, {\n name: \"log\",\n method: \"base\"\n} // TODO(2214): Re-evaluate (1) duck typing approach, and (2) if duck typing,\n// do we need a different approach? (Multiple keys? Stringifying functions?)\n// https://github.com/FormidableLabs/victory/issues/2214\n// Below are matches that don't seem to otherwise occur in Victory code base.\n// { name: \"ordinal\", method: \"unknown\" },\n// { name: \"pow-sqrt\", method: \"exponent\" },\n// { name: \"quantize-threshold\", method: \"invertExtent\" }\n];\nexport function getType(scale) {\n if (typeof scale === \"string\") {\n return scale;\n }\n\n var scaleType = DUCK_TYPES.filter(function (type) {\n return scale[type.method] !== undefined;\n })[0];\n return scaleType ? scaleType.name : undefined;\n}","/**\n * Given an object with CSS/SVG transform definitions, return the string value\n * for use with the `transform` CSS property or SVG attribute. Note that we\n * can't always guarantee the order will match the author's intended order, so\n * authors should only use the object notation if they know that their transform\n * is commutative or that there is only one.\n * @param {Object} obj An object of transform definitions.\n * @returns {String} The generated transform string.\n */\nexport var toTransformString = function (obj) {\n for (var _len = arguments.length, more = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n more[_key - 1] = arguments[_key];\n }\n\n if (more.length > 0) {\n return more.reduce(function (memo, currentObj) {\n return [memo, toTransformString(currentObj)].join(\" \");\n }, toTransformString(obj)).trim();\n }\n\n if (obj === undefined || obj === null || typeof obj === \"string\") {\n return obj;\n }\n\n var transforms = [];\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var value = obj[key];\n transforms.push(\"\".concat(key, \"(\").concat(value, \")\"));\n }\n }\n\n return transforms.join(\" \").trim();\n};\n/**\n * Given the name of a color scale, getColorScale will return an array\n * of 5 hex string values in that color scale. If no 'name' parameter\n * is given, it will return the Victory default grayscale.\n * @param {String} name The name of the color scale to return (optional).\n * @returns {Array} An array of 5 hex string values composing a color scale.\n */\n\nexport function getColorScale(name) {\n var scales = {\n grayscale: [\"#cccccc\", \"#969696\", \"#636363\", \"#252525\"],\n qualitative: [\"#334D5C\", \"#45B29D\", \"#EFC94C\", \"#E27A3F\", \"#DF5A49\", \"#4F7DA1\", \"#55DBC1\", \"#EFDA97\", \"#E2A37F\", \"#DF948A\"],\n heatmap: [\"#428517\", \"#77D200\", \"#D6D305\", \"#EC8E19\", \"#C92B05\"],\n warm: [\"#940031\", \"#C43343\", \"#DC5429\", \"#FF821D\", \"#FFAF55\"],\n cool: [\"#2746B9\", \"#0B69D4\", \"#2794DB\", \"#31BB76\", \"#60E83B\"],\n red: [\"#FCAE91\", \"#FB6A4A\", \"#DE2D26\", \"#A50F15\", \"#750B0E\"],\n blue: [\"#002C61\", \"#004B8F\", \"#006BC9\", \"#3795E5\", \"#65B4F4\"],\n green: [\"#354722\", \"#466631\", \"#649146\", \"#8AB25C\", \"#A9C97E\"]\n };\n return name ? scales[name] : scales.grayscale;\n}","import _memoize from \"lodash/memoize\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Based on measuring specific character widths\n// as in the following example https://bl.ocks.org/tophtucker/62f93a4658387bb61e4510c37e2e97cf\n// prettier-ignore\nvar fonts = {\n \"American Typewriter\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.4203125, 0.3296875, 0.6, 0.6375, 0.8015625, 0.8203125, 0.1875, 0.45625, 0.45625, 0.6375, 0.5, 0.2734375, 0.309375, 0.2734375, 0.4390625, 0.6375, 0.6375, 0.6375, 0.6375, 0.6375, 0.6375, 0.6375, 0.6375, 0.6375, 0.6375, 0.2734375, 0.2734375, 0.5, 0.5, 0.5, 0.6, 0.6921875, 0.7640625, 0.6921875, 0.6375, 0.728125, 0.6734375, 0.6203125, 0.7109375, 0.784375, 0.3828125, 0.6421875, 0.7859375, 0.6375, 0.9484375, 0.7640625, 0.65625, 0.6375, 0.65625, 0.7296875, 0.6203125, 0.6375, 0.7109375, 0.740625, 0.940625, 0.784375, 0.7578125, 0.6203125, 0.4375, 0.5, 0.4375, 0.5, 0.5, 0.4921875, 0.5734375, 0.5890625, 0.5109375, 0.6, 0.528125, 0.43125, 0.5578125, 0.6375, 0.3109375, 0.40625, 0.6234375, 0.309375, 0.928125, 0.6375, 0.546875, 0.6, 0.58125, 0.4921875, 0.4921875, 0.4, 0.6203125, 0.625, 0.825, 0.6375, 0.640625, 0.528125, 0.5, 0.5, 0.5, 0.6671875],\n avg: 0.5793421052631578\n },\n Arial: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.278125, 0.278125, 0.35625, 0.55625, 0.55625, 0.890625, 0.6671875, 0.1921875, 0.334375, 0.334375, 0.390625, 0.584375, 0.278125, 0.334375, 0.278125, 0.278125, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.278125, 0.278125, 0.584375, 0.584375, 0.584375, 0.55625, 1.015625, 0.6703125, 0.6671875, 0.7234375, 0.7234375, 0.6671875, 0.6109375, 0.778125, 0.7234375, 0.278125, 0.5, 0.6671875, 0.55625, 0.834375, 0.7234375, 0.778125, 0.6671875, 0.778125, 0.7234375, 0.6671875, 0.6109375, 0.7234375, 0.6671875, 0.9453125, 0.6671875, 0.6671875, 0.6109375, 0.278125, 0.278125, 0.278125, 0.4703125, 0.584375, 0.334375, 0.55625, 0.55625, 0.5, 0.55625, 0.55625, 0.3125, 0.55625, 0.55625, 0.2234375, 0.2703125, 0.5, 0.2234375, 0.834375, 0.55625, 0.55625, 0.55625, 0.55625, 0.346875, 0.5, 0.278125, 0.55625, 0.5, 0.7234375, 0.5, 0.5, 0.5, 0.334375, 0.2609375, 0.334375, 0.584375],\n avg: 0.528733552631579\n },\n \"Arial Black\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33125, 0.334375, 0.5, 0.6609375, 0.6671875, 1, 0.890625, 0.278125, 0.390625, 0.390625, 0.55625, 0.6609375, 0.334375, 0.334375, 0.334375, 0.28125, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.334375, 0.334375, 0.6609375, 0.6609375, 0.6609375, 0.6109375, 0.7453125, 0.78125, 0.778125, 0.778125, 0.778125, 0.7234375, 0.6671875, 0.834375, 0.834375, 0.390625, 0.6671875, 0.834375, 0.6671875, 0.9453125, 0.834375, 0.834375, 0.7234375, 0.834375, 0.78125, 0.7234375, 0.7234375, 0.834375, 0.7796875, 1.003125, 0.78125, 0.78125, 0.7234375, 0.390625, 0.28125, 0.390625, 0.6609375, 0.5125, 0.334375, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.41875, 0.6671875, 0.6671875, 0.334375, 0.384375, 0.6671875, 0.334375, 1, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.4703125, 0.6109375, 0.4453125, 0.6671875, 0.6140625, 0.946875, 0.6671875, 0.615625, 0.55625, 0.390625, 0.278125, 0.390625, 0.6609375],\n avg: 0.6213157894736842\n },\n Baskerville: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.40625, 0.6671875, 0.490625, 0.875, 0.7015625, 0.178125, 0.2453125, 0.246875, 0.4171875, 0.6671875, 0.25, 0.3125, 0.25, 0.521875, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.25, 0.25, 0.6671875, 0.6671875, 0.6671875, 0.396875, 0.9171875, 0.684375, 0.615625, 0.71875, 0.7609375, 0.625, 0.553125, 0.771875, 0.803125, 0.3546875, 0.515625, 0.78125, 0.6046875, 0.928125, 0.75, 0.8234375, 0.5625, 0.96875, 0.7296875, 0.5421875, 0.6984375, 0.771875, 0.7296875, 0.9484375, 0.771875, 0.678125, 0.6359375, 0.3640625, 0.521875, 0.3640625, 0.46875, 0.5125, 0.334375, 0.46875, 0.521875, 0.428125, 0.521875, 0.4375, 0.3890625, 0.4765625, 0.53125, 0.25, 0.359375, 0.4640625, 0.240625, 0.803125, 0.53125, 0.5, 0.521875, 0.521875, 0.365625, 0.334375, 0.2921875, 0.521875, 0.4640625, 0.678125, 0.4796875, 0.465625, 0.428125, 0.4796875, 0.5109375, 0.4796875, 0.6671875],\n avg: 0.5323519736842108\n },\n Courier: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5984375, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6078125, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.61875, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.615625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6140625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625],\n avg: 0.6020559210526316\n },\n \"Courier New\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5984375, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625],\n avg: 0.6015296052631579\n },\n cursive: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1921875, 0.24375, 0.40625, 0.5671875, 0.3984375, 0.721875, 0.909375, 0.2328125, 0.434375, 0.365625, 0.4734375, 0.5578125, 0.19375, 0.3484375, 0.19375, 0.7734375, 0.503125, 0.4171875, 0.5453125, 0.45, 0.6046875, 0.4703125, 0.5984375, 0.55625, 0.503125, 0.5546875, 0.20625, 0.2, 0.5625, 0.5546875, 0.546875, 0.403125, 0.70625, 0.734375, 0.7078125, 0.64375, 0.85, 0.753125, 0.75, 0.6484375, 1.0765625, 0.44375, 0.5359375, 0.8359375, 0.653125, 1.0109375, 1.1515625, 0.6796875, 0.6984375, 1.0625, 0.8234375, 0.5125, 0.9234375, 0.8546875, 0.70625, 0.9109375, 0.7421875, 0.715625, 0.6015625, 0.4640625, 0.3359375, 0.4109375, 0.5421875, 0.5421875, 0.4328125, 0.5125, 0.5, 0.3859375, 0.7375, 0.359375, 0.75625, 0.540625, 0.5328125, 0.3203125, 0.5296875, 0.5015625, 0.484375, 0.7890625, 0.5640625, 0.4203125, 0.703125, 0.471875, 0.4734375, 0.35, 0.4125, 0.5640625, 0.471875, 0.6484375, 0.5296875, 0.575, 0.4140625, 0.415625, 0.20625, 0.3796875, 0.5421875],\n avg: 0.5604440789473684\n },\n fantasy: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.215625, 0.2625, 0.3265625, 0.6109375, 0.534375, 0.7625, 0.7828125, 0.2, 0.4359375, 0.4359375, 0.3765625, 0.5109375, 0.2796875, 0.4609375, 0.2796875, 0.5296875, 0.6640625, 0.253125, 0.521875, 0.4765625, 0.6640625, 0.490625, 0.528125, 0.5546875, 0.496875, 0.5421875, 0.2796875, 0.2796875, 0.5625, 0.4609375, 0.5625, 0.4828125, 0.609375, 0.740625, 0.7234375, 0.740625, 0.8265625, 0.7234375, 0.6171875, 0.7359375, 0.765625, 0.240625, 0.5453125, 0.715625, 0.6078125, 0.8640625, 0.653125, 0.9125, 0.6484375, 0.946875, 0.6921875, 0.653125, 0.6953125, 0.8015625, 0.58125, 0.784375, 0.671875, 0.6265625, 0.690625, 0.4359375, 0.5296875, 0.4359375, 0.53125, 0.5, 0.2875, 0.5375, 0.603125, 0.4984375, 0.60625, 0.53125, 0.434375, 0.6421875, 0.56875, 0.209375, 0.4671875, 0.5484375, 0.2203125, 0.709375, 0.55, 0.5984375, 0.6140625, 0.5765625, 0.40625, 0.4734375, 0.3734375, 0.559375, 0.4421875, 0.6421875, 0.4890625, 0.578125, 0.4484375, 0.2546875, 0.2203125, 0.2546875, 0.55],\n avg: 0.536496710526316\n },\n Geneva: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3328125, 0.3046875, 0.5, 0.6671875, 0.6671875, 0.90625, 0.728125, 0.3046875, 0.446875, 0.446875, 0.5078125, 0.6671875, 0.3046875, 0.3796875, 0.3046875, 0.5390625, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.6671875, 0.3046875, 0.3046875, 0.6671875, 0.6671875, 0.6671875, 0.56875, 0.871875, 0.728125, 0.6375, 0.6515625, 0.7015625, 0.5765625, 0.5546875, 0.675, 0.690625, 0.2421875, 0.4921875, 0.6640625, 0.584375, 0.7890625, 0.709375, 0.7359375, 0.584375, 0.78125, 0.60625, 0.60625, 0.640625, 0.6671875, 0.728125, 0.946875, 0.6109375, 0.6109375, 0.5765625, 0.446875, 0.5390625, 0.446875, 0.6671875, 0.6671875, 0.5921875, 0.5546875, 0.6109375, 0.546875, 0.603125, 0.5765625, 0.390625, 0.6109375, 0.584375, 0.2359375, 0.334375, 0.5390625, 0.2359375, 0.8953125, 0.584375, 0.60625, 0.603125, 0.603125, 0.3875, 0.509375, 0.44375, 0.584375, 0.565625, 0.78125, 0.53125, 0.571875, 0.5546875, 0.4515625, 0.246875, 0.4515625, 0.6671875],\n avg: 0.5762664473684211\n },\n Georgia: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2421875, 0.33125, 0.4125, 0.64375, 0.6109375, 0.81875, 0.7109375, 0.215625, 0.375, 0.375, 0.4734375, 0.64375, 0.2703125, 0.375, 0.2703125, 0.46875, 0.6140625, 0.4296875, 0.559375, 0.553125, 0.565625, 0.5296875, 0.5671875, 0.503125, 0.596875, 0.5671875, 0.3125, 0.3125, 0.64375, 0.64375, 0.64375, 0.4796875, 0.9296875, 0.715625, 0.6546875, 0.6421875, 0.75, 0.6546875, 0.6, 0.7265625, 0.815625, 0.390625, 0.51875, 0.7203125, 0.6046875, 0.928125, 0.7671875, 0.7453125, 0.6109375, 0.7453125, 0.7234375, 0.5625, 0.61875, 0.7578125, 0.70625, 0.99375, 0.7125, 0.6640625, 0.6015625, 0.375, 0.46875, 0.375, 0.64375, 0.65, 0.5, 0.5046875, 0.56875, 0.4546875, 0.575, 0.484375, 0.39375, 0.509375, 0.5828125, 0.29375, 0.3671875, 0.546875, 0.2875, 0.88125, 0.5921875, 0.5390625, 0.571875, 0.5640625, 0.4109375, 0.4328125, 0.3453125, 0.5765625, 0.5203125, 0.75625, 0.50625, 0.5171875, 0.4453125, 0.43125, 0.375, 0.43125, 0.64375],\n avg: 0.5551809210526316\n },\n \"Gill Sans\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2765625, 0.271875, 0.3546875, 0.584375, 0.5421875, 0.6765625, 0.625, 0.1890625, 0.3234375, 0.3234375, 0.4171875, 0.584375, 0.2203125, 0.3234375, 0.2203125, 0.28125, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.2203125, 0.2296875, 0.584375, 0.584375, 0.584375, 0.334375, 1.0109375, 0.6671875, 0.5640625, 0.709375, 0.75, 0.5, 0.4703125, 0.740625, 0.7296875, 0.25, 0.3125, 0.65625, 0.490625, 0.78125, 0.78125, 0.8234375, 0.5109375, 0.8234375, 0.6046875, 0.459375, 0.6046875, 0.709375, 0.6046875, 1.0421875, 0.709375, 0.6046875, 0.646875, 0.334375, 0.28125, 0.334375, 0.4703125, 0.5828125, 0.334375, 0.428125, 0.5, 0.4390625, 0.5109375, 0.4796875, 0.296875, 0.428125, 0.5, 0.2203125, 0.2265625, 0.5, 0.2203125, 0.771875, 0.5, 0.553125, 0.5, 0.5, 0.3984375, 0.3859375, 0.334375, 0.5, 0.4390625, 0.7203125, 0.5, 0.4390625, 0.4171875, 0.334375, 0.2609375, 0.334375, 0.584375],\n avg: 0.4933717105263159\n },\n Helvetica: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2796875, 0.2765625, 0.3546875, 0.5546875, 0.5546875, 0.8890625, 0.665625, 0.190625, 0.3328125, 0.3328125, 0.3890625, 0.5828125, 0.2765625, 0.3328125, 0.2765625, 0.3015625, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.2765625, 0.2765625, 0.584375, 0.5828125, 0.584375, 0.5546875, 1.0140625, 0.665625, 0.665625, 0.721875, 0.721875, 0.665625, 0.609375, 0.7765625, 0.721875, 0.2765625, 0.5, 0.665625, 0.5546875, 0.8328125, 0.721875, 0.7765625, 0.665625, 0.7765625, 0.721875, 0.665625, 0.609375, 0.721875, 0.665625, 0.94375, 0.665625, 0.665625, 0.609375, 0.2765625, 0.3546875, 0.2765625, 0.4765625, 0.5546875, 0.3328125, 0.5546875, 0.5546875, 0.5, 0.5546875, 0.5546875, 0.2765625, 0.5546875, 0.5546875, 0.221875, 0.240625, 0.5, 0.221875, 0.8328125, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.3328125, 0.5, 0.2765625, 0.5546875, 0.5, 0.721875, 0.5, 0.5, 0.5, 0.3546875, 0.259375, 0.353125, 0.5890625],\n avg: 0.5279276315789471\n },\n \"Helvetica Neue\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.278125, 0.259375, 0.4265625, 0.55625, 0.55625, 1, 0.6453125, 0.278125, 0.2703125, 0.26875, 0.353125, 0.6, 0.278125, 0.3890625, 0.278125, 0.36875, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.278125, 0.278125, 0.6, 0.6, 0.6, 0.55625, 0.8, 0.6625, 0.6859375, 0.7234375, 0.7046875, 0.6125, 0.575, 0.759375, 0.7234375, 0.259375, 0.5203125, 0.6703125, 0.55625, 0.871875, 0.7234375, 0.7609375, 0.6484375, 0.7609375, 0.6859375, 0.6484375, 0.575, 0.7234375, 0.6140625, 0.9265625, 0.6125, 0.6484375, 0.6125, 0.259375, 0.36875, 0.259375, 0.6, 0.5, 0.25625, 0.5375, 0.59375, 0.5375, 0.59375, 0.5375, 0.2984375, 0.575, 0.55625, 0.2234375, 0.2375, 0.5203125, 0.2234375, 0.853125, 0.55625, 0.575, 0.59375, 0.59375, 0.334375, 0.5, 0.315625, 0.55625, 0.5, 0.759375, 0.51875, 0.5, 0.48125, 0.334375, 0.2234375, 0.334375, 0.6],\n avg: 0.5279440789473684\n },\n \"Hoefler Text\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2359375, 0.2234375, 0.3921875, 0.7125, 0.49375, 0.8859375, 0.771875, 0.2125, 0.3078125, 0.309375, 0.375, 0.4234375, 0.234375, 0.3125, 0.234375, 0.3, 0.5828125, 0.365625, 0.434375, 0.3921875, 0.5234375, 0.3984375, 0.5125, 0.4328125, 0.46875, 0.5125, 0.234375, 0.234375, 0.515625, 0.4234375, 0.515625, 0.340625, 0.7609375, 0.7359375, 0.6359375, 0.721875, 0.8125, 0.6375, 0.5875, 0.8078125, 0.853125, 0.4296875, 0.503125, 0.78125, 0.609375, 0.9609375, 0.8515625, 0.8140625, 0.6125, 0.8140625, 0.71875, 0.49375, 0.7125, 0.76875, 0.771875, 1.125, 0.7765625, 0.7734375, 0.65625, 0.321875, 0.3078125, 0.321875, 0.3546875, 0.5, 0.3375, 0.446875, 0.5359375, 0.45, 0.5296875, 0.4546875, 0.425, 0.4921875, 0.54375, 0.2671875, 0.240625, 0.5390625, 0.25, 0.815625, 0.5375, 0.5234375, 0.5390625, 0.5421875, 0.365625, 0.36875, 0.35625, 0.5171875, 0.5015625, 0.75, 0.5, 0.509375, 0.44375, 0.2421875, 0.14375, 0.2421875, 0.35],\n avg: 0.5116447368421051\n },\n \"Montserrat\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2625, 0.2609375, 0.3734375, 0.696875, 0.615625, 0.8296875, 0.6703125, 0.203125, 0.3296875, 0.3296875, 0.3875, 0.575, 0.2125, 0.3828125, 0.2125, 0.3953125, 0.6625, 0.3625, 0.56875, 0.5640625, 0.6625, 0.5671875, 0.609375, 0.5890625, 0.6390625, 0.609375, 0.2125, 0.2125, 0.575, 0.575, 0.575, 0.5671875, 1.034375, 0.7171875, 0.7546875, 0.7203125, 0.8265625, 0.6703125, 0.634375, 0.7734375, 0.8140625, 0.303125, 0.5078125, 0.7125, 0.5890625, 0.95625, 0.8140625, 0.8390625, 0.71875, 0.8390625, 0.7234375, 0.615625, 0.575, 0.7921875, 0.6984375, 1.1125, 0.65625, 0.6359375, 0.6515625, 0.31875, 0.396875, 0.31875, 0.5765625, 0.5, 0.6, 0.590625, 0.678125, 0.5640625, 0.678125, 0.6046875, 0.375, 0.6875, 0.678125, 0.2703125, 0.365625, 0.6015625, 0.2703125, 1.0625, 0.678125, 0.628125, 0.678125, 0.678125, 0.4015625, 0.4890625, 0.40625, 0.6734375, 0.5421875, 0.8796875, 0.534375, 0.5671875, 0.5125, 0.334375, 0.2953125, 0.334375, 0.575],\n avg: 0.571792763157895\n },\n monospace: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5984375, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6078125, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.61875, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.615625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6140625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625, 0.6015625],\n avg: 0.6020559210526316\n },\n Overpass: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2296875, 0.2765625, 0.4203125, 0.68125, 0.584375, 0.8515625, 0.7015625, 0.2203125, 0.3453125, 0.3453125, 0.53125, 0.63125, 0.2234375, 0.3953125, 0.2234375, 0.509375, 0.65, 0.4046875, 0.6171875, 0.60625, 0.6484375, 0.60625, 0.6015625, 0.5375, 0.615625, 0.6015625, 0.2234375, 0.2234375, 0.63125, 0.63125, 0.63125, 0.5015625, 0.8203125, 0.696875, 0.6671875, 0.65, 0.6859375, 0.6015625, 0.559375, 0.690625, 0.7078125, 0.2953125, 0.565625, 0.678125, 0.58125, 0.8046875, 0.7109375, 0.740625, 0.6421875, 0.740625, 0.6765625, 0.6046875, 0.590625, 0.696875, 0.6640625, 0.853125, 0.65, 0.6671875, 0.6625, 0.3734375, 0.509375, 0.3734375, 0.63125, 0.5125, 0.4, 0.5328125, 0.5625, 0.51875, 0.5625, 0.546875, 0.3359375, 0.5625, 0.565625, 0.25625, 0.3203125, 0.55, 0.265625, 0.85, 0.565625, 0.5671875, 0.5625, 0.5625, 0.4046875, 0.4765625, 0.3796875, 0.565625, 0.521875, 0.7265625, 0.53125, 0.5390625, 0.5125, 0.3671875, 0.275, 0.3671875, 0.63125],\n avg: 0.5430756578947369\n },\n Palatino: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.278125, 0.371875, 0.60625, 0.5, 0.840625, 0.778125, 0.209375, 0.334375, 0.334375, 0.390625, 0.60625, 0.2578125, 0.334375, 0.25, 0.60625, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.25, 0.25, 0.60625, 0.60625, 0.60625, 0.4453125, 0.7484375, 0.778125, 0.6109375, 0.709375, 0.775, 0.6109375, 0.55625, 0.7640625, 0.8328125, 0.3375, 0.346875, 0.7265625, 0.6109375, 0.946875, 0.83125, 0.7875, 0.6046875, 0.7875, 0.66875, 0.525, 0.6140625, 0.778125, 0.7234375, 1, 0.6671875, 0.6671875, 0.6671875, 0.334375, 0.60625, 0.334375, 0.60625, 0.5, 0.334375, 0.5, 0.565625, 0.4453125, 0.6109375, 0.4796875, 0.340625, 0.55625, 0.5828125, 0.2921875, 0.2671875, 0.5640625, 0.2921875, 0.8828125, 0.5828125, 0.546875, 0.6015625, 0.5609375, 0.3953125, 0.425, 0.3265625, 0.603125, 0.565625, 0.834375, 0.5171875, 0.55625, 0.5, 0.334375, 0.60625, 0.334375, 0.60625],\n avg: 0.5408552631578947\n },\n \"RedHatText\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2328125, 0.2203125, 0.35625, 0.6890625, 0.55, 0.7390625, 0.6703125, 0.2140625, 0.4015625, 0.4015625, 0.4546875, 0.53125, 0.2203125, 0.45625, 0.2203125, 0.515625, 0.6609375, 0.3078125, 0.5484375, 0.5875, 0.61875, 0.5703125, 0.6203125, 0.559375, 0.6140625, 0.6203125, 0.2203125, 0.2234375, 0.465625, 0.534375, 0.465625, 0.5125, 0.7671875, 0.6609375, 0.6703125, 0.7265625, 0.728125, 0.6203125, 0.6109375, 0.8, 0.73125, 0.253125, 0.6, 0.6125, 0.6078125, 0.8625, 0.7390625, 0.8109375, 0.6546875, 0.809375, 0.6484375, 0.6234375, 0.6171875, 0.7125, 0.6609375, 0.8984375, 0.6546875, 0.646875, 0.60625, 0.3625, 0.5203125, 0.3625, 0.540625, 0.4609375, 0.5234375, 0.5265625, 0.584375, 0.509375, 0.5828125, 0.5578125, 0.3703125, 0.5828125, 0.553125, 0.2234375, 0.24375, 0.4890625, 0.2234375, 0.8453125, 0.553125, 0.58125, 0.584375, 0.5828125, 0.353125, 0.453125, 0.378125, 0.553125, 0.5015625, 0.6984375, 0.4875, 0.4984375, 0.459375, 0.3953125, 0.2921875, 0.3953125, 0.58125],\n avg: 0.5341940789473685\n },\n \"sans-serif\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.278125, 0.278125, 0.35625, 0.55625, 0.55625, 0.890625, 0.6671875, 0.1921875, 0.334375, 0.334375, 0.390625, 0.584375, 0.278125, 0.334375, 0.278125, 0.303125, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.55625, 0.278125, 0.278125, 0.5859375, 0.584375, 0.5859375, 0.55625, 1.015625, 0.6671875, 0.6671875, 0.7234375, 0.7234375, 0.6671875, 0.6109375, 0.778125, 0.7234375, 0.278125, 0.5, 0.6671875, 0.55625, 0.834375, 0.7234375, 0.778125, 0.6671875, 0.778125, 0.7234375, 0.6671875, 0.6109375, 0.7234375, 0.6671875, 0.9453125, 0.6671875, 0.6671875, 0.6109375, 0.278125, 0.35625, 0.278125, 0.478125, 0.55625, 0.334375, 0.55625, 0.55625, 0.5, 0.55625, 0.55625, 0.278125, 0.55625, 0.55625, 0.2234375, 0.2421875, 0.5, 0.2234375, 0.834375, 0.55625, 0.55625, 0.55625, 0.55625, 0.334375, 0.5, 0.278125, 0.55625, 0.5, 0.7234375, 0.5, 0.5, 0.5, 0.35625, 0.2609375, 0.3546875, 0.590625],\n avg: 0.5293256578947368\n },\n Seravek: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.215625, 0.296875, 0.4171875, 0.6734375, 0.4953125, 0.9125, 0.740625, 0.2421875, 0.3375, 0.3375, 0.409375, 0.60625, 0.2609375, 0.35625, 0.25625, 0.41875, 0.5921875, 0.3515625, 0.475, 0.4875, 0.5375, 0.509375, 0.5484375, 0.4546875, 0.5421875, 0.5484375, 0.25625, 0.2546875, 0.5875, 0.6171875, 0.5875, 0.4578125, 0.8140625, 0.6765625, 0.5703125, 0.6109375, 0.684375, 0.5109375, 0.4953125, 0.678125, 0.6859375, 0.2625, 0.2625, 0.5859375, 0.4734375, 0.846875, 0.709375, 0.740625, 0.509375, 0.740625, 0.584375, 0.5015625, 0.528125, 0.675, 0.5953125, 0.9453125, 0.596875, 0.540625, 0.540625, 0.359375, 0.4203125, 0.359375, 0.5109375, 0.421875, 0.4046875, 0.5015625, 0.5421875, 0.446875, 0.5453125, 0.484375, 0.38125, 0.5140625, 0.5546875, 0.240625, 0.2640625, 0.490625, 0.2765625, 0.8625, 0.5546875, 0.546875, 0.5453125, 0.5453125, 0.3625, 0.41875, 0.3890625, 0.5453125, 0.4703125, 0.7546875, 0.4921875, 0.4609375, 0.453125, 0.4015625, 0.2640625, 0.4015625, 0.58125],\n avg: 0.5044078947368421\n },\n serif: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2484375, 0.334375, 0.409375, 0.5, 0.5, 0.834375, 0.778125, 0.18125, 0.334375, 0.334375, 0.5, 0.5640625, 0.25, 0.334375, 0.25, 0.278125, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.278125, 0.278125, 0.5640625, 0.5640625, 0.5640625, 0.4453125, 0.921875, 0.7234375, 0.6671875, 0.6671875, 0.7234375, 0.6109375, 0.55625, 0.7234375, 0.7234375, 0.334375, 0.390625, 0.7234375, 0.6109375, 0.890625, 0.7234375, 0.7234375, 0.55625, 0.7234375, 0.6671875, 0.55625, 0.6109375, 0.7234375, 0.7234375, 0.9453125, 0.7234375, 0.7234375, 0.6109375, 0.334375, 0.340625, 0.334375, 0.4703125, 0.5, 0.3453125, 0.4453125, 0.5, 0.4453125, 0.5, 0.4453125, 0.3828125, 0.5, 0.5, 0.278125, 0.3359375, 0.5, 0.278125, 0.778125, 0.5, 0.5, 0.5, 0.5, 0.3375, 0.390625, 0.2796875, 0.5, 0.5, 0.7234375, 0.5, 0.5, 0.4453125, 0.48125, 0.2015625, 0.48125, 0.5421875],\n avg: 0.5126315789473684\n },\n Tahoma: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3109375, 0.3328125, 0.4015625, 0.728125, 0.546875, 0.9765625, 0.70625, 0.2109375, 0.3828125, 0.3828125, 0.546875, 0.728125, 0.303125, 0.3640625, 0.303125, 0.3953125, 0.546875, 0.546875, 0.546875, 0.546875, 0.546875, 0.546875, 0.546875, 0.546875, 0.546875, 0.546875, 0.3546875, 0.3546875, 0.728125, 0.728125, 0.728125, 0.475, 0.909375, 0.6109375, 0.590625, 0.6015625, 0.6796875, 0.5625, 0.521875, 0.66875, 0.6765625, 0.3734375, 0.4171875, 0.6046875, 0.4984375, 0.771875, 0.66875, 0.7078125, 0.5515625, 0.7078125, 0.6375, 0.5578125, 0.5875, 0.65625, 0.60625, 0.903125, 0.58125, 0.5890625, 0.559375, 0.3828125, 0.39375, 0.3828125, 0.728125, 0.5625, 0.546875, 0.525, 0.553125, 0.4625, 0.553125, 0.5265625, 0.3546875, 0.553125, 0.5578125, 0.2296875, 0.328125, 0.51875, 0.2296875, 0.840625, 0.5578125, 0.54375, 0.553125, 0.553125, 0.3609375, 0.446875, 0.3359375, 0.5578125, 0.4984375, 0.7421875, 0.4953125, 0.4984375, 0.4453125, 0.48125, 0.3828125, 0.48125, 0.728125],\n avg: 0.5384374999999998\n },\n \"Times New Roman\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2484375, 0.334375, 0.409375, 0.5, 0.5, 0.834375, 0.778125, 0.18125, 0.334375, 0.334375, 0.5, 0.5640625, 0.25, 0.334375, 0.25, 0.28125, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.278125, 0.278125, 0.5640625, 0.5640625, 0.5640625, 0.4453125, 0.921875, 0.7234375, 0.6671875, 0.6671875, 0.7234375, 0.6109375, 0.55625, 0.7234375, 0.7234375, 0.334375, 0.390625, 0.73125, 0.6109375, 0.890625, 0.7375, 0.7234375, 0.55625, 0.7234375, 0.6765625, 0.55625, 0.6109375, 0.7234375, 0.7234375, 0.9453125, 0.7234375, 0.7234375, 0.6109375, 0.334375, 0.28125, 0.334375, 0.4703125, 0.51875, 0.334375, 0.4453125, 0.503125, 0.4453125, 0.503125, 0.4453125, 0.4359375, 0.5, 0.5, 0.278125, 0.35625, 0.50625, 0.278125, 0.778125, 0.5, 0.5, 0.5046875, 0.5, 0.340625, 0.390625, 0.2796875, 0.5, 0.5, 0.7234375, 0.5, 0.5, 0.4453125, 0.48125, 0.2015625, 0.48125, 0.5421875],\n avg: 0.5134375\n },\n \"Trebuchet MS\": {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3015625, 0.3671875, 0.325, 0.53125, 0.525, 0.6015625, 0.70625, 0.1609375, 0.3671875, 0.3671875, 0.3671875, 0.525, 0.3671875, 0.3671875, 0.3671875, 0.525, 0.525, 0.525, 0.525, 0.525, 0.525, 0.525, 0.525, 0.525, 0.525, 0.525, 0.3671875, 0.3671875, 0.525, 0.525, 0.525, 0.3671875, 0.771875, 0.590625, 0.5671875, 0.5984375, 0.6140625, 0.5359375, 0.525, 0.6765625, 0.6546875, 0.2796875, 0.4765625, 0.5765625, 0.5078125, 0.7109375, 0.6390625, 0.675, 0.5578125, 0.7421875, 0.5828125, 0.48125, 0.58125, 0.6484375, 0.5875, 0.853125, 0.5578125, 0.5703125, 0.5515625, 0.3671875, 0.3578125, 0.3671875, 0.525, 0.53125, 0.525, 0.5265625, 0.5578125, 0.4953125, 0.5578125, 0.546875, 0.375, 0.503125, 0.546875, 0.2859375, 0.3671875, 0.5046875, 0.2953125, 0.83125, 0.546875, 0.5375, 0.5578125, 0.5578125, 0.3890625, 0.40625, 0.396875, 0.546875, 0.490625, 0.7453125, 0.5015625, 0.49375, 0.475, 0.3671875, 0.525, 0.3671875, 0.525],\n avg: 0.5085197368421052\n },\n Verdana: {\n widths: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.35, 0.39375, 0.459375, 0.81875, 0.6359375, 1.0765625, 0.759375, 0.26875, 0.4546875, 0.4546875, 0.6359375, 0.81875, 0.3640625, 0.4546875, 0.3640625, 0.4703125, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.6359375, 0.4546875, 0.4546875, 0.81875, 0.81875, 0.81875, 0.546875, 1, 0.684375, 0.6859375, 0.6984375, 0.771875, 0.6328125, 0.575, 0.7765625, 0.7515625, 0.421875, 0.4546875, 0.69375, 0.5578125, 0.84375, 0.7484375, 0.7875, 0.603125, 0.7875, 0.7, 0.684375, 0.6171875, 0.7328125, 0.684375, 0.9890625, 0.6859375, 0.615625, 0.6859375, 0.4546875, 0.46875, 0.4546875, 0.81875, 0.6421875, 0.6359375, 0.6015625, 0.6234375, 0.521875, 0.6234375, 0.596875, 0.384375, 0.6234375, 0.6328125, 0.275, 0.3765625, 0.5921875, 0.275, 0.9734375, 0.6328125, 0.6078125, 0.6234375, 0.6234375, 0.43125, 0.521875, 0.3953125, 0.6328125, 0.5921875, 0.81875, 0.5921875, 0.5921875, 0.5265625, 0.6359375, 0.4546875, 0.6359375, 0.81875],\n avg: 0.6171875000000003\n }\n}; // https://developer.mozilla.org/en/docs/Web/CSS/length\n// Absolute sizes in pixels for obsolete measurement units.\n\nvar absoluteMeasurementUnitsToPixels = {\n mm: 3.8,\n sm: 38,\n pt: 1.33,\n pc: 16,\n in: 96,\n px: 1\n};\nvar relativeMeasurementUnitsCoef = {\n em: 1,\n ex: 0.5\n};\nvar coefficients = {\n heightOverlapCoef: 1.05,\n // Coefficient for height value to prevent overlap.\n lineCapitalCoef: 1.15 // Coefficient for height value. Reserve space for capital chars.\n\n};\nvar defaultStyle = {\n lineHeight: 1,\n letterSpacing: \"0px\",\n fontSize: 0,\n angle: 0,\n fontFamily: \"\"\n};\n\nvar _degreeToRadian = function (angle) {\n return angle * Math.PI / 180;\n};\n\nvar _getFontData = function (fontFamily) {\n var possibleFonts = fontFamily.split(\",\").map(function (f) {\n return f.replace(/'|\"/g, \"\");\n });\n var fontMatch = possibleFonts.find(function (f) {\n return fonts[f];\n }) || \"Helvetica\";\n return fonts[fontMatch];\n};\n\nvar _splitToLines = function (text) {\n return Array.isArray(text) ? text : text.toString().split(/\\r\\n|\\r|\\n/g);\n};\n\nvar _getSizeWithRotate = function (axisSize, dependentSize, angle) {\n var angleInRadian = _degreeToRadian(angle);\n\n return Math.abs(Math.cos(angleInRadian) * axisSize) + Math.abs(Math.sin(angleInRadian) * dependentSize);\n};\n/**\n * Convert length-type parameters from specific measurement units to pixels\n * @param {string} length Css length string value.\n * @param {number} fontSize Current text font-size.\n * @returns {number} Approximate Css length in pixels.\n */\n\n\nexport var convertLengthToPixels = function (length, fontSize) {\n var _length$match;\n\n var attribute = (_length$match = length.match(/[a-zA-Z%]+/)) === null || _length$match === void 0 ? void 0 : _length$match[0];\n var value = Number(length.match(/[0-9.,]+/));\n var result;\n\n if (!attribute) {\n result = value || 0;\n } else if (absoluteMeasurementUnitsToPixels.hasOwnProperty(attribute)) {\n result = value * absoluteMeasurementUnitsToPixels[attribute];\n } else if (relativeMeasurementUnitsCoef.hasOwnProperty(attribute)) {\n result = (fontSize ? value * fontSize : value * defaultStyle.fontSize) * relativeMeasurementUnitsCoef[attribute];\n } else {\n result = value;\n }\n\n return result;\n};\n\nvar _prepareParams = function (inputStyle, index) {\n var lineStyle = Array.isArray(inputStyle) ? inputStyle[index] : inputStyle;\n\n var style = _defaults({}, lineStyle, defaultStyle);\n\n return _assign({}, style, {\n fontFamily: style.fontFamily,\n letterSpacing: typeof style.letterSpacing === \"number\" ? style.letterSpacing : convertLengthToPixels(String(style.letterSpacing), style.fontSize),\n fontSize: typeof style.fontSize === \"number\" ? style.fontSize : convertLengthToPixels(String(style.fontSize))\n });\n};\n\nvar _approximateTextWidthInternal = function (text, style) {\n if (text === undefined || text === \"\" || text === null) {\n return 0;\n }\n\n var widths = _splitToLines(text).map(function (line, index) {\n var len = line.toString().length;\n\n var _prepareParams2 = _prepareParams(style, index),\n fontSize = _prepareParams2.fontSize,\n letterSpacing = _prepareParams2.letterSpacing,\n fontFamily = _prepareParams2.fontFamily;\n\n var fontData = _getFontData(fontFamily);\n\n var width = line.toString().split(\"\").map(function (c) {\n return c.charCodeAt(0) < fontData.widths.length ? fontData.widths[c.charCodeAt(0)] : fontData.avg;\n }).reduce(function (cur, acc) {\n return acc + cur;\n }, 0) * fontSize;\n return width + letterSpacing * Math.max(len - 1, 0);\n });\n\n return Math.max.apply(Math, _toConsumableArray(widths));\n};\n\nvar _approximateTextHeightInternal = function (text, style) {\n if (text === undefined || text === \"\" || text === null) {\n return 0;\n }\n\n return _splitToLines(text).reduce(function (total, line, index) {\n var lineStyle = _prepareParams(style, index);\n\n var containsCaps = line.toString().match(/[(A-Z)(0-9)]/);\n var height = containsCaps ? lineStyle.fontSize * coefficients.lineCapitalCoef : lineStyle.fontSize;\n return total + lineStyle.lineHeight * height;\n }, 0);\n};\n\nvar _approximateDimensionsInternal = function (text, style) {\n var angle = Array.isArray(style) ? style[0] && style[0].angle : style && style.angle;\n\n var height = _approximateTextHeightInternal(text, style);\n\n var width = _approximateTextWidthInternal(text, style);\n\n var widthWithRotate = angle ? _getSizeWithRotate(width, height, angle) : width;\n var heightWithRotate = angle ? _getSizeWithRotate(height, width, angle) : height;\n return {\n width: widthWithRotate,\n height: heightWithRotate * coefficients.heightOverlapCoef\n };\n};\n\nvar _getMeasurementContainer = _memoize(function () {\n var element = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n element.setAttribute(\"xlink\", \"http://www.w3.org/1999/xlink\");\n element.setAttribute(\"width\", \"300\");\n element.setAttribute(\"height\", \"300\");\n element.setAttribute(\"viewBox\", \"0 0 300 300\");\n var containerElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n element.appendChild(containerElement);\n element.style.position = \"fixed\";\n element.style.top = \"-9999px\";\n element.style.left = \"-9999px\";\n document.body.appendChild(element);\n return containerElement;\n});\n\nvar styleToKeyComponent = function (style) {\n if (!style) {\n return \"null\";\n }\n\n return \"\".concat(style.angle, \":\").concat(style.fontFamily, \":\").concat(style.fontSize, \":\").concat(style.letterSpacing, \":\").concat(style.lineHeight);\n};\n\nvar _measureDimensionsInternal = _memoize(function (text, style) {\n var containerElement = _getMeasurementContainer();\n\n var lines = _splitToLines(text);\n\n var heightAcc = 0;\n\n for (var _ref of lines.entries()) {\n var _ref2 = _slicedToArray(_ref, 2);\n\n var i = _ref2[0];\n var line = _ref2[1];\n var textElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n\n var params = _prepareParams(style, i);\n\n textElement.style.fontFamily = params.fontFamily;\n textElement.style.fontSize = \"\".concat(params.fontSize, \"px\");\n textElement.style.lineHeight = params.lineHeight;\n textElement.style.fontFamily = params.fontFamily;\n textElement.style.letterSpacing = params.letterSpacing;\n textElement.textContent = line;\n textElement.setAttribute(\"x\", \"0\");\n textElement.setAttribute(\"y\", \"\".concat(heightAcc));\n containerElement.appendChild(textElement);\n heightAcc += params.lineHeight * textElement.getBoundingClientRect().height;\n }\n\n var _containerElement$get = containerElement.getBoundingClientRect(),\n width = _containerElement$get.width;\n\n containerElement.innerHTML = \"\";\n return {\n width: style !== null && style !== void 0 && style.angle ? _getSizeWithRotate(width, heightAcc, style === null || style === void 0 ? void 0 : style.angle) : width,\n height: style !== null && style !== void 0 && style.angle ? _getSizeWithRotate(heightAcc, width, style === null || style === void 0 ? void 0 : style.angle) : heightAcc\n };\n}, function (text, style) {\n var totalText = Array.isArray(text) ? text.join() : text;\n var totalStyle = Array.isArray(style) ? style.map(styleToKeyComponent).join() : styleToKeyComponent(style);\n return \"\".concat(totalText, \"::\").concat(totalStyle);\n});\n\n// Stubbable implementation.\nexport var _approximateTextSizeInternal = {\n impl: function (text, style) {\n var __debugForceApproximate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n // Attempt to first measure the element in DOM. If there is no DOM, fallback\n // to the less accurate approximation algorithm.\n var isClient = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\n\n if (!isClient || __debugForceApproximate) {\n return _approximateDimensionsInternal(text, style);\n }\n\n return _measureDimensionsInternal(text, style);\n }\n};\n/**\n * Predict text size by font params.\n * @param {string|string[]} text Content for width calculation.\n * @param {Object} style Text styles, ,fontFamily, fontSize, etc.\n * @param {string} style.fontFamily Text fontFamily.\n * @param {(number|string)} style.fontSize Text fontSize.\n * @param {number} style.angle Text rotate angle.\n * @param {string} style.letterSpacing Text letterSpacing(space between letters).\n * @param {number} style.lineHeight Line height coefficient.\n * @returns {number} Approximate text label height.\n */\n\nexport var approximateTextSize = function (text, style) {\n return _approximateTextSizeInternal.impl(text, style);\n};","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport { timer, now } from \"victory-vendor/d3-timer\";\n\nvar Timer = /*#__PURE__*/function () {\n function Timer() {\n var _this = this;\n\n _classCallCheck(this, Timer);\n\n this.shouldAnimate = void 0;\n this.subscribers = void 0;\n this.activeSubscriptions = void 0;\n this.timer = void 0;\n\n this.loop = function () {\n _this.subscribers.forEach(function (s) {\n s.callback(now() - s.startTime, s.duration);\n });\n };\n\n this.shouldAnimate = true;\n this.subscribers = [];\n this.timer = null;\n this.activeSubscriptions = 0;\n }\n\n _createClass(Timer, [{\n key: \"bypassAnimation\",\n value: function bypassAnimation() {\n this.shouldAnimate = false;\n }\n }, {\n key: \"resumeAnimation\",\n value: function resumeAnimation() {\n this.shouldAnimate = true;\n }\n }, {\n key: \"start\",\n value: function start() {\n if (!this.timer) {\n this.timer = timer(this.loop);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n if (this.timer) {\n this.timer.stop();\n this.timer = null;\n }\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(callback, duration) {\n duration = this.shouldAnimate ? duration : 0;\n var subscriptionID = this.subscribers.push({\n startTime: now(),\n callback: callback,\n duration: duration\n });\n this.activeSubscriptions++;\n this.start();\n return subscriptionID;\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(id) {\n if (id !== null && this.subscribers[id - 1]) {\n delete this.subscribers[id - 1];\n this.activeSubscriptions--;\n }\n\n if (this.activeSubscriptions === 0) {\n this.stop();\n }\n }\n }]);\n\n return Timer;\n}();\n\nexport { Timer as default };","import React from \"react\";\nimport Timer from \"./timer\";\n/**\n * The React context object consumers may use to access or override the global\n * timer.\n */\n\nvar TimerContext = /*#__PURE__*/React.createContext({\n transitionTimer: new Timer(),\n animationTimer: new Timer()\n});\nTimerContext.displayName = \"TimerContext\";\nexport default TimerContext;","import _keys from \"lodash/keys\";\nimport _identity from \"lodash/identity\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\nimport React from \"react\";\n\nfunction getDatumKey(datum, idx) {\n return (datum.key || idx).toString();\n}\n\nfunction getKeyedData(data) {\n return data.reduce(function (keyedData, datum, idx) {\n var key = getDatumKey(datum, idx);\n keyedData[key] = datum;\n return keyedData;\n }, {});\n}\n\nfunction getKeyedDataDifference(a, b) {\n var hasDifference = false;\n\n var difference = _keys(a).reduce(function (_difference, key) {\n if (!(key in b)) {\n hasDifference = true;\n _difference[key] = true;\n }\n\n return _difference;\n }, {});\n\n return hasDifference && difference;\n}\n/**\n * Calculate which data-points exist in oldData and not nextData -\n * these are the `exiting` data-points. Also calculate which\n * data-points exist in nextData and not oldData - these are the\n * `entering` data-points.\n *\n * @param {Array} oldData this.props.data Array\n * @param {Array} nextData this.props.data Array\n *\n * @return {Object} Object with `entering` and `exiting` properties.\n * entering[datum.key] will be true if the data is\n * entering, and similarly for `exiting`.\n */\n\n\nfunction getNodeTransitions(oldData, nextData) {\n var oldDataKeyed = oldData && getKeyedData(oldData);\n var nextDataKeyed = nextData && getKeyedData(nextData);\n return {\n entering: oldDataKeyed && getKeyedDataDifference(nextDataKeyed, oldDataKeyed),\n exiting: nextDataKeyed && getKeyedDataDifference(oldDataKeyed, nextDataKeyed)\n };\n}\n\nfunction getChildData(child) {\n if (child.type && child.type.getData) {\n return child.type.getData(child.props);\n }\n\n return child.props && child.props.data || false;\n}\n/**\n * If a parent component has animation enabled, calculate the transitions\n * for any data of any child component that supports data transitions.\n * Data transitions are defined as any two datasets where data nodes exist\n * in the first set and not the second, in the second and not the first,\n * or both.\n *\n * @param {Children} oldChildren this.props.children from old props\n * @param {Children} nextChildren this.props.children from next props\n *\n * @return {Object} Object with the following properties:\n * - nodesWillExit\n * - nodesWillEnter\n * - childrenTransitions\n * - nodesShouldEnter\n */\n\n\nexport function getInitialTransitionState(oldChildren, nextChildren) {\n var nodesWillExit = false;\n var nodesWillEnter = false;\n\n var getTransition = function (oldChild, newChild) {\n if (!newChild || oldChild.type !== newChild.type) {\n return {};\n }\n\n var _ref = getNodeTransitions(getChildData(oldChild), getChildData(newChild)) || {},\n entering = _ref.entering,\n exiting = _ref.exiting;\n\n nodesWillExit = nodesWillExit || !!exiting;\n nodesWillEnter = nodesWillEnter || !!entering;\n return {\n entering: entering || false,\n exiting: exiting || false\n };\n };\n\n var getTransitionsFromChildren = function (old, next) {\n return old.map(function (child, idx) {\n if (child && child.props && child.props.children && next[idx]) {\n return getTransitionsFromChildren(React.Children.toArray(old[idx].props.children), React.Children.toArray(next[idx].props.children));\n } // get Transition entering and exiting nodes\n\n\n return getTransition(child, next[idx]);\n });\n };\n\n var childrenTransitions = getTransitionsFromChildren(React.Children.toArray(oldChildren), React.Children.toArray(nextChildren));\n return {\n nodesWillExit: nodesWillExit,\n nodesWillEnter: nodesWillEnter,\n childrenTransitions: childrenTransitions,\n // TODO: This may need to be refactored for the following situation.\n // The component receives new props, and the data provided\n // is a perfect match for the previous data and domain except\n // for new nodes. In this case, we wouldn't want a delay before\n // the new nodes appear.\n nodesShouldEnter: false\n };\n}\n\nfunction getInitialChildProps(animate, data) {\n var after = animate.onEnter && animate.onEnter.after ? animate.onEnter.after : _identity;\n return {\n data: data.map(function (datum, idx) {\n return _assign({}, datum, after(datum, idx, data));\n })\n };\n} // eslint-disable-next-line max-params\n\n\nfunction getChildBeforeLoad(animate, child, data, cb) {\n animate = _assign({}, animate, {\n onEnd: cb\n });\n\n if (animate && animate.onLoad && !animate.onLoad.duration) {\n return {\n animate: animate,\n data: data\n };\n }\n\n var before = animate.onLoad && animate.onLoad.before ? animate.onLoad.before : _identity; // If nodes need to exit, transform them with the provided onLoad.before function.\n\n data = data.map(function (datum, idx) {\n return _assign({}, datum, before(datum, idx, data));\n });\n return {\n animate: animate,\n data: data,\n clipWidth: 0\n };\n} // eslint-disable-next-line max-params\n\n\nfunction getChildOnLoad(animate, data, cb) {\n animate = _assign({}, animate, {\n onEnd: cb\n });\n\n if (animate && animate.onLoad && !animate.onLoad.duration) {\n return {\n animate: animate,\n data: data\n };\n }\n\n var after = animate.onLoad && animate.onLoad.after ? animate.onLoad.after : _identity; // If nodes need to exit, transform them with the provided onLoad.after function.\n\n data = data.map(function (datum, idx) {\n return _assign({}, datum, after(datum, idx, data));\n });\n return {\n animate: animate,\n data: data\n };\n} // eslint-disable-next-line max-params, max-len\n\n\nfunction getChildPropsOnExit(animate, child, data, exitingNodes, cb) {\n // Whether or not _this_ child has exiting nodes, we want the exit-\n // transition for all children to have the same duration, delay, etc.\n var onExit = animate && animate.onExit;\n animate = _assign({}, animate, onExit);\n\n if (exitingNodes) {\n // After the exit transition occurs, trigger the animations for\n // nodes that are neither exiting nor entering.\n animate.onEnd = cb;\n var before = animate.onExit && animate.onExit.before ? animate.onExit.before : _identity; // If nodes need to exit, transform them with the provided onExit.before function.\n\n data = data.map(function (datum, idx) {\n var key = (datum.key || idx).toString();\n return exitingNodes[key] ? _assign({}, datum, before(datum, idx, data)) : datum;\n });\n }\n\n return {\n animate: animate,\n data: data\n };\n} // eslint-disable-next-line max-params,max-len\n\n\nfunction getChildPropsBeforeEnter(animate, child, data, enteringNodes, cb) {\n if (enteringNodes) {\n // Perform a normal animation here, except - when it finishes - trigger\n // the transition for entering nodes.\n animate = _assign({}, animate, {\n onEnd: cb\n });\n var before = animate.onEnter && animate.onEnter.before ? animate.onEnter.before : _identity; // We want the entering nodes to be included in the transition target\n // domain. However, we may not want these nodes to be displayed initially,\n // so perform the `onEnter.before` transformation on each node.\n\n data = data.map(function (datum, idx) {\n var key = (datum.key || idx).toString();\n return enteringNodes[key] ? _assign({}, datum, before(datum, idx, data)) : datum;\n });\n }\n\n return {\n animate: animate,\n data: data\n };\n} // eslint-disable-next-line max-params, max-len\n\n\nfunction getChildPropsOnEnter(animate, data, enteringNodes, cb) {\n // Whether or not _this_ child has entering nodes, we want the entering-\n // transition for all children to have the same duration, delay, etc.\n var onEnter = animate && animate.onEnter;\n animate = _assign({}, animate, onEnter);\n\n if (enteringNodes) {\n // Old nodes have been transitioned to their new values, and the\n // domain should encompass the nodes that will now enter. So perform\n // the `onEnter.after` transformation on each node.\n animate.onEnd = cb;\n var after = animate.onEnter && animate.onEnter.after ? animate.onEnter.after : _identity;\n data = data.map(function (datum, idx) {\n var key = getDatumKey(datum, idx);\n return enteringNodes[key] ? _assign({}, datum, after(datum, idx, data)) : datum;\n });\n }\n\n return {\n animate: animate,\n data: data\n };\n}\n/**\n * getTransitionPropsFactory - putting the Java in JavaScript. This will return a\n * function that returns prop transformations for a child, given that child's props\n * and its index in the parent's children array.\n *\n * In particular, this will include an `animate` object that is set appropriately\n * so that each child will be synchronized for each stage of a transition\n * animation. It will also include a transformed `data` object, where each datum\n * is transformed by `animate.onExit` and `animate.onEnter` `before` and `after`\n * functions.\n *\n * @param {Object} props `this.props` for the parent component.\n * @param {Object} state `this.state` for the parent component.\n * @param {Function} setState Function that, when called, will `this.setState` on\n * the parent component with the provided object.\n *\n * @return {Function} Child-prop transformation function.\n */\n\n\nexport function getTransitionPropsFactory(props, state, setState) {\n var nodesWillExit = state && state.nodesWillExit;\n var nodesWillEnter = state && state.nodesWillEnter;\n var nodesShouldEnter = state && state.nodesShouldEnter;\n var nodesShouldLoad = state && state.nodesShouldLoad;\n var nodesDoneLoad = state && state.nodesDoneLoad;\n var childrenTransitions = state && state.childrenTransitions || [];\n var transitionDurations = {\n enter: props.animate && props.animate.onEnter && props.animate.onEnter.duration,\n exit: props.animate && props.animate.onExit && props.animate.onExit.duration,\n load: props.animate && props.animate.onLoad && props.animate.onLoad.duration,\n move: props.animate && props.animate.duration\n };\n\n var onLoad = function (child, data, animate) {\n if (nodesShouldLoad) {\n return getChildOnLoad(animate, data, function () {\n setState({\n nodesShouldLoad: false,\n nodesDoneLoad: true\n });\n });\n }\n\n return getChildBeforeLoad(animate, child, data, function () {\n setState({\n nodesDoneLoad: true\n });\n });\n }; // eslint-disable-next-line max-params\n\n\n var onExit = function (nodes, child, data, animate) {\n return getChildPropsOnExit(animate, child, data, nodes, function () {\n setState({\n nodesWillExit: false\n });\n });\n }; // eslint-disable-next-line max-params\n\n\n var onEnter = function (nodes, child, data, animate) {\n if (nodesShouldEnter) {\n return getChildPropsOnEnter(animate, data, nodes, function () {\n setState({\n nodesWillEnter: false\n });\n });\n }\n\n return getChildPropsBeforeEnter(animate, child, data, nodes, function () {\n setState({\n nodesShouldEnter: true\n });\n });\n };\n\n var getChildTransitionDuration = function (child, type) {\n var animate = child.props.animate;\n\n if (!child.type) {\n return {};\n }\n\n var defaultTransitions = child.props && child.props.polar ? child.type.defaultPolarTransitions || child.type.defaultTransitions : child.type.defaultTransitions;\n\n if (defaultTransitions) {\n var animationDuration = animate[type] && animate[type].duration;\n return animationDuration !== undefined ? animationDuration : defaultTransitions[type] && defaultTransitions[type].duration;\n }\n\n return {};\n }; // eslint-disable-next-line max-statements, complexity, max-len\n\n\n return function getTransitionProps(child, index) {\n var data = getChildData(child) || [];\n\n var animate = _defaults({}, props.animate, child.props.animate);\n\n var defaultTransitions = child.props.polar ? child.type.defaultPolarTransitions || child.type.defaultTransitions : child.type.defaultTransitions;\n animate.onExit = _defaults({}, animate.onExit, defaultTransitions && defaultTransitions.onExit);\n animate.onEnter = _defaults({}, animate.onEnter, defaultTransitions && defaultTransitions.onEnter);\n animate.onLoad = _defaults({}, animate.onLoad, defaultTransitions && defaultTransitions.onLoad);\n var childTransitions = childrenTransitions[index] || childrenTransitions[0];\n\n if (!nodesDoneLoad) {\n // should do onLoad animation\n var load = transitionDurations.load !== undefined ? transitionDurations.load : getChildTransitionDuration(child, \"onLoad\");\n var animation = {\n duration: load\n };\n return onLoad(child, data, _assign({}, animate, animation));\n } else if (nodesWillExit) {\n var exitingNodes = childTransitions && childTransitions.exiting;\n var exit = transitionDurations.exit !== undefined ? transitionDurations.exit : getChildTransitionDuration(child, \"onExit\"); // if nodesWillExit, but this child has no exiting nodes, set a delay instead of a duration\n\n var _animation = exitingNodes ? {\n duration: exit\n } : {\n delay: exit\n };\n\n return onExit(exitingNodes, child, data, _assign({}, animate, _animation));\n } else if (nodesWillEnter) {\n var enteringNodes = childTransitions && childTransitions.entering;\n var enter = transitionDurations.enter !== undefined ? transitionDurations.enter : getChildTransitionDuration(child, \"onEnter\");\n var move = transitionDurations.move !== undefined ? transitionDurations.move : child.props.animate && child.props.animate.duration;\n var _animation2 = {\n duration: nodesShouldEnter && enteringNodes ? enter : move\n };\n return onEnter(enteringNodes, child, data, _assign({}, animate, _animation2));\n } else if (!state && animate && animate.onExit) {\n // This is the initial render, and nodes may enter when props change. Because\n // animation interpolation is determined by old- and next- props, data may need\n // to be augmented with certain properties.\n //\n // For example, it may be desired that exiting nodes go from `opacity: 1` to\n // `opacity: 0`. Without setting this on a per-datum basis, the interpolation\n // might go from `opacity: undefined` to `opacity: 0`, which would result in\n // interpolated `opacity: NaN` values.\n //\n return getInitialChildProps(animate, data);\n }\n\n return {\n animate: animate,\n data: data\n };\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport * as React from \"react\";\n/*\n USER_PROPS_SAFELIST is to contain any string deemed safe for user props.\n The startsWidth array will contain the start of any accepted user-prop that\n starts with these characters.\n The exactMatch will contain a list of exact prop names that are accepted.\n*/\n\nvar USER_PROPS_SAFELIST = {\n startsWith: [\"data-\", \"aria-\"],\n exactMatch: []\n}; // Normally we'd use Template Literal Types, but we're avoiding it to maximize TS compatibility with TS < 4.1\n\n// `data-${string}` | `aria-${string}`;\n\n/**\n * doesPropStartWith: Function that takes a prop's key and runs it against all\n * options in the USER_PROPS_SAFELIST and checks to see if it starts with any\n * of those options.\n * @param {string} key: prop key to be tested against whitelist\n * @returns {Boolean}: returns true if the key starts with an option or false if\n * otherwise\n */\nvar doesPropStartWith = function (key) {\n var startsWith = false;\n USER_PROPS_SAFELIST.startsWith.forEach(function (starterString) {\n var regex = new RegExp(\"\\\\b(\".concat(starterString, \")(\\\\w|-)+\"), \"g\");\n if (regex.test(key)) startsWith = true;\n });\n return startsWith;\n};\n/**\n * isExactMatch: checks to see if the given key matches any of the 'exactMatch'\n * items in the whitelist\n * @param {String} key: prop key to be tested against the whitelist-exact match\n * array.\n * @returns {Boolean}: return true if whitelist contains that key, otherwise\n * returns false.\n */\n\n\nvar isExactMatch = function (key) {\n return USER_PROPS_SAFELIST.exactMatch.includes(key);\n};\n/**\n * testIfSafeProp: tests prop's key against both startsWith and exactMatch values\n * @param {String} key: prop key to be tested against the whitelist\n * @returns {Boolean}: returns true if found in whitelist, otherwise returns false\n */\n\n\nvar testIfSafeProp = function (key) {\n if (doesPropStartWith(key) || isExactMatch(key)) return true;\n return false;\n};\n/**\n * Gets the value from props if a function value is provided\n * @param {any} value: maybe function value\n * @param {Object} props: props object\n * @returns {any} newValue\n */\n\n\nvar getValue = function (value, props) {\n if (typeof value === \"function\") {\n return value(props);\n }\n\n return value;\n};\n/**\n * getSafeUserProps - function that takes in a props object and removes any\n * key-value entries that do not match filter strings in the USER_PROPS_SAFELIST\n * object.\n *\n * @param {Object} props: props to be filtered against USER_PROPS_SAFELIST\n * @returns {Object}: object containing remaining acceptable props\n */\n\n\nexport var getSafeUserProps = function (props) {\n var propsToFilter = _objectSpread({}, props);\n\n return Object.fromEntries(Object.entries(propsToFilter).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n\n return testIfSafeProp(key);\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n return [key, getValue(value, props)];\n }));\n};\n/**\n * Wraps a component and adds safe user props\n *\n * @param {ReactElement} component: parent component\n * @param {Object} props: props to be filtered\n * @returns {ReactElement} modified component\n */\n\nexport var withSafeUserProps = function (component, props) {\n return /*#__PURE__*/React.cloneElement(component, getSafeUserProps(props));\n};","import _isPlainObject from \"lodash/isPlainObject\";\nimport _values from \"lodash/values\";\nimport _uniqBy from \"lodash/uniqBy\";\nimport _groupBy from \"lodash/groupBy\";\nimport _uniq from \"lodash/uniq\";\nimport _isFunction from \"lodash/isFunction\";\nimport _flatten from \"lodash/flatten\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport React from \"react\";\nimport * as Axis from \"./axis\";\nimport * as Style from \"./style\";\nimport * as Data from \"./data\";\nimport * as Domain from \"./domain\";\nimport * as Events from \"./events\";\nimport * as Collection from \"./collection\";\nimport * as Helpers from \"./helpers\";\nimport * as Scale from \"./scale\";\nimport * as Log from \"./log\";\nexport function addBinsToParentPropsIfHistogram(_ref) {\n var children = _ref.children,\n props = _ref.props,\n childComponents = _ref.childComponents,\n parentProps = _ref.parentProps;\n var someChildrenAreHistograms = children.some(function (child) {\n return child.type && child.type.role === \"histogram\";\n });\n var allChildrenAreHistograms = someChildrenAreHistograms && children.length && children.every(function (child) {\n return child.type && child.type.role === \"histogram\";\n });\n\n if (someChildrenAreHistograms && !allChildrenAreHistograms) {\n Log.warn(\"VictoryHistogram only supports being stacked with other VictoryHistogram components. Check to make sure that you are only passing VictoryHistogram components to VictoryStack\");\n } // if we are stacking histograms, we need to generate explicit bins\n // or else each histogram may end up having different bins\n\n\n if (!allChildrenAreHistograms) {\n return parentProps;\n }\n\n var childBins = props.bins || childComponents[0].props.bins; // if we have explicit bins then we don't need to calculate them\n\n if (!Array.isArray(childBins)) {\n var combinedData = children.reduce(function (memo, child) {\n var xAccessor = Helpers.createAccessor(child.props.x || \"x\");\n return memo.concat(child.props.data.map(function (datum) {\n return {\n x: xAccessor(datum)\n };\n }));\n }, []); // use the same function to generate bins as VictoryHistogram but with\n // the combined data from above, then get explicit bins from that\n\n var getFormattedHistogramData = children[0].type.getFormattedData;\n childBins = getFormattedHistogramData({\n data: combinedData,\n bins: childBins\n }).reduce(function (memo, _ref2, index) {\n var x0 = _ref2.x0,\n x1 = _ref2.x1;\n return index === 0 ? memo.concat([x0, x1]) : memo.concat(x1);\n }, []);\n }\n\n return _objectSpread(_objectSpread({}, parentProps), {}, {\n bins: childBins\n });\n}\nexport function getDataFromChildren(props, childComponents) {\n var polar = props.polar,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n categories = props.categories,\n minDomain = props.minDomain,\n maxDomain = props.maxDomain;\n var parentProps = {\n polar: polar,\n startAngle: startAngle,\n endAngle: endAngle,\n categories: categories,\n minDomain: minDomain,\n maxDomain: maxDomain\n };\n var stack = 0;\n var children = childComponents ? childComponents.slice(0) : React.Children.toArray(props.children);\n parentProps = addBinsToParentPropsIfHistogram({\n children: children,\n props: props,\n childComponents: childComponents,\n parentProps: parentProps\n });\n\n var iteratee = function (child, childName, parent) {\n var childProps = _assign({}, child.props, parentProps);\n\n var childData;\n\n if (!Data.isDataComponent(child)) {\n return null;\n } else if (child.type && _isFunction(child.type.getData)) {\n child = parent ? /*#__PURE__*/React.cloneElement(child, parent.props) : child;\n childData = child.type.getData(childProps);\n } else {\n childData = Data.getData(childProps);\n }\n\n stack += 1;\n return childData.map(function (datum, index) {\n return _assign({\n _stack: stack,\n _group: index\n }, datum);\n });\n };\n\n var stacked = children.filter(function (c) {\n return c.type && c.type.role === \"stack\";\n }).length;\n\n var combine = function (memo, val) {\n return memo.concat(_uniqBy(val, \"_group\"));\n };\n\n var datasets = Helpers.reduceChildren(children, iteratee, props, [], combine);\n var group = stacked ? \"_group\" : \"_stack\";\n return _values(_groupBy(datasets, group));\n}\nexport function getData(props, childComponents) {\n if (props.data) {\n return Data.getData(props);\n }\n\n childComponents = childComponents || React.Children.toArray(props.children);\n return getDataFromChildren(props, childComponents);\n}\nexport function getWidth(props, groupLength, seriesLength) {\n var datasets = props.datasets,\n horizontal = props.horizontal;\n var range = horizontal ? Helpers.getRange(props, \"y\") : Helpers.getRange(props, \"x\");\n var extent = Math.abs(range[1] - range[0]);\n seriesLength = seriesLength !== undefined ? seriesLength : Array.isArray(datasets[0]) && datasets[0].length || 1;\n groupLength = groupLength || datasets.length;\n var bars = groupLength * seriesLength;\n var barRatio = 0.5;\n return Math.round(barRatio * extent / bars);\n}\nexport function getDefaultDomainPadding(props, axis, childComponents) {\n if (props.polar || axis !== \"x\") {\n return undefined;\n }\n\n var groupComponent = childComponents.filter(function (child) {\n return child.type && child.type.role && child.type.role === \"group\";\n });\n\n if (groupComponent.length < 1) {\n return undefined;\n }\n\n var _groupComponent$0$pro = groupComponent[0].props,\n offset = _groupComponent$0$pro.offset,\n children = _groupComponent$0$pro.children;\n\n if (!offset) {\n return undefined;\n }\n\n var firstChild = Array.isArray(children) && children[0];\n\n if (!firstChild) {\n return undefined;\n }\n\n var barWidth = firstChild.props.barWidth;\n var dataLength = firstChild.props.data && firstChild.props.data.length || 1;\n\n if (firstChild && firstChild.type.role === \"stack\") {\n var nestedChild = firstChild.props.children && firstChild.props.children[0];\n\n if (!nestedChild) {\n return undefined;\n }\n\n barWidth = nestedChild.props.barWidth;\n dataLength = firstChild.props.children.length;\n }\n\n var width = barWidth || getWidth(props, children.length, dataLength);\n return {\n x: width * children.length / 2 + (offset - width * ((children.length - 1) / 2))\n };\n}\nexport function getDomainFromChildren(props, axis, childComponents) {\n // eslint-disable-line max-statements, complexity, max-len\n var children = childComponents ? childComponents.slice(0) : React.Children.toArray(props.children);\n var parentData = props.data ? Data.getData(props) : undefined;\n var polar = props.polar,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n categories = props.categories,\n minDomain = props.minDomain,\n maxDomain = props.maxDomain,\n horizontal = props.horizontal;\n var baseParentProps = {\n horizontal: horizontal,\n polar: polar,\n startAngle: startAngle,\n endAngle: endAngle,\n minDomain: minDomain,\n maxDomain: maxDomain,\n categories: categories\n };\n var parentProps = parentData ? _assign(baseParentProps, {\n data: parentData\n }) : baseParentProps;\n\n var iteratee = function (child) {\n var sharedProps = _assign({}, child.props, parentProps);\n\n if (!Domain.isDomainComponent(child)) {\n return null;\n } else if (child.type && _isFunction(child.type.getDomain)) {\n return child.props && child.type.getDomain(sharedProps, axis);\n }\n\n return Domain.getDomain(sharedProps, axis);\n };\n\n var childDomains = Helpers.reduceChildren(children, iteratee, props);\n var min = childDomains.length === 0 ? 0 : Collection.getMinValue(childDomains);\n var max = childDomains.length === 0 ? 1 : Collection.getMaxValue(childDomains);\n return [min, max];\n}\nexport function getDomain(props, axis, childComponents) {\n childComponents = childComponents || React.Children.toArray(props.children);\n var propsDomain = Domain.getDomainFromProps(props, axis);\n var domainPadding = getDefaultDomainPadding(props, axis, childComponents);\n var domain;\n\n if (propsDomain) {\n domain = propsDomain;\n } else {\n var minDomain = Domain.getMinFromProps(props, axis);\n var maxDomain = Domain.getMaxFromProps(props, axis);\n var dataset = (props.data || props.y) && Data.getData(props);\n var dataDomain = dataset ? Domain.getDomainFromData(props, axis, dataset) : [];\n var childDomain = getDomainFromChildren(props, axis, childComponents);\n var min = minDomain || Collection.getMinValue([].concat(_toConsumableArray(dataDomain), _toConsumableArray(childDomain)));\n var max = maxDomain || Collection.getMaxValue([].concat(_toConsumableArray(dataDomain), _toConsumableArray(childDomain)));\n domain = Domain.getDomainFromMinMax(min, max);\n }\n\n return Domain.formatDomain(domain, _assign({\n domainPadding: domainPadding\n }, props), axis);\n}\nexport function getScale(props, axis, childComponents) {\n if (props.data) {\n return Scale.getBaseScale(props, axis);\n }\n\n var children = childComponents ? childComponents.slice(0) : React.Children.toArray(props.children);\n\n var iteratee = function (child) {\n var sharedProps = _assign({}, child.props, {\n horizontal: props.horizontal\n });\n\n return Scale.getScaleType(sharedProps, axis);\n };\n\n var childScale = _uniq(Helpers.reduceChildren(children, iteratee, props)); // default to linear scale if more than one uniq scale type is given by children\n\n\n return childScale.length > 1 ? Scale.getScaleFromName(\"linear\") : Scale.getScaleFromName(childScale[0]);\n}\nexport function getAllEvents(props) {\n var components = [\"groupComponent\", \"containerComponent\", \"labelComponent\"];\n var componentEvents = Events.getComponentEvents(props, components);\n var events = props.events;\n\n if (Array.isArray(componentEvents)) {\n events = Array.isArray(props.events) ? componentEvents.concat.apply(componentEvents, _toConsumableArray(props.events)) : componentEvents;\n }\n\n return events || [];\n}\nexport function getColor(calculatedProps, child, index) {\n // check for styles first\n var style = calculatedProps.style;\n var colorScale = calculatedProps.colorScale,\n color = calculatedProps.color;\n\n if (style && style.data && style.data.fill) {\n return style.data.fill;\n }\n\n colorScale = child.props && child.props.colorScale ? child.props.colorScale : colorScale;\n color = child.props && child.props.color ? child.props.color : color;\n\n if (!colorScale && !color) {\n return undefined;\n }\n\n var colors = Array.isArray(colorScale) ? colorScale : Style.getColorScale(colorScale);\n return color || colors[index % colors.length];\n}\nexport function getStyle(theme, style, role) {\n var defaultStyle = theme && theme[role] && theme[role].style ? theme[role].style : {};\n return Helpers.getStyles(style, defaultStyle);\n}\nexport function getChildStyle(child, index, calculatedProps) {\n var style = calculatedProps.style,\n role = calculatedProps.role;\n var childStyle = child.props.style || {};\n\n if (Array.isArray(childStyle)) {\n return childStyle;\n }\n\n var childRole = child.type && child.type.role;\n var defaultFill = childRole === \"stack\" ? undefined : getColor(calculatedProps, child, index);\n var defaultColor = childRole === \"line\" ? {\n fill: \"none\",\n stroke: defaultFill\n } : {\n fill: defaultFill\n };\n var dataWidth = role === \"stack\" ? {} : {\n width: getWidth(calculatedProps)\n };\n\n var dataStyle = _defaults({}, childStyle.data, _assign({}, dataWidth, style.data, defaultColor));\n\n var labelsStyle = _defaults({}, childStyle.labels, style.labels);\n\n return {\n parent: style.parent,\n data: dataStyle,\n labels: labelsStyle\n };\n}\nexport function getStringsFromCategories(childComponents, axis) {\n var iteratee = function (child) {\n var childProps = child.props || {};\n\n if (!Domain.isDomainComponent(child) || !childProps.categories) {\n return null;\n }\n\n var categories = childProps.categories && !Array.isArray(childProps.categories) ? childProps.categories[axis] : childProps.props.categories;\n var categoryStrings = categories && categories.filter(function (val) {\n return typeof val === \"string\";\n });\n return categoryStrings ? Collection.removeUndefined(categoryStrings) : [];\n };\n\n return Helpers.reduceChildren(childComponents.slice(0), iteratee);\n}\nexport function getStringsFromData(childComponents) {\n var iteratee = function (child) {\n var childProps = child.props || {};\n var data;\n\n if (!Data.isDataComponent(child)) {\n return null;\n } else if (child.type && _isFunction(child.type.getData)) {\n data = child.type.getData(childProps);\n } else {\n data = Data.getData(childProps);\n }\n\n return data.map(function (d) {\n return {\n x: d.xName,\n y: d.yName\n };\n });\n };\n\n var initialMemo = {\n x: [],\n y: []\n };\n\n var combine = function (memo, datum) {\n var x = Array.isArray(datum) ? datum.map(function (d) {\n return d.x;\n }).filter(Boolean) : datum.x;\n var y = Array.isArray(datum) ? datum.map(function (d) {\n return d.y;\n }).filter(Boolean) : datum.y;\n return {\n x: x !== undefined ? memo.x.concat(x) : memo.x,\n y: y !== undefined ? memo.y.concat(y) : memo.y\n };\n };\n\n return Helpers.reduceChildren(childComponents.slice(0), iteratee, {}, initialMemo, combine);\n}\nexport function getCategoryAndAxisStringsFromChildren(props, axis, childComponents) {\n var categories = _isPlainObject(props.categories) ? props.categories[axis] : props.categories;\n var axisComponent = Axis.getAxisComponent(childComponents, axis);\n var axisStrings = axisComponent ? Data.getStringsFromAxes(axisComponent.props, axis) : [];\n var categoryStrings = categories || getStringsFromCategories(childComponents, axis);\n return _uniq(_flatten([].concat(_toConsumableArray(categoryStrings), _toConsumableArray(axisStrings))));\n}\nexport function getStringsFromChildren(props, childComponents) {\n childComponents = childComponents || React.Children.toArray(props.children);\n var xStrings = getCategoryAndAxisStringsFromChildren(props, \"x\", childComponents);\n var yStrings = getCategoryAndAxisStringsFromChildren(props, \"y\", childComponents);\n var dataStrings = getStringsFromData(childComponents);\n return {\n x: _uniq(_flatten([].concat(_toConsumableArray(xStrings), _toConsumableArray(dataStrings.x)))),\n y: _uniq(_flatten([].concat(_toConsumableArray(yStrings), _toConsumableArray(dataStrings.y))))\n };\n}\nexport function getCategories(props, childComponents, allStrings) {\n var xPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.x : props.categories;\n var yPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.y : props.categories;\n var fallbackRequired = !xPropCategories || !yPropCategories;\n var fallbackProps = fallbackRequired ? allStrings || getStringsFromChildren(props, childComponents) : {};\n var xCategories = xPropCategories || fallbackProps.x;\n var yCategories = yPropCategories || fallbackProps.y;\n return {\n x: xCategories.length > 0 ? xCategories : undefined,\n y: yCategories.length > 0 ? yCategories : undefined\n };\n}","import _isNil from \"lodash/isNil\";\nimport _range from \"lodash/range\";\nimport _sum from \"lodash/sum\";\nimport _keys from \"lodash/keys\";\nimport _groupBy from \"lodash/groupBy\";\nimport _assign from \"lodash/assign\";\nimport _defaults from \"lodash/defaults\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport { Helpers, Style, TextSize } from \"victory-core\";\n\nvar getColorScale = function (props) {\n var colorScale = props.colorScale;\n return typeof colorScale === \"string\" ? Style.getColorScale(colorScale) : colorScale || [];\n};\n\nvar getLabelStyles = function (props) {\n var data = props.data,\n style = props.style;\n return data.map(function (datum, index) {\n var baseLabelStyles = _defaults({}, datum.labels, style.labels);\n\n return Helpers.evaluateStyle(baseLabelStyles, {\n datum: datum,\n index: index,\n data: data\n });\n });\n};\n\nvar getStyles = function (props, styleObject) {\n var style = props.style || {};\n styleObject = styleObject || {};\n var parentStyleProps = {\n height: \"100%\",\n width: \"100%\"\n };\n return {\n parent: _defaults(style.parent, styleObject.parent, parentStyleProps),\n data: _defaults({}, style.data, styleObject.data),\n labels: _defaults({}, style.labels, styleObject.labels),\n border: _defaults({}, style.border, styleObject.border),\n title: _defaults({}, style.title, styleObject.title)\n };\n};\n\nvar getCalculatedValues = function (props) {\n var orientation = props.orientation,\n theme = props.theme;\n var defaultStyles = theme && theme.legend && theme.legend.style ? theme.legend.style : {};\n var style = getStyles(props, defaultStyles);\n var colorScale = getColorScale(props);\n var isHorizontal = orientation === \"horizontal\";\n var borderPadding = Helpers.getPadding({\n padding: props.borderPadding\n });\n return _assign({}, props, {\n style: style,\n isHorizontal: isHorizontal,\n colorScale: colorScale,\n borderPadding: borderPadding\n });\n};\n\nvar getColumn = function (props, index) {\n var itemsPerRow = props.itemsPerRow,\n isHorizontal = props.isHorizontal;\n\n if (!itemsPerRow) {\n return isHorizontal ? index : 0;\n }\n\n return isHorizontal ? index % itemsPerRow : Math.floor(index / itemsPerRow);\n};\n\nvar getRow = function (props, index) {\n var itemsPerRow = props.itemsPerRow,\n isHorizontal = props.isHorizontal;\n\n if (!itemsPerRow) {\n return isHorizontal ? 0 : index;\n }\n\n return isHorizontal ? Math.floor(index / itemsPerRow) : index % itemsPerRow;\n};\n\nvar groupData = function (props) {\n var data = props.data;\n var style = props.style && props.style.data || {};\n var labelStyles = getLabelStyles(props);\n return data.map(function (datum, index) {\n var symbol = datum.symbol || {};\n var fontSize = labelStyles[index].fontSize; // eslint-disable-next-line no-magic-numbers\n\n var size = symbol.size || style.size || fontSize / 2.5;\n var symbolSpacer = props.symbolSpacer || Math.max(size, fontSize);\n return _objectSpread(_objectSpread({}, datum), {}, {\n size: size,\n symbolSpacer: symbolSpacer,\n fontSize: fontSize,\n textSize: TextSize.approximateTextSize(datum.name, labelStyles[index]),\n column: getColumn(props, index),\n row: getRow(props, index)\n });\n });\n};\n\nvar getColumnWidths = function (props, data) {\n var gutter = props.gutter || {};\n var gutterWidth = typeof gutter === \"object\" ? (gutter.left || 0) + (gutter.right || 0) : gutter || 0;\n\n var dataByColumn = _groupBy(data, \"column\");\n\n var columns = _keys(dataByColumn);\n\n return columns.reduce(function (memo, curr, index) {\n var lengths = dataByColumn[curr].map(function (d) {\n return d.textSize.width + d.size + d.symbolSpacer + gutterWidth;\n });\n memo[index] = Math.max.apply(Math, _toConsumableArray(lengths));\n return memo;\n }, []);\n};\n\nvar getRowHeights = function (props, data) {\n var gutter = props.rowGutter || {};\n var gutterHeight = typeof gutter === \"object\" ? (gutter.top || 0) + (gutter.bottom || 0) : gutter || 0;\n\n var dataByRow = _groupBy(data, \"row\");\n\n return _keys(dataByRow).reduce(function (memo, curr, index) {\n var rows = dataByRow[curr];\n var lengths = rows.map(function (d) {\n return d.textSize.height + d.symbolSpacer + gutterHeight;\n });\n memo[index] = Math.max.apply(Math, _toConsumableArray(lengths));\n return memo;\n }, []);\n};\n\nvar getTitleDimensions = function (props) {\n var style = props.style && props.style.title || {};\n var textSize = TextSize.approximateTextSize(props.title, style);\n var padding = style.padding || 0;\n return {\n height: textSize.height + 2 * padding || 0,\n width: textSize.width + 2 * padding || 0\n };\n};\n\nvar getOffset = function (datum, rowHeights, columnWidths) {\n var column = datum.column,\n row = datum.row;\n return {\n x: _range(column).reduce(function (memo, curr) {\n memo += columnWidths[curr];\n return memo;\n }, 0),\n y: _range(row).reduce(function (memo, curr) {\n memo += rowHeights[curr];\n return memo;\n }, 0)\n };\n};\n\nvar getAnchors = function (titleOrientation, centerTitle) {\n var standardAnchors = {\n textAnchor: titleOrientation === \"right\" ? \"end\" : \"start\",\n verticalAnchor: titleOrientation === \"bottom\" ? \"end\" : \"start\"\n };\n\n if (centerTitle) {\n var horizontal = titleOrientation === \"top\" || titleOrientation === \"bottom\";\n return {\n textAnchor: horizontal ? \"middle\" : standardAnchors.textAnchor,\n verticalAnchor: horizontal ? standardAnchors.verticalAnchor : \"middle\"\n };\n }\n\n return standardAnchors;\n};\n\nvar getTitleStyle = function (props) {\n var titleOrientation = props.titleOrientation,\n centerTitle = props.centerTitle,\n titleComponent = props.titleComponent;\n var baseStyle = props.style && props.style.title || {};\n var componentStyle = titleComponent.props && titleComponent.props.style || {};\n var anchors = getAnchors(titleOrientation, centerTitle);\n return Array.isArray(componentStyle) ? componentStyle.map(function (obj) {\n return _defaults({}, obj, baseStyle, anchors);\n }) : _defaults({}, componentStyle, baseStyle, anchors);\n}; // eslint-disable-next-line complexity\n\n\nvar getTitleProps = function (props, borderProps) {\n var title = props.title,\n titleOrientation = props.titleOrientation,\n centerTitle = props.centerTitle,\n borderPadding = props.borderPadding;\n var height = borderProps.height,\n width = borderProps.width;\n var style = getTitleStyle(props);\n var padding = Array.isArray(style) ? style[0].padding : style.padding;\n var horizontal = titleOrientation === \"top\" || titleOrientation === \"bottom\";\n var xOrientation = titleOrientation === \"bottom\" ? \"bottom\" : \"top\";\n var yOrientation = titleOrientation === \"right\" ? \"right\" : \"left\";\n var standardPadding = {\n x: centerTitle ? width / 2 : borderPadding[xOrientation] + (padding || 0),\n y: centerTitle ? height / 2 : borderPadding[yOrientation] + (padding || 0)\n };\n\n var getPadding = function () {\n return borderPadding[titleOrientation] + (padding || 0);\n };\n\n var xOffset = horizontal ? standardPadding.x : getPadding();\n var yOffset = horizontal ? getPadding() : standardPadding.y;\n return {\n x: titleOrientation === \"right\" ? props.x + width - xOffset : props.x + xOffset,\n y: titleOrientation === \"bottom\" ? props.y + height - yOffset : props.y + yOffset,\n style: style,\n text: title\n };\n};\n\nvar getBorderProps = function (props, contentHeight, contentWidth) {\n var x = props.x,\n y = props.y,\n borderPadding = props.borderPadding,\n style = props.style;\n var height = (contentHeight || 0) + borderPadding.top + borderPadding.bottom;\n var width = (contentWidth || 0) + borderPadding.left + borderPadding.right;\n return {\n x: x,\n y: y,\n height: height,\n width: width,\n style: _assign({\n fill: \"none\"\n }, style.border)\n };\n};\n\nexport var getDimensions = function (props, fallbackProps) {\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, \"legend\");\n props = _assign({}, modifiedProps, getCalculatedValues(modifiedProps));\n var _props = props,\n title = _props.title,\n titleOrientation = _props.titleOrientation;\n var groupedData = groupData(props);\n var columnWidths = getColumnWidths(props, groupedData);\n var rowHeights = getRowHeights(props, groupedData);\n var titleDimensions = title ? getTitleDimensions(props) : {\n height: 0,\n width: 0\n };\n return {\n height: titleOrientation === \"left\" || titleOrientation === \"right\" ? Math.max(_sum(rowHeights), titleDimensions.height) : _sum(rowHeights) + titleDimensions.height,\n width: titleOrientation === \"left\" || titleOrientation === \"right\" ? _sum(columnWidths) + titleDimensions.width : Math.max(_sum(columnWidths), titleDimensions.width)\n };\n};\nexport var getBaseProps = function (props, fallbackProps) {\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, \"legend\");\n props = _assign({}, modifiedProps, getCalculatedValues(modifiedProps));\n var _props2 = props,\n data = _props2.data,\n standalone = _props2.standalone,\n theme = _props2.theme,\n padding = _props2.padding,\n style = _props2.style,\n colorScale = _props2.colorScale,\n gutter = _props2.gutter,\n rowGutter = _props2.rowGutter,\n borderPadding = _props2.borderPadding,\n title = _props2.title,\n titleOrientation = _props2.titleOrientation,\n name = _props2.name,\n _props2$x = _props2.x,\n x = _props2$x === void 0 ? 0 : _props2$x,\n _props2$y = _props2.y,\n y = _props2$y === void 0 ? 0 : _props2$y;\n var groupedData = groupData(props);\n var columnWidths = getColumnWidths(props, groupedData);\n var rowHeights = getRowHeights(props, groupedData);\n var labelStyles = getLabelStyles(props);\n var titleDimensions = title ? getTitleDimensions(props) : {\n height: 0,\n width: 0\n };\n var titleOffset = {\n x: titleOrientation === \"left\" ? titleDimensions.width : 0,\n y: titleOrientation === \"top\" ? titleDimensions.height : 0\n };\n var gutterOffset = {\n x: gutter && typeof gutter === \"object\" ? gutter.left || 0 : 0,\n y: rowGutter && typeof rowGutter === \"object\" ? rowGutter.top || 0 : 0\n };\n\n var _getDimensions = getDimensions(props, fallbackProps),\n height = _getDimensions.height,\n width = _getDimensions.width;\n\n var borderProps = getBorderProps(props, height, width);\n var titleProps = getTitleProps(props, borderProps);\n var initialProps = {\n parent: {\n data: data,\n standalone: standalone,\n theme: theme,\n padding: padding,\n name: name,\n height: props.height,\n width: props.width,\n style: style.parent\n },\n all: {\n border: borderProps,\n title: titleProps\n }\n };\n return groupedData.reduce(function (childProps, datum, i) {\n var color = colorScale[i % colorScale.length];\n\n var dataStyle = _defaults({}, datum.symbol, style.data, {\n fill: color\n });\n\n var eventKey = !_isNil(datum.eventKey) ? datum.eventKey : i;\n var offset = getOffset(datum, rowHeights, columnWidths);\n var originY = y + borderPadding.top + datum.symbolSpacer;\n var originX = x + borderPadding.left + datum.symbolSpacer;\n var dataProps = {\n index: i,\n data: data,\n datum: datum,\n symbol: dataStyle.type || dataStyle.symbol || \"circle\",\n size: datum.size,\n style: dataStyle,\n y: originY + offset.y + titleOffset.y + gutterOffset.y,\n x: originX + offset.x + titleOffset.x + gutterOffset.x\n };\n var labelProps = {\n datum: datum,\n data: data,\n text: datum.name,\n style: labelStyles[i],\n y: dataProps.y,\n x: dataProps.x + datum.symbolSpacer + datum.size / 2\n };\n childProps[eventKey] = {\n data: dataProps,\n labels: labelProps\n };\n return childProps;\n }, initialProps);\n};","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as Helpers from \"../victory-util/helpers\";\nimport { CommonProps } from \"../victory-util/common-props\";\nimport { Rect } from \"./rect\";\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `ariaLabel`\n * `desc`\n * `id`\n * `style`\n * `tabIndex`\n */\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var desc = Helpers.evaluateProp(props.desc, props);\n var id = Helpers.evaluateProp(props.id, props);\n var style = Helpers.evaluateStyle(_assign({\n fill: \"none\"\n }, props.style), props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n desc: desc,\n id: id,\n style: style,\n tabIndex: tabIndex\n });\n};\n\nexport var Border = function (props) {\n props = evaluateProps(props);\n return /*#__PURE__*/React.cloneElement(props.rectComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n \"aria-label\": props.ariaLabel,\n style: props.style,\n desc: props.desc,\n tabIndex: props.tabIndex,\n transform: props.transform,\n className: props.className,\n role: props.role,\n shapeRendering: props.shapeRendering,\n x: props.x,\n y: props.y,\n width: props.width,\n height: props.height,\n clipPath: props.clipPath\n }));\n};\nBorder.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n height: PropTypes.number,\n rectComponent: PropTypes.element,\n width: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number\n});\nBorder.defaultProps = {\n rectComponent: /*#__PURE__*/React.createElement(Rect, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { getBaseProps, getDimensions } from \"./helper-methods\";\nimport { PropTypes as CustomPropTypes, addEvents, Helpers, VictoryLabel, VictoryContainer, VictoryTheme, Point, Border } from \"victory-core\";\nvar fallbackProps = {\n orientation: \"vertical\",\n titleOrientation: \"top\",\n width: 450,\n height: 300,\n x: 0,\n y: 0\n};\nvar defaultLegendData = [{\n name: \"Series 1\"\n}, {\n name: \"Series 2\"\n}];\n\nvar VictoryLegend = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryLegend, _React$Component);\n\n var _super = _createSuper(VictoryLegend);\n\n function VictoryLegend() {\n _classCallCheck(this, VictoryLegend);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryLegend, [{\n key: \"renderChildren\",\n value: function renderChildren(props) {\n var _this = this;\n\n var dataComponent = props.dataComponent,\n labelComponent = props.labelComponent,\n title = props.title;\n var dataComponents = this.dataKeys.map(function (_dataKey, index) {\n if (_dataKey === \"all\") {\n return undefined;\n }\n\n var dataProps = _this.getComponentProps(dataComponent, \"data\", index);\n\n return /*#__PURE__*/React.cloneElement(dataComponent, dataProps);\n }).filter(Boolean);\n var labelComponents = this.dataKeys.map(function (_dataKey, index) {\n if (_dataKey === \"all\") {\n return undefined;\n }\n\n var labelProps = _this.getComponentProps(labelComponent, \"labels\", index);\n\n if (labelProps.text !== undefined && labelProps.text !== null) {\n return /*#__PURE__*/React.cloneElement(labelComponent, labelProps);\n }\n\n return undefined;\n }).filter(Boolean);\n var borderProps = this.getComponentProps(props.borderComponent, \"border\", \"all\");\n var borderComponent = /*#__PURE__*/React.cloneElement(props.borderComponent, borderProps);\n\n if (title) {\n var titleProps = this.getComponentProps(props.title, \"title\", \"all\");\n var titleComponent = /*#__PURE__*/React.cloneElement(props.titleComponent, titleProps);\n return [borderComponent].concat(_toConsumableArray(dataComponents), [titleComponent], _toConsumableArray(labelComponents));\n }\n\n return [borderComponent].concat(_toConsumableArray(dataComponents), _toConsumableArray(labelComponents));\n }\n }, {\n key: \"render\",\n value: function render() {\n var role = this.constructor.role;\n var props = Helpers.modifyProps(this.props, fallbackProps, role);\n var children = [this.renderChildren(props)];\n return props.standalone ? this.renderContainer(props.containerComponent, children) : /*#__PURE__*/React.cloneElement(props.groupComponent, {}, children);\n }\n }]);\n\n return VictoryLegend;\n}(React.Component);\n\nVictoryLegend.displayName = \"VictoryLegend\";\nVictoryLegend.role = \"legend\";\nVictoryLegend.propTypes = {\n borderComponent: PropTypes.element,\n borderPadding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number\n })]),\n centerTitle: PropTypes.bool,\n colorScale: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.oneOf([\"grayscale\", \"qualitative\", \"heatmap\", \"warm\", \"cool\", \"red\", \"green\", \"blue\"])]),\n containerComponent: PropTypes.element,\n data: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n label: PropTypes.object,\n symbol: PropTypes.object\n })),\n dataComponent: PropTypes.element,\n eventKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n events: PropTypes.arrayOf(PropTypes.shape({\n target: PropTypes.oneOf([\"data\", \"labels\", \"parent\"]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n eventHandlers: PropTypes.object\n })),\n externalEventMutations: PropTypes.arrayOf(PropTypes.shape({\n callback: PropTypes.func,\n childName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n mutation: PropTypes.func,\n target: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n })),\n groupComponent: PropTypes.element,\n gutter: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n left: PropTypes.number,\n right: PropTypes.number\n })]),\n height: CustomPropTypes.nonNegative,\n itemsPerRow: CustomPropTypes.nonNegative,\n labelComponent: PropTypes.element,\n name: PropTypes.string,\n orientation: PropTypes.oneOf([\"horizontal\", \"vertical\"]),\n padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number\n })]),\n rowGutter: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number\n })]),\n sharedEvents: PropTypes.shape({\n events: PropTypes.array,\n getEventState: PropTypes.func\n }),\n standalone: PropTypes.bool,\n style: PropTypes.shape({\n border: PropTypes.object,\n data: PropTypes.object,\n labels: PropTypes.object,\n parent: PropTypes.object,\n title: PropTypes.object\n }),\n symbolSpacer: PropTypes.number,\n theme: PropTypes.object,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n titleComponent: PropTypes.element,\n titleOrientation: PropTypes.oneOf([\"top\", \"bottom\", \"left\", \"right\"]),\n width: CustomPropTypes.nonNegative,\n x: CustomPropTypes.nonNegative,\n y: CustomPropTypes.nonNegative\n};\nVictoryLegend.defaultProps = {\n borderComponent: /*#__PURE__*/React.createElement(Border, null),\n data: defaultLegendData,\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n dataComponent: /*#__PURE__*/React.createElement(Point, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n standalone: true,\n theme: VictoryTheme.grayscale,\n titleComponent: /*#__PURE__*/React.createElement(VictoryLabel, null)\n};\n\nVictoryLegend.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryLegend.getDimensions = function (props) {\n return getDimensions(props, fallbackProps);\n};\n\nVictoryLegend.expectedComponents = [\"borderComponent\", \"containerComponent\", \"dataComponent\", \"groupComponent\", \"labelComponent\", \"titleComponent\"];\nexport default addEvents(VictoryLegend);","import _isNil from \"lodash/isNil\";\nimport _assign from \"lodash/assign\";\nimport { Helpers, LabelHelpers, Data, Domain, Scale } from \"victory-core\";\n\nvar getCalculatedValues = function (props) {\n var data = Data.getData(props);\n\n if (data.length < 2) {\n data = [];\n }\n\n var range = {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n };\n var domain = {\n x: Domain.getDomain(props, \"x\"),\n y: Domain.getDomain(props, \"y\")\n };\n var scale = {\n x: Scale.getBaseScale(props, \"x\").domain(domain.x).range(props.horizontal ? range.y : range.x),\n y: Scale.getBaseScale(props, \"y\").domain(domain.y).range(props.horizontal ? range.x : range.y)\n };\n var origin = props.polar ? props.origin || Helpers.getPolarOrigin(props) : undefined;\n var defaultStyles = Helpers.getDefaultStyles(props, \"line\");\n var style = Helpers.getStyles(props.style, defaultStyles);\n return {\n domain: domain,\n data: data,\n scale: scale,\n style: style,\n origin: origin\n };\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, \"line\");\n props = _assign({}, modifiedProps, getCalculatedValues(modifiedProps));\n var _props = props,\n data = _props.data,\n domain = _props.domain,\n events = _props.events,\n groupComponent = _props.groupComponent,\n height = _props.height,\n horizontal = _props.horizontal,\n interpolation = _props.interpolation,\n origin = _props.origin,\n padding = _props.padding,\n polar = _props.polar,\n scale = _props.scale,\n sharedEvents = _props.sharedEvents,\n standalone = _props.standalone,\n style = _props.style,\n theme = _props.theme,\n width = _props.width,\n labels = _props.labels,\n name = _props.name,\n disableInlineStyles = _props.disableInlineStyles;\n var initialChildProps = {\n parent: {\n style: style.parent,\n scale: scale,\n data: data,\n height: height,\n width: width,\n name: name,\n domain: domain,\n standalone: standalone,\n polar: polar,\n origin: origin,\n padding: padding,\n horizontal: horizontal\n },\n all: {\n data: {\n horizontal: horizontal,\n polar: polar,\n origin: origin,\n scale: scale,\n data: data,\n interpolation: interpolation,\n groupComponent: groupComponent,\n style: disableInlineStyles ? {} : style.data,\n theme: theme,\n disableInlineStyles: disableInlineStyles\n }\n }\n };\n return data.reduce(function (childProps, datum, index) {\n var text = LabelHelpers.getText(props, datum, index);\n\n if (text !== undefined && text !== null || labels && (events || sharedEvents)) {\n var eventKey = !_isNil(datum.eventKey) ? datum.eventKey : index;\n childProps[eventKey] = {\n labels: LabelHelpers.getProps(props, index)\n };\n }\n\n return childProps;\n }, initialChildProps);\n};","import _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [-1, 0, 1, 2] }]*/\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Helpers, CommonProps, Path, LineHelpers, UserProps } from \"victory-core\";\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `ariaLabel`\n * `id`\n * `style`\n * `tabIndex`\n */\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var id = Helpers.evaluateProp(props.id, props);\n var style = Helpers.evaluateStyle(_assign({\n fill: \"none\",\n stroke: \"black\",\n pointerEvents: \"stroke\"\n }, props.style), props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n id: id,\n style: style,\n tabIndex: tabIndex\n });\n};\n\nexport var Curve = function (props) {\n props = evaluateProps(props);\n var userProps = UserProps.getSafeUserProps(props);\n var _props = props,\n polar = _props.polar,\n origin = _props.origin;\n var lineFunction = LineHelpers.getLineFunction(props);\n var defaultTransform = polar && origin ? \"translate(\".concat(origin.x, \", \").concat(origin.y, \")\") : undefined;\n var d = lineFunction(props.data);\n return /*#__PURE__*/React.cloneElement(props.pathComponent, _objectSpread(_objectSpread(_objectSpread({}, props.events), userProps), {}, {\n \"aria-label\": props.ariaLabel,\n d: d,\n style: props.style,\n transform: props.transform || defaultTransform,\n className: props.className,\n role: props.role,\n shapeRendering: props.shapeRendering,\n clipPath: props.clipPath,\n tabIndex: props.tabIndex\n }));\n};\nCurve.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n interpolation: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n openCurve: PropTypes.bool,\n origin: PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n }),\n pathComponent: PropTypes.element,\n polar: PropTypes.bool\n});\nCurve.defaultProps = {\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { getBaseProps } from \"./helper-methods\";\nimport { Curve } from \"./curve\";\nimport { PropTypes as CustomPropTypes, Helpers, VictoryLabel, addEvents, VictoryContainer, VictoryTheme, DefaultTransitions, VictoryClipContainer, Data, Domain, CommonProps, UserProps } from \"victory-core\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50,\n interpolation: \"linear\"\n};\nvar options = {\n components: [{\n name: \"parent\",\n index: \"parent\"\n }, {\n name: \"data\",\n index: \"all\"\n }, {\n name: \"labels\"\n }]\n}; // eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nvar VictoryLineBase = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryLineBase, _React$Component);\n\n var _super = _createSuper(VictoryLineBase);\n\n function VictoryLineBase(props) {\n _classCallCheck(this, VictoryLineBase);\n\n return _super.call(this, props);\n }\n\n _createClass(VictoryLineBase, [{\n key: \"shouldAnimate\",\n value: // Overridden in native versions\n function shouldAnimate() {\n return !!this.props.animate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryLineBase.animationWhitelist,\n role = VictoryLineBase.role;\n var props = Helpers.modifyProps(this.props, fallbackProps, role);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var children = this.renderContinuousData(props);\n var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children;\n return UserProps.withSafeUserProps(component, props);\n }\n }]);\n\n return VictoryLineBase;\n}(React.Component);\n\nVictoryLineBase.animationWhitelist = [\"data\", \"domain\", \"height\", \"padding\", \"samples\", \"style\", \"width\"];\nVictoryLineBase.displayName = \"VictoryLine\";\nVictoryLineBase.role = \"line\";\nVictoryLineBase.defaultTransitions = DefaultTransitions.continuousTransitions();\nVictoryLineBase.defaultPolarTransitions = DefaultTransitions.continuousPolarTransitions();\nVictoryLineBase.continuous = true;\nVictoryLineBase.propTypes = _objectSpread(_objectSpread(_objectSpread({}, CommonProps.baseProps), CommonProps.dataProps), {}, {\n interpolation: PropTypes.oneOfType([PropTypes.oneOf([\"basis\", \"bundle\", \"cardinal\", \"catmullRom\", \"linear\", \"monotoneX\", \"monotoneY\", \"natural\", \"step\", \"stepAfter\", \"stepBefore\"]), PropTypes.func]),\n label: CustomPropTypes.deprecated(PropTypes.string, \"Use `labels` instead for individual data labels\")\n});\nVictoryLineBase.defaultProps = {\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n dataComponent: /*#__PURE__*/React.createElement(Curve, null),\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {\n renderInPortal: true\n }),\n groupComponent: /*#__PURE__*/React.createElement(VictoryClipContainer, null),\n samples: 50,\n sortKey: \"x\",\n sortOrder: \"ascending\",\n standalone: true,\n theme: VictoryTheme.grayscale\n};\nVictoryLineBase.getDomain = Domain.getDomain;\nVictoryLineBase.getData = Data.getData;\n\nVictoryLineBase.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryLineBase.expectedComponents = [\"dataComponent\", \"labelComponent\", \"groupComponent\", \"containerComponent\"];\nexport var VictoryLine = addEvents(VictoryLineBase, options);","import _assign from \"lodash/assign\";\nimport _isFunction from \"lodash/isFunction\";\nimport _defaults from \"lodash/defaults\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Helpers, CommonProps, Path } from \"victory-core\";\nimport * as d3Shape from \"victory-vendor/d3-shape\";\n\nvar getPath = function (props) {\n var slice = props.slice,\n radius = props.radius,\n innerRadius = props.innerRadius,\n cornerRadius = props.cornerRadius;\n\n if (_isFunction(props.pathFunction)) {\n return props.pathFunction(slice);\n }\n\n var padAngle = Helpers.degreesToRadians(props.padAngle);\n var startAngle = Helpers.degreesToRadians(props.sliceStartAngle);\n var endAngle = Helpers.degreesToRadians(props.sliceEndAngle);\n var pathFunction = d3Shape.arc().cornerRadius(cornerRadius).outerRadius(radius).innerRadius(innerRadius || 0);\n return pathFunction(_defaults({\n startAngle: startAngle,\n endAngle: endAngle,\n padAngle: padAngle\n }, slice));\n};\n\nvar evaluateProps = function (props) {\n /**\n * * Potential evaluated props of following must be evaluated in this order:\n * 1) `style`\n * 2) `radius`\n * 3) `innerRadius`\n *\n * Everything else does not have to be evaluated in a particular order:\n * `ariaLabel`\n * `id`\n * `cornerRadius`\n * `padAngle`\n * `sliceStartAngle`\n * `sliceEndAngle`\n * `tabIndex`\n */\n var style = Helpers.evaluateStyle(props.style, props);\n var radius = Helpers.evaluateProp(props.radius, _assign({}, props, {\n style: style\n }));\n var innerRadius = Helpers.evaluateProp(props.innerRadius, _assign({}, props, {\n style: style,\n radius: radius\n }));\n var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props);\n var id = Helpers.evaluateProp(props.id, props);\n var cornerRadius = Helpers.evaluateProp(props.cornerRadius, props);\n var padAngle = Helpers.evaluateProp(props.padAngle, props);\n var sliceStartAngle = Helpers.evaluateProp(props.sliceStartAngle, props);\n var sliceEndAngle = Helpers.evaluateProp(props.sliceEndAngle, props);\n var tabIndex = Helpers.evaluateProp(props.tabIndex, props);\n return _assign({}, props, {\n ariaLabel: ariaLabel,\n style: style,\n radius: radius,\n innerRadius: innerRadius,\n id: id,\n cornerRadius: cornerRadius,\n padAngle: padAngle,\n sliceStartAngle: sliceStartAngle,\n sliceEndAngle: sliceEndAngle,\n tabIndex: tabIndex\n });\n};\n\nvar Slice = function (props) {\n props = evaluateProps(props);\n var defaultTransform = props.origin ? \"translate(\".concat(props.origin.x, \", \").concat(props.origin.y, \")\") : undefined;\n return /*#__PURE__*/React.cloneElement(props.pathComponent, _objectSpread(_objectSpread({}, props.events), {}, {\n \"aria-label\": props.ariaLabel,\n d: getPath(props),\n style: props.style,\n transform: props.transform || defaultTransform,\n className: props.className,\n role: props.role,\n shapeRendering: props.shapeRendering,\n clipPath: props.clipPath,\n tabIndex: props.tabIndex\n }));\n};\n\nSlice.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n cornerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n datum: PropTypes.object,\n innerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n padAngle: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n pathComponent: PropTypes.element,\n pathFunction: PropTypes.func,\n radius: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n slice: PropTypes.object,\n sliceEndAngle: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n sliceStartAngle: PropTypes.oneOfType([PropTypes.number, PropTypes.func])\n});\nSlice.defaultProps = {\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};\nexport default Slice;","import _isNil from \"lodash/isNil\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\nimport * as d3Shape from \"victory-vendor/d3-shape\";\nimport { Helpers, Data, Style } from \"victory-core\";\n\nvar checkForValidText = function (text) {\n if (text === undefined || text === null || _isFunction(text)) {\n return text;\n }\n\n return \"\".concat(text);\n};\n\nvar getColor = function (style, colors, index) {\n if (style && style.data && style.data.fill) {\n return style.data.fill;\n }\n\n return colors && colors[index % colors.length];\n};\n\nvar getRadius = function (props, padding) {\n if (typeof props.radius === \"number\") {\n return props.radius;\n }\n\n return Math.min(props.width - padding.left - padding.right, props.height - padding.top - padding.bottom) / 2;\n};\n\nvar getOrigin = function (props, padding) {\n var width = props.width,\n height = props.height;\n var origin = _isPlainObject(props.origin) ? props.origin : {};\n return {\n x: origin.x !== undefined ? origin.x : (padding.left - padding.right + width) / 2,\n y: origin.y !== undefined ? origin.y : (padding.top - padding.bottom + height) / 2\n };\n};\n\nvar getSlices = function (props, data) {\n var padAngle = _isFunction(props.padAngle) ? 0 : props.padAngle;\n var layoutFunction = d3Shape.pie().sort(null).startAngle(Helpers.degreesToRadians(props.startAngle)).endAngle(Helpers.degreesToRadians(props.endAngle)).padAngle(Helpers.degreesToRadians(padAngle)).value(function (datum) {\n return datum._y;\n });\n return layoutFunction(data);\n};\n\nvar getCalculatedValues = function (props) {\n var colorScale = props.colorScale;\n var styleObject = Helpers.getDefaultStyles(props, \"pie\");\n var style = Helpers.getStyles(props.style, styleObject, \"auto\", \"100%\");\n var colors = Array.isArray(colorScale) ? colorScale : Style.getColorScale(colorScale);\n var padding = Helpers.getPadding(props);\n var defaultRadius = getRadius(props, padding);\n var origin = getOrigin(props, padding);\n var data = Data.getData(props);\n var slices = getSlices(props, data);\n return _assign({}, props, {\n style: style,\n colors: colors,\n padding: padding,\n defaultRadius: defaultRadius,\n data: data,\n slices: slices,\n origin: origin\n });\n};\n\nvar getSliceStyle = function (index, calculatedValues) {\n var style = calculatedValues.style,\n colors = calculatedValues.colors;\n var fill = getColor(style, colors, index);\n return _assign({\n fill: fill\n }, style.data);\n};\n\nvar getLabelText = function (props, datum, index) {\n var text;\n\n if (datum.label) {\n text = datum.label;\n } else if (Array.isArray(props.labels)) {\n text = props.labels[index];\n } else {\n text = _isFunction(props.labels) ? props.labels : datum.xName || datum._x;\n }\n\n return checkForValidText(text);\n};\n\nvar getLabelArc = function (radius, labelRadius, style) {\n var padding = style && style.padding || 0;\n var arcRadius = labelRadius || radius + padding;\n return d3Shape.arc().outerRadius(arcRadius).innerRadius(arcRadius);\n};\n\nvar getLabelPosition = function (arc, slice, position) {\n var construct = {\n startAngle: position === \"startAngle\" ? slice.startAngle : slice.endAngle,\n endAngle: position === \"endAngle\" ? slice.endAngle : slice.startAngle\n };\n\n var clonedArc = _assign({}, slice, construct);\n\n return arc.centroid(clonedArc);\n};\n\nvar getLabelOrientation = function (degree, labelPlacement) {\n if (labelPlacement === \"perpendicular\") {\n return degree > 90 && degree < 270 ? \"bottom\" : \"top\";\n } else if (labelPlacement === \"parallel\") {\n return degree >= 0 && degree <= 180 ? \"right\" : \"left\";\n }\n\n if (degree < 45 || degree > 315) {\n return \"top\";\n } else if (degree >= 45 && degree < 135) {\n return \"right\";\n } else if (degree >= 135 && degree < 225) {\n return \"bottom\";\n }\n\n return \"left\";\n};\n\nvar getTextAnchor = function (orientation) {\n if (orientation === \"top\" || orientation === \"bottom\") {\n return \"middle\";\n }\n\n return orientation === \"right\" ? \"start\" : \"end\";\n};\n\nvar getVerticalAnchor = function (orientation) {\n if (orientation === \"left\" || orientation === \"right\") {\n return \"middle\";\n }\n\n return orientation === \"bottom\" ? \"start\" : \"end\";\n};\n\nvar getBaseLabelAngle = function (slice, labelPosition, labelStyle) {\n var baseAngle = 0;\n\n if (labelPosition.angle !== undefined) {\n baseAngle = labelStyle.angle;\n } else if (labelPosition === \"centroid\") {\n baseAngle = Helpers.radiansToDegrees((slice.startAngle + slice.endAngle) / 2);\n } else {\n baseAngle = labelPosition === \"startAngle\" ? Helpers.radiansToDegrees(slice.startAngle) : Helpers.radiansToDegrees(slice.endAngle);\n }\n\n var positiveAngle = baseAngle < 0 ? 360 - baseAngle : baseAngle;\n return positiveAngle % 360;\n};\n\nvar getLabelAngle = function (baseAngle, labelPlacement) {\n if (labelPlacement === \"vertical\") {\n return 0;\n }\n\n if (labelPlacement === \"parallel\") {\n return baseAngle > 180 && baseAngle < 360 ? baseAngle + 90 : baseAngle - 90;\n }\n\n return baseAngle > 90 && baseAngle < 270 ? baseAngle - 180 : baseAngle;\n};\n\nvar getLabelProps = function (text, dataProps, calculatedValues) {\n var index = dataProps.index,\n datum = dataProps.datum,\n data = dataProps.data,\n slice = dataProps.slice,\n labelComponent = dataProps.labelComponent,\n theme = dataProps.theme;\n var style = calculatedValues.style,\n defaultRadius = calculatedValues.defaultRadius,\n origin = calculatedValues.origin,\n width = calculatedValues.width,\n height = calculatedValues.height;\n var labelRadius = Helpers.evaluateProp(calculatedValues.labelRadius, _assign({\n text: text\n }, dataProps));\n var labelPosition = Helpers.evaluateProp(calculatedValues.labelPosition, _assign({\n text: text\n }, dataProps)) || \"centroid\";\n var labelPlacement = Helpers.evaluateProp(calculatedValues.labelPlacement, _assign({\n text: text\n }, dataProps)) || \"vertical\";\n\n var labelStyle = _assign({\n padding: 0\n }, style.labels);\n\n var evaluatedStyle = Helpers.evaluateStyle(labelStyle, _assign({\n labelRadius: labelRadius,\n text: text\n }, dataProps));\n var labelArc = getLabelArc(defaultRadius, labelRadius, evaluatedStyle);\n var position = getLabelPosition(labelArc, slice, labelPosition);\n var baseAngle = getBaseLabelAngle(slice, labelPosition, labelStyle);\n var labelAngle = getLabelAngle(baseAngle, labelPlacement);\n var orientation = getLabelOrientation(baseAngle, labelPlacement);\n var textAnchor = labelStyle.textAnchor || getTextAnchor(orientation);\n var verticalAnchor = labelStyle.verticalAnchor || getVerticalAnchor(orientation);\n var labelProps = {\n width: width,\n height: height,\n index: index,\n datum: datum,\n data: data,\n slice: slice,\n orientation: orientation,\n text: text,\n style: labelStyle,\n x: Math.round(position[0]) + origin.x,\n y: Math.round(position[1]) + origin.y,\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor,\n angle: labelAngle\n };\n\n if (!Helpers.isTooltip(labelComponent)) {\n return labelProps;\n }\n\n var tooltipTheme = theme && theme.tooltip || {};\n return _defaults({}, labelProps, Helpers.omit(tooltipTheme, [\"style\"]));\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n props = Helpers.modifyProps(props, fallbackProps, \"pie\");\n var calculatedValues = getCalculatedValues(props);\n var slices = calculatedValues.slices,\n style = calculatedValues.style,\n data = calculatedValues.data,\n origin = calculatedValues.origin,\n defaultRadius = calculatedValues.defaultRadius,\n labels = calculatedValues.labels,\n events = calculatedValues.events,\n sharedEvents = calculatedValues.sharedEvents,\n height = calculatedValues.height,\n width = calculatedValues.width,\n standalone = calculatedValues.standalone,\n name = calculatedValues.name,\n innerRadius = calculatedValues.innerRadius,\n cornerRadius = calculatedValues.cornerRadius,\n padAngle = calculatedValues.padAngle,\n disableInlineStyles = calculatedValues.disableInlineStyles;\n var radius = props.radius || defaultRadius;\n var initialChildProps = {\n parent: {\n standalone: standalone,\n height: height,\n width: width,\n slices: slices,\n name: name,\n style: style.parent\n }\n };\n return slices.reduce(function (childProps, slice, index) {\n var datum = _defaults({}, data[index], {\n startAngle: Helpers.radiansToDegrees(slice.startAngle),\n endAngle: Helpers.radiansToDegrees(slice.endAngle),\n padAngle: Helpers.radiansToDegrees(slice.padAngle)\n });\n\n var eventKey = !_isNil(datum.eventKey) ? datum.eventKey : index;\n var dataProps = {\n index: index,\n slice: slice,\n datum: datum,\n data: data,\n origin: origin,\n innerRadius: innerRadius,\n radius: radius,\n cornerRadius: cornerRadius,\n padAngle: padAngle,\n style: disableInlineStyles ? {} : getSliceStyle(index, calculatedValues),\n disableInlineStyles: disableInlineStyles\n };\n childProps[eventKey] = {\n data: dataProps\n };\n var text = getLabelText(props, datum, index);\n\n if (text !== undefined && text !== null || labels && (events || sharedEvents)) {\n var evaluatedText = Helpers.evaluateProp(text, dataProps);\n childProps[eventKey].labels = getLabelProps(evaluatedText, _assign({}, props, dataProps), calculatedValues);\n }\n\n return childProps;\n }, initialChildProps);\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [-1, 0, 1, 2] }]*/\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { addEvents, Helpers, Data, PropTypes as CustomPropTypes, VictoryContainer, VictoryLabel, VictoryTheme, UserProps } from \"victory-core\";\nimport Slice from \"./slice\";\nimport { getBaseProps } from \"./helper-methods\";\nvar fallbackProps = {\n endAngle: 360,\n height: 400,\n innerRadius: 0,\n cornerRadius: 0,\n padAngle: 0,\n padding: 30,\n width: 400,\n startAngle: 0,\n colorScale: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\", \"#000000\"],\n labelPosition: \"centroid\"\n};\n\nvar VictoryPie = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryPie, _React$Component);\n\n var _super = _createSuper(VictoryPie);\n\n function VictoryPie() {\n _classCallCheck(this, VictoryPie);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryPie, [{\n key: \"shouldAnimate\",\n value: // Overridden in victory-native\n function shouldAnimate() {\n return Boolean(this.props.animate);\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryPie.animationWhitelist,\n role = VictoryPie.role;\n var props = Helpers.modifyProps(this.props, fallbackProps, role);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var children = this.renderData(props);\n var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children;\n return UserProps.withSafeUserProps(component, props);\n }\n }]);\n\n return VictoryPie;\n}(React.Component);\n\nVictoryPie.animationWhitelist = [\"data\", \"endAngle\", \"height\", \"innerRadius\", \"cornerRadius\", \"padAngle\", \"padding\", \"colorScale\", \"startAngle\", \"style\", \"width\"];\nVictoryPie.displayName = \"VictoryPie\";\nVictoryPie.role = \"pie\";\nVictoryPie.defaultTransitions = {\n onExit: {\n duration: 500,\n before: function () {\n return {\n _y: 0,\n label: \" \"\n };\n }\n },\n onEnter: {\n duration: 500,\n before: function () {\n return {\n _y: 0,\n label: \" \"\n };\n },\n after: function (datum) {\n return {\n y_: datum._y,\n label: datum.label\n };\n }\n }\n};\nVictoryPie.propTypes = {\n animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n colorScale: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.oneOf([\"grayscale\", \"qualitative\", \"heatmap\", \"warm\", \"cool\", \"red\", \"green\", \"blue\"])]),\n containerComponent: PropTypes.element,\n cornerRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n data: PropTypes.array,\n dataComponent: PropTypes.element,\n disableInlineStyes: PropTypes.bool,\n endAngle: PropTypes.number,\n eventKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n events: PropTypes.arrayOf(PropTypes.shape({\n target: PropTypes.oneOf([\"data\", \"labels\", \"parent\"]),\n eventKey: PropTypes.oneOfType([PropTypes.array, PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n eventHandlers: PropTypes.object\n })),\n externalEventMutations: PropTypes.arrayOf(PropTypes.shape({\n callback: PropTypes.func,\n childName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n mutation: PropTypes.func,\n target: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n })),\n groupComponent: PropTypes.element,\n height: CustomPropTypes.nonNegative,\n innerRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n labelComponent: PropTypes.element,\n labelPlacement: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOf([\"parallel\", \"perpendicular\", \"vertical\"])]),\n labelPosition: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOf([\"startAngle\", \"centroid\", \"endAngle\"])]),\n labelRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n labels: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),\n name: PropTypes.string,\n origin: PropTypes.shape({\n x: CustomPropTypes.nonNegative,\n y: CustomPropTypes.nonNegative\n }),\n padAngle: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number\n })]),\n radius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n sharedEvents: PropTypes.shape({\n events: PropTypes.array,\n getEventState: PropTypes.func\n }),\n sortKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n sortOrder: PropTypes.oneOf([\"ascending\", \"descending\"]),\n standalone: PropTypes.bool,\n startAngle: PropTypes.number,\n style: PropTypes.shape({\n parent: PropTypes.object,\n data: PropTypes.object,\n labels: PropTypes.object\n }),\n theme: PropTypes.object,\n width: CustomPropTypes.nonNegative,\n x: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n y: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string)])\n};\nVictoryPie.defaultProps = {\n data: [{\n x: \"A\",\n y: 1\n }, {\n x: \"B\",\n y: 2\n }, {\n x: \"C\",\n y: 3\n }, {\n x: \"D\",\n y: 1\n }, {\n x: \"E\",\n y: 2\n }],\n standalone: true,\n dataComponent: /*#__PURE__*/React.createElement(Slice, null),\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n sortOrder: \"ascending\",\n theme: VictoryTheme.grayscale\n};\n\nVictoryPie.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryPie.getData = Data.getData;\nVictoryPie.expectedComponents = [\"dataComponent\", \"labelComponent\", \"groupComponent\", \"containerComponent\"];\nexport default addEvents(VictoryPie);","import _isNil from \"lodash/isNil\";\nimport _values from \"lodash/values\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Helpers, LabelHelpers, Data, Domain, Scale } from \"victory-core\";\nexport var getSymbol = function (data, props) {\n if (props.bubbleProperty) {\n return \"circle\";\n }\n\n return data.symbol || props.symbol;\n};\nexport var getBubbleSize = function (datum, props) {\n var data = props.data,\n z = props.z,\n maxBubbleSize = props.maxBubbleSize,\n minBubbleSize = props.minBubbleSize;\n var zData = data.map(function (point) {\n return point[z];\n });\n var zMin = Math.min.apply(Math, _toConsumableArray(zData));\n var zMax = Math.max.apply(Math, _toConsumableArray(zData));\n\n var getMaxRadius = function () {\n var minPadding = Math.min.apply(Math, _toConsumableArray(_values(Helpers.getPadding(props))));\n return Math.max(minPadding, 5); // eslint-disable-line no-magic-numbers\n };\n\n var maxRadius = maxBubbleSize || getMaxRadius();\n var minRadius = minBubbleSize || maxRadius * 0.1; // eslint-disable-line no-magic-numbers\n\n if (zMax === zMin) {\n return Math.max(minRadius, 1);\n }\n\n var maxArea = Math.PI * Math.pow(maxRadius, 2);\n var minArea = Math.PI * Math.pow(minRadius, 2);\n var pointArea = (datum[z] - zMin) / (zMax - zMin) * maxArea;\n var area = Math.max(pointArea, minArea);\n var radius = Math.sqrt(area / Math.PI);\n return Math.max(radius, 1);\n};\nexport var getSize = function (datum, props) {\n var size = props.size,\n z = props.z;\n\n if (datum.size) {\n return typeof datum.size === \"function\" ? datum.size : Math.max(datum.size, 1);\n } else if (typeof props.size === \"function\") {\n return size;\n } else if (datum[z]) {\n return getBubbleSize(datum, props);\n }\n\n return Math.max(size || 0, 1);\n};\n\nvar getCalculatedValues = function (props) {\n var defaultStyles = Helpers.getDefaultStyles(props, \"scatter\");\n var style = Helpers.getStyles(props.style, defaultStyles);\n var range = {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n };\n var domain = {\n x: Domain.getDomain(props, \"x\"),\n y: Domain.getDomain(props, \"y\")\n };\n var scale = {\n x: Scale.getBaseScale(props, \"x\").domain(domain.x).range(props.horizontal ? range.y : range.x),\n y: Scale.getBaseScale(props, \"y\").domain(domain.y).range(props.horizontal ? range.x : range.y)\n };\n var origin = props.polar ? props.origin || Helpers.getPolarOrigin(props) : undefined;\n var z = props.bubbleProperty || \"z\";\n var data = Data.getData(props);\n data = Data.formatDataFromDomain(data, domain);\n return {\n domain: domain,\n data: data,\n scale: scale,\n style: style,\n origin: origin,\n z: z\n };\n};\n\nexport var getBaseProps = function (props, fallbackProps) {\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, \"scatter\");\n props = _assign({}, modifiedProps, getCalculatedValues(modifiedProps));\n var _props = props,\n data = _props.data,\n domain = _props.domain,\n events = _props.events,\n height = _props.height,\n origin = _props.origin,\n padding = _props.padding,\n polar = _props.polar,\n scale = _props.scale,\n name = _props.name,\n sharedEvents = _props.sharedEvents,\n standalone = _props.standalone,\n style = _props.style,\n theme = _props.theme,\n width = _props.width,\n labels = _props.labels,\n horizontal = _props.horizontal,\n disableInlineStyles = _props.disableInlineStyles;\n var initialChildProps = {\n parent: {\n style: style.parent,\n scale: scale,\n domain: domain,\n data: data,\n height: height,\n width: width,\n standalone: standalone,\n theme: theme,\n origin: origin,\n polar: polar,\n padding: padding,\n name: name,\n horizontal: horizontal\n }\n };\n return data.reduce(function (childProps, datum, index) {\n var eventKey = !_isNil(datum.eventKey) ? datum.eventKey : index;\n\n var _Helpers$scalePoint = Helpers.scalePoint(props, datum),\n x = _Helpers$scalePoint.x,\n y = _Helpers$scalePoint.y;\n\n var dataProps = {\n x: x,\n y: y,\n datum: datum,\n data: data,\n index: index,\n scale: scale,\n polar: polar,\n origin: origin,\n horizontal: horizontal,\n size: getSize(datum, props),\n symbol: getSymbol(datum, props),\n style: disableInlineStyles ? {} : style.data,\n disableInlineStyles: disableInlineStyles\n };\n childProps[eventKey] = {\n data: dataProps\n };\n var text = LabelHelpers.getText(props, datum, index);\n\n if (text !== undefined && text !== null || labels && (events || sharedEvents)) {\n childProps[eventKey].labels = LabelHelpers.getProps(props, index);\n }\n\n return childProps;\n }, initialChildProps);\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { PropTypes as CustomPropTypes, Helpers, VictoryLabel, addEvents, CommonProps, VictoryContainer, VictoryTheme, DefaultTransitions, Data, Domain, Point, UserProps } from \"victory-core\";\nimport { getBaseProps } from \"./helper-methods\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50,\n size: 3,\n symbol: \"circle\"\n};\n\n/**\n * Draw area charts with React. VictoryArea is a composable component, so it doesn't include axes.\n * Add VictoryArea as a child of VictoryChart for a complete chart.\n */\nvar VictoryScatterBase = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryScatterBase, _React$Component);\n\n var _super = _createSuper(VictoryScatterBase);\n\n function VictoryScatterBase() {\n _classCallCheck(this, VictoryScatterBase);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(VictoryScatterBase, [{\n key: \"shouldAnimate\",\n value: // Overridden in native versions\n function shouldAnimate() {\n return !!this.props.animate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var animationWhitelist = VictoryScatter.animationWhitelist,\n role = VictoryScatter.role;\n var props = Helpers.modifyProps(this.props, fallbackProps, role);\n\n if (this.shouldAnimate()) {\n return this.animateComponent(props, animationWhitelist);\n }\n\n var children = this.renderData(props);\n var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children;\n return UserProps.withSafeUserProps(component, props);\n }\n }]);\n\n return VictoryScatterBase;\n}(React.Component);\n\nVictoryScatterBase.animationWhitelist = [\"data\", \"domain\", \"height\", \"maxBubbleSize\", \"padding\", \"samples\", \"size\", \"style\", \"width\"];\nVictoryScatterBase.displayName = \"VictoryScatter\";\nVictoryScatterBase.role = \"scatter\";\nVictoryScatterBase.defaultTransitions = DefaultTransitions.discreteTransitions();\nVictoryScatterBase.propTypes = _objectSpread(_objectSpread(_objectSpread({}, CommonProps.baseProps), CommonProps.dataProps), {}, {\n bubbleProperty: PropTypes.string,\n maxBubbleSize: CustomPropTypes.nonNegative,\n minBubbleSize: CustomPropTypes.nonNegative,\n size: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n symbol: PropTypes.oneOfType([PropTypes.oneOf([\"circle\", \"cross\", \"diamond\", \"plus\", \"minus\", \"square\", \"star\", \"triangleDown\", \"triangleUp\"]), PropTypes.func])\n});\nVictoryScatterBase.defaultProps = {\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n dataComponent: /*#__PURE__*/React.createElement(Point, null),\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n samples: 50,\n sortOrder: \"ascending\",\n standalone: true,\n theme: VictoryTheme.grayscale\n};\nVictoryScatterBase.getDomain = Domain.getDomain;\nVictoryScatterBase.getData = Data.getData;\n\nVictoryScatterBase.getBaseProps = function (props) {\n return getBaseProps(props, fallbackProps);\n};\n\nVictoryScatterBase.expectedComponents = [\"dataComponent\", \"labelComponent\", \"groupComponent\", \"containerComponent\"];\nexport var VictoryScatter = addEvents(VictoryScatterBase);","import _difference from \"lodash/difference\";\nimport _keys from \"lodash/keys\";\nimport _fromPairs from \"lodash/fromPairs\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _defaults from \"lodash/defaults\";\nimport _isFunction from \"lodash/isFunction\";\nimport _assign from \"lodash/assign\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { PropTypes as CustomPropTypes, Events, Helpers, TimerContext } from \"victory-core\";\nimport isEqual from \"react-fast-compare\";\nimport stringify from \"json-stringify-safe\"; // DISCLAIMER:\n// This file is not currently tested, and it is first on the list of files\n// to refactor in our current refactoring effort. Please do not make changes\n// to this file without manual testing and/or refactoring and adding tests.\n\nvar VictorySharedEvents = /*#__PURE__*/function (_React$Component) {\n _inherits(VictorySharedEvents, _React$Component);\n\n var _super = _createSuper(VictorySharedEvents);\n\n function VictorySharedEvents(props) {\n var _this;\n\n _classCallCheck(this, VictorySharedEvents);\n\n _this = _super.call(this, props);\n _this.state = _this.state || {};\n _this.getScopedEvents = Events.getScopedEvents.bind(_assertThisInitialized(_this));\n _this.getEventState = Events.getEventState.bind(_assertThisInitialized(_this));\n _this.baseProps = _this.getBaseProps(props);\n _this.sharedEventsCache = {};\n _this.globalEvents = {};\n _this.prevGlobalEventKeys = [];\n _this.boundGlobalEvents = {};\n return _this;\n }\n\n _createClass(VictorySharedEvents, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (!isEqual(this.props, nextProps)) {\n this.baseProps = this.getBaseProps(nextProps);\n var externalMutations = this.getExternalMutations(nextProps, this.baseProps);\n this.applyExternalMutations(nextProps, externalMutations);\n }\n\n return true;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var globalEventKeys = _keys(this.globalEvents);\n\n globalEventKeys.forEach(function (key) {\n return _this2.addGlobalListener(key);\n });\n this.prevGlobalEventKeys = globalEventKeys;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this3 = this;\n\n var globalEventKeys = _keys(this.globalEvents);\n\n var removedGlobalEventKeys = _difference(this.prevGlobalEventKeys, globalEventKeys);\n\n removedGlobalEventKeys.forEach(function (key) {\n return _this3.removeGlobalListener(key);\n });\n\n var addedGlobalEventKeys = _difference(globalEventKeys, this.prevGlobalEventKeys);\n\n addedGlobalEventKeys.forEach(function (key) {\n return _this3.addGlobalListener(key);\n });\n this.prevGlobalEventKeys = globalEventKeys;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this4 = this;\n\n this.prevGlobalEventKeys.forEach(function (key) {\n return _this4.removeGlobalListener(key);\n });\n }\n }, {\n key: \"addGlobalListener\",\n value: function addGlobalListener(key) {\n var _this5 = this;\n\n var boundListener = function (event) {\n var listener = _this5.globalEvents[key];\n return listener && listener(Events.emulateReactEvent(event));\n };\n\n this.boundGlobalEvents[key] = boundListener;\n window.addEventListener(Events.getGlobalEventNameFromKey(key), boundListener);\n }\n }, {\n key: \"removeGlobalListener\",\n value: function removeGlobalListener(key) {\n window.removeEventListener(Events.getGlobalEventNameFromKey(key), this.boundGlobalEvents[key]);\n }\n }, {\n key: \"getAllEvents\",\n value: function getAllEvents(props) {\n var components = [\"container\", \"groupComponent\"];\n var componentEvents = Events.getComponentEvents(props, components);\n\n if (Array.isArray(componentEvents)) {\n return Array.isArray(props.events) ? componentEvents.concat.apply(componentEvents, _toConsumableArray(props.events)) : componentEvents;\n }\n\n return props.events;\n }\n }, {\n key: \"applyExternalMutations\",\n value: function applyExternalMutations(props, externalMutations) {\n if (!_isEmpty(externalMutations)) {\n var callbacks = props.externalEventMutations.reduce(function (memo, mutation) {\n memo = _isFunction(mutation.callback) ? memo.concat(mutation.callback) : memo;\n return memo;\n }, []);\n var compiledCallbacks = callbacks.length ? function () {\n callbacks.forEach(function (c) {\n return c();\n });\n } : undefined;\n this.setState(externalMutations, compiledCallbacks);\n }\n }\n }, {\n key: \"getExternalMutations\",\n value: function getExternalMutations(props, baseProps) {\n return !_isEmpty(props.externalEventMutations) ? Events.getExternalMutationsWithChildren(props.externalEventMutations, baseProps, this.state, _keys(baseProps)) : undefined;\n }\n }, {\n key: \"cacheSharedEvents\",\n value: function cacheSharedEvents(name, sharedEvents, cacheValues) {\n this.sharedEventsCache[name] = [sharedEvents, cacheValues];\n }\n }, {\n key: \"getCachedSharedEvents\",\n value: function getCachedSharedEvents(name, cacheValues) {\n var _ref = this.sharedEventsCache[name] || [],\n _ref2 = _slicedToArray(_ref, 2),\n sharedEvents = _ref2[0],\n prevCacheValues = _ref2[1];\n\n if (sharedEvents && isEqual(cacheValues, prevCacheValues)) {\n return sharedEvents;\n }\n\n return undefined;\n }\n }, {\n key: \"getBaseProps\",\n value: function getBaseProps(props) {\n var container = props.container;\n var children = React.Children.toArray(this.props.children);\n var childBaseProps = this.getBasePropsFromChildren(children);\n var parentBaseProps = container ? container.props : {};\n return _assign({}, childBaseProps, {\n parent: parentBaseProps\n });\n }\n }, {\n key: \"getBasePropsFromChildren\",\n value: function getBasePropsFromChildren(childComponents) {\n var iteratee = function (child, childName) {\n if (child.type && _isFunction(child.type.getBaseProps)) {\n var _baseProps = child.props && child.type.getBaseProps(child.props);\n\n return _baseProps ? [[childName, _baseProps]] : null;\n }\n\n return null;\n };\n\n var baseProps = Helpers.reduceChildren(childComponents, iteratee);\n return _fromPairs(baseProps);\n }\n }, {\n key: \"getNewChildren\",\n value: function getNewChildren(props, baseProps) {\n var _this6 = this;\n\n var events = props.events,\n eventKey = props.eventKey;\n\n var alterChildren = function (children, childNames) {\n return children.reduce(function (memo, child, index) {\n if (child.props.children) {\n var newChildren = React.Children.toArray(child.props.children);\n var names = childNames.slice(index, index + newChildren.length);\n var results = /*#__PURE__*/React.cloneElement(child, child.props, alterChildren(newChildren, names));\n return memo.concat(results);\n } else if (childNames[index] !== \"parent\" && child.type && _isFunction(child.type.getBaseProps)) {\n var name = child.props.name || childNames[index];\n var childEvents = Array.isArray(events) && events.filter(function (event) {\n if (event.target === \"parent\") {\n return false;\n }\n\n return Array.isArray(event.childName) ? event.childName.indexOf(name) > -1 : event.childName === name || event.childName === \"all\";\n });\n var sharedEventsCacheValues = [name, baseProps, childEvents, stringify(_this6.state[name])];\n var sharedEvents = _this6.getCachedSharedEvents(name, sharedEventsCacheValues) || {\n events: childEvents,\n // partially apply child name and baseProps,\n getEvents: function (evts, target) {\n return _this6.getScopedEvents(evts, target, name, baseProps);\n },\n // partially apply child name\n getEventState: function (key, target) {\n return _this6.getEventState(key, target, name);\n }\n };\n\n _this6.cacheSharedEvents(name, sharedEvents, sharedEventsCacheValues);\n\n return memo.concat( /*#__PURE__*/React.cloneElement(child, _assign({\n key: \"events-\".concat(name),\n sharedEvents: sharedEvents,\n eventKey: eventKey,\n name: name\n }, child.props)));\n }\n\n return memo.concat(child);\n }, []);\n };\n\n var childNames = _keys(baseProps);\n\n var childComponents = React.Children.toArray(props.children);\n return alterChildren(childComponents, childNames);\n }\n }, {\n key: \"getContainer\",\n value: function getContainer(props, baseProps, events) {\n var _this7 = this;\n\n var children = this.getNewChildren(props, baseProps);\n var parents = Array.isArray(events) && events.filter(function (event) {\n return event.target === \"parent\";\n });\n var sharedEvents = parents.length > 0 ? {\n events: parents,\n // partially apply childName (null) and baseProps,\n getEvents: function (evts, target) {\n return _this7.getScopedEvents(evts, target, null, baseProps);\n },\n getEventState: this.getEventState\n } : null;\n var container = props.container || props.groupComponent;\n var role = container.type && container.type.role;\n var containerProps = container.props || {};\n var boundGetEvents = Events.getEvents.bind(this);\n var parentEvents = sharedEvents && boundGetEvents({\n sharedEvents: sharedEvents\n }, \"parent\");\n\n var parentProps = _defaults({}, this.getEventState(\"parent\", \"parent\"), containerProps, baseProps.parent, {\n children: children\n });\n\n var containerEvents = _defaults({}, Events.getPartialEvents(parentEvents, \"parent\", parentProps), containerProps.events);\n\n this.globalEvents = Events.getGlobalEvents(containerEvents);\n var localEvents = Events.omitGlobalEvents(containerEvents);\n return role === \"container\" ? /*#__PURE__*/React.cloneElement(container, _assign({}, parentProps, {\n events: localEvents\n })) : /*#__PURE__*/React.cloneElement(container, localEvents, children);\n }\n }, {\n key: \"render\",\n value: function render() {\n var events = this.getAllEvents(this.props);\n\n if (events) {\n return this.getContainer(this.props, this.baseProps, events);\n }\n\n return /*#__PURE__*/React.cloneElement(this.props.container, {\n children: this.props.children\n });\n }\n }]);\n\n return VictorySharedEvents;\n}(React.Component);\n\nVictorySharedEvents.displayName = \"VictorySharedEvents\";\nVictorySharedEvents.role = \"shared-event-wrapper\";\nVictorySharedEvents.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n container: PropTypes.node,\n eventKey: PropTypes.oneOfType([PropTypes.array, PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n events: PropTypes.arrayOf(PropTypes.shape({\n childName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n eventHandlers: PropTypes.object,\n eventKey: PropTypes.oneOfType([PropTypes.array, PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n target: PropTypes.string\n })),\n externalEventMutations: PropTypes.arrayOf(PropTypes.shape({\n callback: PropTypes.func,\n childName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),\n mutation: PropTypes.func,\n target: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n })),\n groupComponent: PropTypes.node\n};\nVictorySharedEvents.defaultProps = {\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null)\n};\nVictorySharedEvents.contextType = TimerContext;\nexport { VictorySharedEvents as default };","import _orderBy from \"lodash/orderBy\";\nimport _keys from \"lodash/keys\";\nimport _assign from \"lodash/assign\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport React from \"react\";\nimport { Helpers, Scale, Wrapper } from \"victory-core\";\nimport isEqual from \"react-fast-compare\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n}; // Assumes data in `datasets` is sorted by `Data.getData`.\n\nfunction fillData(props, datasets) {\n var fillInMissingData = props.fillInMissingData;\n var xMap = datasets.reduce(function (prev, dataset) {\n dataset.forEach(function (datum) {\n prev[datum._x instanceof Date ? datum._x.getTime() : datum._x] = true;\n });\n return prev;\n }, {});\n\n var xKeys = _keys(xMap).map(function (k) {\n return Number(k);\n });\n\n var xArr = _orderBy(xKeys);\n\n return datasets.map(function (dataset) {\n var indexOffset = 0;\n var isDate = dataset[0] && dataset[0]._x instanceof Date;\n var filledInData = xArr.map(function (x, index) {\n x = Number(x);\n var datum = dataset[index - indexOffset];\n\n if (datum) {\n var x1 = isDate ? datum._x.getTime() : datum._x;\n\n if (x1 === x) {\n return datum;\n }\n\n indexOffset++;\n\n var _y = fillInMissingData ? 0 : null;\n\n x = isDate ? new Date(x) : x;\n return {\n x: x,\n y: _y,\n _x: x,\n _y: _y\n };\n }\n\n var y = fillInMissingData ? 0 : null;\n x = isDate ? new Date(x) : x;\n return {\n x: x,\n y: y,\n _x: x,\n _y: y\n };\n });\n return filledInData;\n });\n}\n\nfunction getY0(datum, index, datasets) {\n if (datum.y0) {\n return datum.y0;\n }\n\n var y = datum._y;\n var group = datum._group;\n var firstDatasetBaseline = datasets[0].map(function (d) {\n return d.y0;\n });\n var previousDatasets = datasets.slice(0, index);\n var previousPoints = previousDatasets.reduce(function (prev, dataset) {\n return prev.concat(dataset.filter(function (previousDatum) {\n return datum._x instanceof Date ? previousDatum._x.getTime() === datum._x.getTime() : previousDatum._x === datum._x;\n }).map(function (previousDatum) {\n return previousDatum._y || 0;\n }));\n }, []);\n var y0 = previousPoints.length && previousPoints.reduce(function (memo, value) {\n var sameSign = y < 0 && value < 0 || y >= 0 && value >= 0;\n return sameSign ? Number(value) + memo : memo;\n }, firstDatasetBaseline[group] || 0);\n return previousPoints.some(function (point) {\n return point instanceof Date;\n }) ? new Date(y0) : y0;\n}\n/* eslint-disable no-nested-ternary */\n\n\nfunction addLayoutData(props, datasets, index) {\n var xOffset = props.xOffset || 0;\n return datasets[index].map(function (datum) {\n var yOffset = getY0(datum, index, datasets) || 0;\n return _assign({}, datum, {\n _y0: !(datum._y instanceof Date) ? yOffset : yOffset ? new Date(yOffset) : datum._y,\n _y1: datum._y === null ? null : datum._y instanceof Date ? new Date(Number(datum._y) + Number(yOffset)) : datum._y + yOffset,\n _x1: datum._x === null ? null : datum._x instanceof Date ? new Date(Number(datum._x) + Number(xOffset)) : datum._x + xOffset\n });\n });\n}\n/* eslint-enable no-nested-ternary */\n\n\nfunction stackData(props, childComponents) {\n var dataFromChildren = Wrapper.getDataFromChildren(props, childComponents);\n var filterNullChildData = dataFromChildren.map(function (dataset) {\n return dataset.filter(function (datum) {\n return datum._x !== null && datum._y !== null;\n });\n });\n var datasets = fillData(props, filterNullChildData);\n return datasets.map(function (d, i) {\n return addLayoutData(props, datasets, i);\n });\n}\n\nexport function getCalculatedProps(props, childComponents) {\n childComponents = childComponents || React.Children.toArray(props.children);\n var role = \"stack\";\n props = Helpers.modifyProps(props, fallbackProps, role);\n var style = Wrapper.getStyle(props.theme, props.style, role);\n var categories = props.categories || Wrapper.getCategories(props, childComponents);\n var datasets = props.datasets || stackData(props, childComponents);\n var children = childComponents.map(function (c, i) {\n return /*#__PURE__*/React.cloneElement(c, {\n data: datasets[i]\n });\n });\n var domain = {\n x: Wrapper.getDomain(_assign({}, props, {\n categories: categories\n }), \"x\", children),\n y: Wrapper.getDomain(_assign({}, props, {\n categories: categories\n }), \"y\", children)\n };\n var range = props.range || {\n x: Helpers.getRange(props, \"x\"),\n y: Helpers.getRange(props, \"y\")\n };\n var baseScale = {\n x: Scale.getScaleFromProps(props, \"x\") || Wrapper.getScale(props, \"x\"),\n y: Scale.getScaleFromProps(props, \"y\") || Wrapper.getScale(props, \"y\")\n };\n var scale = {\n x: baseScale.x.domain(domain.x).range(props.horizontal ? range.y : range.x),\n y: baseScale.y.domain(domain.y).range(props.horizontal ? range.x : range.y)\n };\n var _props = props,\n colorScale = _props.colorScale,\n horizontal = _props.horizontal;\n return {\n datasets: datasets,\n categories: categories,\n range: range,\n domain: domain,\n horizontal: horizontal,\n scale: scale,\n style: style,\n colorScale: colorScale,\n role: role\n };\n} // We need to remove sharedEvents in order to memoize the calculated data\n// With shared events, the props change on every event, and every value is re-calculated\n\nvar withoutSharedEvents = function (props) {\n var children = props.children;\n var modifiedChildren = React.Children.toArray(children).map(function (_child) {\n var child = _child;\n return _objectSpread(_objectSpread({}, child), {}, {\n props: Helpers.omit(child.props, [\"sharedEvents\"])\n });\n });\n props.children = modifiedChildren;\n return props;\n};\n\nexport function useMemoizedProps(initialProps) {\n var modifiedProps = withoutSharedEvents(initialProps);\n\n var _React$useState = React.useState(modifiedProps),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n props = _React$useState2[0],\n setProps = _React$useState2[1]; // React.memo uses shallow equality to compare objects. This way props\n // will only be re-calculated when they change.\n\n\n React.useEffect(function () {\n if (!isEqual(modifiedProps, props)) {\n setProps(modifiedProps);\n }\n }, [props, setProps, modifiedProps]);\n return React.useMemo(function () {\n return getCalculatedProps(props, props.children);\n }, [props]);\n}\n\nfunction getLabels(props, datasets, index) {\n if (!props.labels) {\n return undefined;\n }\n\n return datasets.length === index + 1 ? props.labels : undefined;\n}\n\nexport function getChildProps(props, calculatedProps) {\n var categories = calculatedProps.categories,\n domain = calculatedProps.domain,\n range = calculatedProps.range,\n scale = calculatedProps.scale,\n horizontal = calculatedProps.horizontal;\n return {\n height: props.height,\n width: props.width,\n padding: Helpers.getPadding(props),\n standalone: false,\n theme: props.theme,\n categories: categories,\n domain: domain,\n range: range,\n scale: scale,\n horizontal: horizontal\n };\n}\n\nfunction getColorScale(props, child) {\n var role = child.type && child.type.role;\n var colorScaleOptions = child.props.colorScale || props.colorScale;\n\n if (role !== \"group\" && role !== \"stack\") {\n return undefined;\n }\n\n return props.theme ? colorScaleOptions || props.theme.props.colorScale : colorScaleOptions;\n}\n\nexport function getChildren(props, childComponents, calculatedProps) {\n props = Helpers.modifyProps(props, fallbackProps, \"stack\");\n childComponents = childComponents || React.Children.toArray(props.children);\n calculatedProps = calculatedProps || getCalculatedProps(props, childComponents);\n var _calculatedProps = calculatedProps,\n datasets = _calculatedProps.datasets;\n var childProps = getChildProps(props, calculatedProps);\n var parentName = props.name || \"stack\";\n return childComponents.map(function (child, index) {\n var role = child.type && child.type.role;\n var data = datasets[index];\n var style = Wrapper.getChildStyle(child, index, calculatedProps);\n var labels = props.labels ? getLabels(props, datasets, index) : child.props.labels;\n var name = child.props.name || \"\".concat(parentName, \"-\").concat(role, \"-\").concat(index);\n return /*#__PURE__*/React.cloneElement(child, _assign({\n key: \"\".concat(name, \"-key-\").concat(index),\n labels: labels,\n name: name,\n domainPadding: child.props.domainPadding || props.domainPadding,\n theme: props.theme,\n labelComponent: props.labelComponent || child.props.labelComponent,\n style: style,\n colorScale: getColorScale(props, child),\n data: data,\n polar: props.polar\n }, childProps));\n });\n}","import _isEmpty from \"lodash/isEmpty\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { CommonProps, Helpers, Hooks, PropTypes as CustomPropTypes, UserProps, VictoryContainer, VictoryTheme, Wrapper } from \"victory-core\";\nimport { VictorySharedEvents } from \"victory-shared-events\";\nimport { getChildren, useMemoizedProps } from \"./helper-methods\";\nimport isEqual from \"react-fast-compare\";\nvar fallbackProps = {\n width: 450,\n height: 300,\n padding: 50\n};\n\nvar VictoryStackBase = function (initialProps) {\n // eslint-disable-next-line no-use-before-define\n var role = VictoryStack.role;\n\n var _Hooks$useAnimationSt = Hooks.useAnimationState(),\n setAnimationState = _Hooks$useAnimationSt.setAnimationState,\n getAnimationProps = _Hooks$useAnimationSt.getAnimationProps,\n getProps = _Hooks$useAnimationSt.getProps;\n\n var props = getProps(initialProps);\n var modifiedProps = Helpers.modifyProps(props, fallbackProps, role);\n var eventKey = modifiedProps.eventKey,\n containerComponent = modifiedProps.containerComponent,\n standalone = modifiedProps.standalone,\n groupComponent = modifiedProps.groupComponent,\n externalEventMutations = modifiedProps.externalEventMutations,\n width = modifiedProps.width,\n height = modifiedProps.height,\n theme = modifiedProps.theme,\n polar = modifiedProps.polar,\n horizontal = modifiedProps.horizontal,\n name = modifiedProps.name;\n var childComponents = React.Children.toArray(modifiedProps.children);\n var calculatedProps = useMemoizedProps(modifiedProps);\n var domain = calculatedProps.domain,\n scale = calculatedProps.scale,\n style = calculatedProps.style;\n var newChildren = React.useMemo(function () {\n var children = getChildren(props, childComponents, calculatedProps);\n var orderedChildren = children.map(function (child, index) {\n var childProps = _assign({\n animate: getAnimationProps(props, child, index)\n }, child.props);\n\n return /*#__PURE__*/React.cloneElement(child, childProps);\n });\n /*\n reverse render order for children of `VictoryStack` so that higher children in the stack\n are rendered behind lower children. This looks nicer for stacked bars with cornerRadius, and\n areas with strokes\n */\n\n return orderedChildren.reverse();\n }, [props, childComponents, calculatedProps, getAnimationProps]);\n var containerProps = React.useMemo(function () {\n if (standalone) {\n return {\n domain: domain,\n scale: scale,\n width: width,\n height: height,\n standalone: standalone,\n theme: theme,\n style: style.parent,\n horizontal: horizontal,\n polar: polar,\n name: name\n };\n }\n\n return {};\n }, [standalone, domain, scale, width, height, theme, style, horizontal, polar, name]);\n var userProps = React.useMemo(function () {\n return UserProps.getSafeUserProps(initialProps);\n }, [initialProps]);\n var container = React.useMemo(function () {\n if (standalone) {\n var defaultContainerProps = _defaults({}, containerComponent.props, containerProps, userProps);\n\n return /*#__PURE__*/React.cloneElement(containerComponent, defaultContainerProps);\n }\n\n return /*#__PURE__*/React.cloneElement(groupComponent, userProps);\n }, [groupComponent, standalone, containerComponent, containerProps, userProps]);\n var events = React.useMemo(function () {\n return Wrapper.getAllEvents(props);\n }, [props]);\n var previousProps = Hooks.usePreviousProps(initialProps);\n React.useEffect(function () {\n // This is called before dismount to keep state in sync\n return function () {\n if (initialProps.animate) {\n setAnimationState(previousProps, initialProps);\n }\n };\n }, [setAnimationState, previousProps, initialProps]);\n\n if (!_isEmpty(events)) {\n return /*#__PURE__*/React.createElement(VictorySharedEvents, {\n container: container,\n eventKey: eventKey,\n events: events,\n externalEventMutations: externalEventMutations\n }, newChildren);\n }\n\n return /*#__PURE__*/React.cloneElement(container, container.props, newChildren);\n};\n\nVictoryStackBase.propTypes = _objectSpread(_objectSpread({}, CommonProps.baseProps), {}, {\n bins: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.instanceOf(Date)])), CustomPropTypes.nonNegative]),\n categories: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.shape({\n x: PropTypes.arrayOf(PropTypes.string),\n y: PropTypes.arrayOf(PropTypes.string)\n })]),\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n colorScale: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.oneOf([\"grayscale\", \"qualitative\", \"heatmap\", \"warm\", \"cool\", \"red\", \"green\", \"blue\"])]),\n fillInMissingData: PropTypes.bool,\n horizontal: PropTypes.bool,\n labelComponent: PropTypes.element,\n labels: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),\n style: PropTypes.shape({\n parent: PropTypes.object,\n data: PropTypes.object,\n labels: PropTypes.object\n }),\n xOffset: PropTypes.number\n});\nVictoryStackBase.defaultProps = {\n containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null),\n standalone: true,\n theme: VictoryTheme.grayscale,\n fillInMissingData: true\n};\nvar componentConfig = {\n role: \"stack\",\n expectedComponents: [\"groupComponent\", \"containerComponent\", \"labelComponent\"],\n getChildren: getChildren\n};\nexport var VictoryStack = Object.assign( /*#__PURE__*/React.memo(VictoryStackBase, isEqual), componentConfig);\nVictoryStack.displayName = \"VictoryStack\";","import _assign from \"lodash/assign\";\nimport _isPlainObject from \"lodash/isPlainObject\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [-1, 0, 1, 2] }]*/\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Helpers, CommonProps, Path, UserProps } from \"victory-core\";\n\nvar getVerticalPath = function (props) {\n var pointerWidth = props.pointerWidth,\n cornerRadius = props.cornerRadius,\n orientation = props.orientation,\n width = props.width,\n height = props.height,\n center = props.center;\n var sign = orientation === \"bottom\" ? 1 : -1;\n var x = props.x + (props.dx || 0);\n var y = props.y + (props.dy || 0);\n var centerX = _isPlainObject(center) && center.x;\n var centerY = _isPlainObject(center) && center.y;\n var pointerEdge = centerY + sign * (height / 2);\n var oppositeEdge = centerY - sign * (height / 2);\n var rightEdge = centerX + width / 2;\n var leftEdge = centerX - width / 2;\n var pointerLength = sign * (y - pointerEdge) < 0 ? 0 : props.pointerLength;\n var direction = orientation === \"bottom\" ? \"0 0 0\" : \"0 0 1\";\n var arc = \"\".concat(cornerRadius, \" \").concat(cornerRadius, \" \").concat(direction);\n return \"M \".concat(centerX - pointerWidth / 2, \", \").concat(pointerEdge, \"\\n L \").concat(pointerLength ? x : centerX + pointerWidth / 2, \", \").concat(pointerLength ? y : pointerEdge, \"\\n L \").concat(centerX + pointerWidth / 2, \", \").concat(pointerEdge, \"\\n L \").concat(rightEdge - cornerRadius, \", \").concat(pointerEdge, \"\\n A \").concat(arc, \" \").concat(rightEdge, \", \").concat(pointerEdge - sign * cornerRadius, \"\\n L \").concat(rightEdge, \", \").concat(oppositeEdge + sign * cornerRadius, \"\\n A \").concat(arc, \" \").concat(rightEdge - cornerRadius, \", \").concat(oppositeEdge, \"\\n L \").concat(leftEdge + cornerRadius, \", \").concat(oppositeEdge, \"\\n A \").concat(arc, \" \").concat(leftEdge, \", \").concat(oppositeEdge + sign * cornerRadius, \"\\n L \").concat(leftEdge, \", \").concat(pointerEdge - sign * cornerRadius, \"\\n A \").concat(arc, \" \").concat(leftEdge + cornerRadius, \", \").concat(pointerEdge, \"\\n z\");\n};\n\nvar getHorizontalPath = function (props) {\n var pointerWidth = props.pointerWidth,\n cornerRadius = props.cornerRadius,\n orientation = props.orientation,\n width = props.width,\n height = props.height,\n center = props.center;\n var sign = orientation === \"left\" ? 1 : -1;\n var x = props.x + (props.dx || 0);\n var y = props.y + (props.dy || 0);\n var centerX = _isPlainObject(center) && center.x;\n var centerY = _isPlainObject(center) && center.y;\n var pointerEdge = centerX - sign * (width / 2);\n var oppositeEdge = centerX + sign * (width / 2);\n var bottomEdge = centerY + height / 2;\n var topEdge = centerY - height / 2;\n var pointerLength = sign * (x - pointerEdge) > 0 ? 0 : props.pointerLength;\n var direction = orientation === \"left\" ? \"0 0 0\" : \"0 0 1\";\n var arc = \"\".concat(cornerRadius, \" \").concat(cornerRadius, \" \").concat(direction);\n return \"M \".concat(pointerEdge, \", \").concat(centerY - pointerWidth / 2, \"\\n L \").concat(pointerLength ? x : pointerEdge, \", \").concat(pointerLength ? y : centerY + pointerWidth / 2, \"\\n L \").concat(pointerEdge, \", \").concat(centerY + pointerWidth / 2, \"\\n L \").concat(pointerEdge, \", \").concat(bottomEdge - cornerRadius, \"\\n A \").concat(arc, \" \").concat(pointerEdge + sign * cornerRadius, \", \").concat(bottomEdge, \"\\n L \").concat(oppositeEdge - sign * cornerRadius, \", \").concat(bottomEdge, \"\\n A \").concat(arc, \" \").concat(oppositeEdge, \", \").concat(bottomEdge - cornerRadius, \"\\n L \").concat(oppositeEdge, \", \").concat(topEdge + cornerRadius, \"\\n A \").concat(arc, \" \").concat(oppositeEdge - sign * cornerRadius, \", \").concat(topEdge, \"\\n L \").concat(pointerEdge + sign * cornerRadius, \", \").concat(topEdge, \"\\n A \").concat(arc, \" \").concat(pointerEdge, \", \").concat(topEdge + cornerRadius, \"\\n z\");\n};\n\nvar getFlyoutPath = function (props) {\n var orientation = props.orientation || \"top\";\n return orientation === \"left\" || orientation === \"right\" ? getHorizontalPath(props) : getVerticalPath(props);\n};\n\nvar evaluateProps = function (props) {\n /**\n * Potential evaluated props are:\n * `id`\n * `style`\n */\n var id = Helpers.evaluateProp(props.id, props);\n var style = Helpers.evaluateStyle(props.style, props);\n return _assign({}, props, {\n id: id,\n style: style\n });\n};\n\nvar Flyout = function (props) {\n props = evaluateProps(props);\n var userProps = UserProps.getSafeUserProps(props);\n return /*#__PURE__*/React.cloneElement(props.pathComponent, _objectSpread(_objectSpread(_objectSpread({}, props.events), userProps), {}, {\n style: props.style,\n d: getFlyoutPath(props),\n className: props.className,\n shapeRendering: props.shapeRendering,\n role: props.role,\n transform: props.transform,\n clipPath: props.clipPath\n }));\n};\n\nFlyout.propTypes = _objectSpread(_objectSpread({}, CommonProps.primitiveProps), {}, {\n center: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n cornerRadius: PropTypes.number,\n datum: PropTypes.object,\n dx: PropTypes.number,\n dy: PropTypes.number,\n height: PropTypes.number,\n orientation: PropTypes.oneOf([\"top\", \"bottom\", \"left\", \"right\"]),\n pathComponent: PropTypes.element,\n pointerLength: PropTypes.number,\n pointerWidth: PropTypes.number,\n width: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number\n});\nFlyout.defaultProps = {\n pathComponent: /*#__PURE__*/React.createElement(Path, null),\n role: \"presentation\",\n shapeRendering: \"auto\"\n};\nexport default Flyout;","import _orderBy from \"lodash/orderBy\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport _defaults from \"lodash/defaults\";\nimport _assign from \"lodash/assign\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { PropTypes as CustomPropTypes, TextSize, Helpers, LabelHelpers, VictoryLabel, VictoryTheme, VictoryPortal } from \"victory-core\";\nimport Flyout from \"./flyout\";\nvar fallbackProps = {\n cornerRadius: 5,\n pointerLength: 10,\n pointerWidth: 10\n};\n\nvar VictoryTooltip = /*#__PURE__*/function (_React$Component) {\n _inherits(VictoryTooltip, _React$Component);\n\n var _super = _createSuper(VictoryTooltip);\n\n function VictoryTooltip(props) {\n var _this;\n\n _classCallCheck(this, VictoryTooltip);\n\n _this = _super.call(this, props);\n _this.id = props.id === undefined ? _uniqueId(\"tooltip-\") : props.id;\n return _this;\n }\n\n _createClass(VictoryTooltip, [{\n key: \"getDefaultOrientation\",\n value: function getDefaultOrientation(props) {\n var datum = props.datum,\n horizontal = props.horizontal,\n polar = props.polar;\n\n if (!polar) {\n var positive = horizontal ? \"right\" : \"top\";\n var negative = horizontal ? \"left\" : \"bottom\";\n return datum && datum.y < 0 ? negative : positive;\n }\n\n return this.getPolarOrientation(props, datum);\n }\n }, {\n key: \"getPolarOrientation\",\n value: function getPolarOrientation(props, datum) {\n var degrees = LabelHelpers.getDegrees(props, datum);\n var placement = props.labelPlacement || \"vertical\";\n\n if (placement === \" vertical\") {\n return this.getVerticalOrientations(degrees);\n } else if (placement === \"parallel\") {\n return degrees < 90 || degrees > 270 ? \"right\" : \"left\";\n }\n\n return degrees > 180 ? \"bottom\" : \"top\";\n }\n }, {\n key: \"getVerticalOrientations\",\n value: function getVerticalOrientations(degrees) {\n // eslint-disable-next-line no-magic-numbers\n if (degrees < 45 || degrees > 315) {\n return \"right\"; // eslint-disable-next-line no-magic-numbers\n } else if (degrees >= 45 && degrees <= 135) {\n return \"top\"; // eslint-disable-next-line no-magic-numbers\n } else if (degrees > 135 && degrees < 225) {\n return \"left\";\n }\n\n return \"bottom\";\n }\n }, {\n key: \"getStyles\",\n value: function getStyles(props) {\n var theme = props.theme || VictoryTheme.grayscale;\n var defaultLabelStyles = theme && theme.tooltip && theme.tooltip.style ? theme.tooltip.style : {};\n var baseLabelStyle = Array.isArray(props.style) ? props.style.map(function (s) {\n return _defaults({}, s, defaultLabelStyles);\n }) : _defaults({}, props.style, defaultLabelStyles);\n var defaultFlyoutStyles = theme && theme.tooltip && theme.tooltip.flyoutStyle ? theme.tooltip.flyoutStyle : {};\n var baseFlyoutStyle = props.flyoutStyle ? _defaults({}, props.flyoutStyle, defaultFlyoutStyles) : defaultFlyoutStyles;\n var style = Array.isArray(baseLabelStyle) ? baseLabelStyle.map(function (s) {\n return Helpers.evaluateStyle(s, props);\n }) : Helpers.evaluateStyle(baseLabelStyle, props);\n var flyoutStyle = Helpers.evaluateStyle(baseFlyoutStyle, _assign({}, props, {\n style: style\n }));\n return {\n style: style,\n flyoutStyle: flyoutStyle\n };\n }\n }, {\n key: \"getEvaluatedProps\",\n value: function getEvaluatedProps(props) {\n var cornerRadius = props.cornerRadius,\n centerOffset = props.centerOffset,\n dx = props.dx,\n dy = props.dy;\n var active = Helpers.evaluateProp(props.active, props);\n var text = Helpers.evaluateProp(props.text, _assign({}, props, {\n active: active\n }));\n\n var _this$getStyles = this.getStyles(_assign({}, props, {\n active: active,\n text: text\n })),\n style = _this$getStyles.style,\n flyoutStyle = _this$getStyles.flyoutStyle;\n\n var orientation = Helpers.evaluateProp(props.orientation, _assign({}, props, {\n active: active,\n text: text,\n style: style,\n flyoutStyle: flyoutStyle\n })) || this.getDefaultOrientation(props);\n var padding = Helpers.evaluateProp(props.flyoutPadding, _assign({}, props, {\n active: active,\n text: text,\n style: style,\n flyoutStyle: flyoutStyle,\n orientation: orientation\n })) || this.getLabelPadding(style);\n var flyoutPadding = Helpers.getPadding({\n padding: padding\n });\n var pointerWidth = Helpers.evaluateProp(props.pointerWidth, _assign({}, props, {\n active: active,\n text: text,\n style: style,\n flyoutStyle: flyoutStyle,\n orientation: orientation\n }));\n var pointerLength = Helpers.evaluateProp(props.pointerLength, _assign({}, props, {\n active: active,\n text: text,\n style: style,\n flyoutStyle: flyoutStyle,\n orientation: orientation\n }));\n var labelSize = TextSize.approximateTextSize(text, style);\n\n var _this$getDimensions = this.getDimensions(_assign({}, props, {\n style: style,\n flyoutStyle: flyoutStyle,\n active: active,\n text: text,\n orientation: orientation,\n flyoutPadding: flyoutPadding,\n pointerWidth: pointerWidth,\n pointerLength: pointerLength\n }), labelSize),\n flyoutHeight = _this$getDimensions.flyoutHeight,\n flyoutWidth = _this$getDimensions.flyoutWidth;\n\n var evaluatedProps = _assign({}, props, {\n active: active,\n text: text,\n style: style,\n flyoutStyle: flyoutStyle,\n orientation: orientation,\n flyoutHeight: flyoutHeight,\n flyoutWidth: flyoutWidth,\n flyoutPadding: flyoutPadding,\n pointerWidth: pointerWidth,\n pointerLength: pointerLength\n });\n\n var offsetX = _isPlainObject(centerOffset) && centerOffset.x !== undefined ? Helpers.evaluateProp(centerOffset.x, evaluatedProps) : 0;\n var offsetY = _isPlainObject(centerOffset) && centerOffset.y !== undefined ? Helpers.evaluateProp(centerOffset.y, evaluatedProps) : 0;\n return _assign({}, evaluatedProps, {\n centerOffset: {\n x: offsetX,\n y: offsetY\n },\n dx: dx !== undefined ? Helpers.evaluateProp(dx, evaluatedProps) : 0,\n dy: dy !== undefined ? Helpers.evaluateProp(dy, evaluatedProps) : 0,\n cornerRadius: Helpers.evaluateProp(cornerRadius, evaluatedProps)\n });\n }\n }, {\n key: \"getCalculatedValues\",\n value: function getCalculatedValues(props) {\n var style = props.style,\n text = props.text,\n flyoutStyle = props.flyoutStyle,\n flyoutHeight = props.flyoutHeight,\n flyoutWidth = props.flyoutWidth;\n var labelSize = TextSize.approximateTextSize(text, style);\n var flyoutDimensions = {\n height: flyoutHeight,\n width: flyoutWidth\n };\n var flyoutCenter = this.getFlyoutCenter(props, flyoutDimensions);\n var transform = this.getTransform(props);\n return {\n style: style,\n flyoutStyle: flyoutStyle,\n labelSize: labelSize,\n flyoutDimensions: flyoutDimensions,\n flyoutCenter: flyoutCenter,\n transform: transform\n };\n }\n }, {\n key: \"getTransform\",\n value: function getTransform(props) {\n var x = props.x,\n y = props.y,\n style = props.style;\n var labelStyle = style || {};\n var angle = labelStyle.angle || props.angle || this.getDefaultAngle(props);\n return angle ? \"rotate(\".concat(angle, \" \").concat(x, \" \").concat(y, \")\") : undefined;\n } // eslint-disable-next-line complexity\n\n }, {\n key: \"getDefaultAngle\",\n value: function getDefaultAngle(props) {\n var polar = props.polar,\n labelPlacement = props.labelPlacement,\n orientation = props.orientation,\n datum = props.datum;\n\n if (!polar || !labelPlacement || labelPlacement === \"vertical\") {\n return 0;\n }\n\n var degrees = LabelHelpers.getDegrees(props, datum);\n var sign = degrees > 90 && degrees < 180 || degrees > 270 ? 1 : -1;\n var labelRotation = labelPlacement === \"perpendicular\" ? 0 : 90;\n var angle;\n\n if (degrees === 0 || degrees === 180) {\n angle = orientation === \"top\" && degrees === 180 ? 270 : 90;\n } else if (degrees > 0 && degrees < 180) {\n angle = 90 - degrees;\n } else if (degrees > 180 && degrees < 360) {\n angle = 270 - degrees;\n }\n\n return angle + sign * labelRotation;\n }\n }, {\n key: \"constrainTooltip\",\n value: function constrainTooltip(center, props, dimensions) {\n var x = center.x,\n y = center.y;\n var width = dimensions.width,\n height = dimensions.height;\n var extent = {\n x: [0, props.width],\n y: [0, props.height]\n };\n var flyoutExtent = {\n x: [x - width / 2, x + width / 2],\n y: [y - height / 2, y + height / 2]\n };\n var adjustments = {\n x: [flyoutExtent.x[0] < extent.x[0] ? extent.x[0] - flyoutExtent.x[0] : 0, flyoutExtent.x[1] > extent.x[1] ? flyoutExtent.x[1] - extent.x[1] : 0],\n y: [flyoutExtent.y[0] < extent.y[0] ? extent.y[0] - flyoutExtent.y[0] : 0, flyoutExtent.y[1] > extent.y[1] ? flyoutExtent.y[1] - extent.y[1] : 0]\n };\n return {\n x: Math.round(x + adjustments.x[0] - adjustments.x[1]),\n y: Math.round(y + adjustments.y[0] - adjustments.y[1])\n };\n } // eslint-disable-next-line complexity\n\n }, {\n key: \"getFlyoutCenter\",\n value: function getFlyoutCenter(props, dimensions) {\n var x = props.x,\n y = props.y,\n dx = props.dx,\n dy = props.dy,\n pointerLength = props.pointerLength,\n orientation = props.orientation,\n constrainToVisibleArea = props.constrainToVisibleArea,\n centerOffset = props.centerOffset;\n var height = dimensions.height,\n width = dimensions.width;\n var xSign = orientation === \"left\" ? -1 : 1;\n var ySign = orientation === \"bottom\" ? -1 : 1;\n var flyoutCenter = {\n x: orientation === \"left\" || orientation === \"right\" ? x + xSign * (pointerLength + width / 2 + xSign * dx) : x + dx,\n y: orientation === \"top\" || orientation === \"bottom\" ? y - ySign * (pointerLength + height / 2 - ySign * dy) : y + dy\n };\n var center = {\n x: _isPlainObject(props.center) && props.center.x !== undefined ? props.center.x : flyoutCenter.x,\n y: _isPlainObject(props.center) && props.center.y !== undefined ? props.center.y : flyoutCenter.y\n };\n var centerWithOffset = {\n x: center.x + centerOffset.x,\n y: center.y + centerOffset.y\n };\n return constrainToVisibleArea ? this.constrainTooltip(centerWithOffset, props, dimensions) : centerWithOffset;\n }\n }, {\n key: \"getLabelPadding\",\n value: function getLabelPadding(style) {\n if (!style) {\n return 0;\n }\n\n var paddings = Array.isArray(style) ? style.map(function (s) {\n return s.padding;\n }) : [style.padding];\n return Math.max.apply(Math, _toConsumableArray(paddings).concat([0]));\n }\n }, {\n key: \"getDimensions\",\n value: function getDimensions(props, labelSize) {\n var orientation = props.orientation,\n pointerLength = props.pointerLength,\n pointerWidth = props.pointerWidth,\n flyoutHeight = props.flyoutHeight,\n flyoutWidth = props.flyoutWidth,\n flyoutPadding = props.flyoutPadding;\n var cornerRadius = Helpers.evaluateProp(props.cornerRadius, props);\n\n var getHeight = function () {\n var calculatedHeight = labelSize.height + flyoutPadding.top + flyoutPadding.bottom;\n var minHeight = orientation === \"top\" || orientation === \"bottom\" ? 2 * cornerRadius : 2 * cornerRadius + pointerWidth;\n return Math.max(minHeight, calculatedHeight);\n };\n\n var getWidth = function () {\n var calculatedWidth = labelSize.width + flyoutPadding.left + flyoutPadding.right;\n var minWidth = orientation === \"left\" || orientation === \"right\" ? 2 * cornerRadius + pointerLength : 2 * cornerRadius;\n return Math.max(minWidth, calculatedWidth);\n };\n\n return {\n flyoutHeight: flyoutHeight ? Helpers.evaluateProp(flyoutHeight, props) : getHeight(props, labelSize, orientation),\n flyoutWidth: flyoutWidth ? Helpers.evaluateProp(flyoutWidth, props) : getWidth(props, labelSize, orientation)\n };\n }\n }, {\n key: \"getLabelProps\",\n value: function getLabelProps(props, calculatedValues) {\n var flyoutCenter = calculatedValues.flyoutCenter,\n style = calculatedValues.style,\n labelSize = calculatedValues.labelSize,\n _calculatedValues$dy = calculatedValues.dy,\n dy = _calculatedValues$dy === void 0 ? 0 : _calculatedValues$dy,\n _calculatedValues$dx = calculatedValues.dx,\n dx = _calculatedValues$dx === void 0 ? 0 : _calculatedValues$dx;\n var text = props.text,\n datum = props.datum,\n activePoints = props.activePoints,\n labelComponent = props.labelComponent,\n index = props.index,\n flyoutPadding = props.flyoutPadding;\n var textAnchor = (Array.isArray(style) && style.length ? style[0].textAnchor : style.textAnchor) || \"middle\";\n\n var getLabelX = function () {\n if (!textAnchor || textAnchor === \"middle\") {\n return flyoutCenter.x;\n }\n\n var sign = textAnchor === \"end\" ? -1 : 1;\n return flyoutCenter.x - sign * (labelSize.width / 2);\n };\n\n return _defaults({}, labelComponent.props, {\n key: \"\".concat(this.id, \"-label-\").concat(index),\n text: text,\n datum: datum,\n activePoints: activePoints,\n textAnchor: textAnchor,\n dy: dy,\n dx: dx,\n style: style,\n x: getLabelX() + (flyoutPadding.left - flyoutPadding.right) / 2,\n y: flyoutCenter.y + (flyoutPadding.top - flyoutPadding.bottom) / 2,\n verticalAnchor: \"middle\",\n angle: style.angle\n });\n }\n }, {\n key: \"getPointerOrientation\",\n value: function getPointerOrientation(point, center, flyoutDimensions) {\n var edges = {\n bottom: center.y + flyoutDimensions.height / 2,\n top: center.y - flyoutDimensions.height / 2,\n left: center.x - flyoutDimensions.width / 2,\n right: center.x + flyoutDimensions.width / 2\n };\n var gaps = [{\n side: \"top\",\n val: edges.top > point.y ? edges.top - point.y : -1\n }, {\n side: \"bottom\",\n val: edges.bottom < point.y ? point.y - edges.bottom : -1\n }, {\n side: \"right\",\n val: edges.right < point.x ? point.x - edges.right : -1\n }, {\n side: \"left\",\n val: edges.left > point.x ? edges.left - point.x : -1\n }];\n return _orderBy(gaps, \"val\", \"desc\")[0].side;\n }\n }, {\n key: \"getFlyoutProps\",\n value: function getFlyoutProps(props, calculatedValues) {\n var flyoutDimensions = calculatedValues.flyoutDimensions,\n flyoutStyle = calculatedValues.flyoutStyle,\n flyoutCenter = calculatedValues.flyoutCenter;\n var x = props.x,\n y = props.y,\n dx = props.dx,\n dy = props.dy,\n datum = props.datum,\n activePoints = props.activePoints,\n index = props.index,\n pointerLength = props.pointerLength,\n pointerWidth = props.pointerWidth,\n cornerRadius = props.cornerRadius,\n events = props.events,\n flyoutComponent = props.flyoutComponent;\n var pointerOrientation = Helpers.evaluateProp(props.pointerOrientation, props);\n return _defaults({}, flyoutComponent.props, {\n x: x,\n y: y,\n dx: dx,\n dy: dy,\n datum: datum,\n activePoints: activePoints,\n index: index,\n pointerLength: pointerLength,\n pointerWidth: pointerWidth,\n cornerRadius: cornerRadius,\n events: events,\n orientation: pointerOrientation || this.getPointerOrientation({\n x: x,\n y: y\n }, flyoutCenter, flyoutDimensions),\n key: \"\".concat(this.id, \"-tooltip-\").concat(index),\n width: flyoutDimensions.width,\n height: flyoutDimensions.height,\n style: flyoutStyle,\n center: flyoutCenter\n });\n } // Overridden in victory-core-native\n\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip(props) {\n var active = Helpers.evaluateProp(props.active, props);\n var renderInPortal = props.renderInPortal;\n\n if (!active) {\n return renderInPortal ? /*#__PURE__*/React.createElement(VictoryPortal, null, null) : null;\n }\n\n var evaluatedProps = this.getEvaluatedProps(props);\n var flyoutComponent = evaluatedProps.flyoutComponent,\n labelComponent = evaluatedProps.labelComponent,\n groupComponent = evaluatedProps.groupComponent;\n var calculatedValues = this.getCalculatedValues(evaluatedProps);\n var children = [/*#__PURE__*/React.cloneElement(flyoutComponent, this.getFlyoutProps(evaluatedProps, calculatedValues)), /*#__PURE__*/React.cloneElement(labelComponent, this.getLabelProps(evaluatedProps, calculatedValues))];\n var tooltip = /*#__PURE__*/React.cloneElement(groupComponent, {\n role: \"presentation\",\n transform: calculatedValues.transform\n }, children);\n return renderInPortal ? /*#__PURE__*/React.createElement(VictoryPortal, null, tooltip) : tooltip;\n }\n }, {\n key: \"render\",\n value: function render() {\n var props = Helpers.modifyProps(this.props, fallbackProps, \"tooltip\");\n return this.renderTooltip(props);\n }\n }]);\n\n return VictoryTooltip;\n}(React.Component);\n\nVictoryTooltip.displayName = \"VictoryTooltip\";\nVictoryTooltip.role = \"tooltip\";\nVictoryTooltip.propTypes = {\n activateData: PropTypes.bool,\n active: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n activePoints: PropTypes.array,\n angle: PropTypes.number,\n center: PropTypes.shape({\n x: CustomPropTypes.nonNegative,\n y: CustomPropTypes.nonNegative\n }),\n centerOffset: PropTypes.shape({\n x: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n y: PropTypes.oneOfType([PropTypes.number, PropTypes.func])\n }),\n constrainToVisibleArea: PropTypes.bool,\n cornerRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n data: PropTypes.array,\n datum: PropTypes.object,\n dx: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n dy: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n events: PropTypes.object,\n flyoutComponent: PropTypes.element,\n flyoutHeight: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n flyoutPadding: PropTypes.oneOfType([PropTypes.func, PropTypes.number, PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number\n })]),\n flyoutStyle: PropTypes.object,\n flyoutWidth: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n groupComponent: PropTypes.element,\n height: PropTypes.number,\n horizontal: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n index: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n labelComponent: PropTypes.element,\n orientation: PropTypes.oneOfType([PropTypes.oneOf([\"top\", \"bottom\", \"left\", \"right\"]), PropTypes.func]),\n pointerLength: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n pointerOrientation: PropTypes.oneOfType([PropTypes.oneOf([\"top\", \"bottom\", \"left\", \"right\"]), PropTypes.func]),\n pointerWidth: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),\n polar: PropTypes.bool,\n renderInPortal: PropTypes.bool,\n scale: PropTypes.shape({\n x: CustomPropTypes.scale,\n y: CustomPropTypes.scale\n }),\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func, PropTypes.array]),\n theme: PropTypes.object,\n width: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number\n};\nVictoryTooltip.defaultProps = {\n active: false,\n renderInPortal: true,\n labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null),\n flyoutComponent: /*#__PURE__*/React.createElement(Flyout, null),\n groupComponent: /*#__PURE__*/React.createElement(\"g\", null)\n};\n\nVictoryTooltip.defaultEvents = function (props) {\n var activate = props.activateData ? [{\n target: \"labels\",\n mutation: function () {\n return {\n active: true\n };\n }\n }, {\n target: \"data\",\n mutation: function () {\n return {\n active: true\n };\n }\n }] : [{\n target: \"labels\",\n mutation: function () {\n return {\n active: true\n };\n }\n }];\n var deactivate = props.activateData ? [{\n target: \"labels\",\n mutation: function () {\n return {\n active: undefined\n };\n }\n }, {\n target: \"data\",\n mutation: function () {\n return {\n active: undefined\n };\n }\n }] : [{\n target: \"labels\",\n mutation: function () {\n return {\n active: undefined\n };\n }\n }];\n return [{\n target: \"data\",\n eventHandlers: {\n onMouseOver: function () {\n return activate;\n },\n onFocus: function () {\n return activate;\n },\n onTouchStart: function () {\n return activate;\n },\n onMouseOut: function () {\n return deactivate;\n },\n onBlur: function () {\n return deactivate;\n },\n onTouchEnd: function () {\n return deactivate;\n }\n }\n }];\n};\n\nexport { VictoryTooltip as default };","function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n return () => {\n var _a, _b, _c, _d;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(element.getBoundingClientRect());\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollLeft\" : \"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"scroll\", handler);\n element.removeEventListener(\"scrollend\", endHandler);\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"scroll\", handler);\n element.removeEventListener(\"scrollend\", endHandler);\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return Math.round(\n element.getBoundingClientRect()[instance.options.horizontal ? \"width\" : \"height\"]\n );\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n this._measureElement(entry.target, entry);\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.disconnect();\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n ...opts2\n };\n };\n this.notify = (force, sync) => {\n var _a, _b;\n const { startIndex, endIndex } = this.range ?? {\n startIndex: void 0,\n endIndex: void 0\n };\n const range = this.calculateRange();\n if (force || startIndex !== (range == null ? void 0 : range.startIndex) || endIndex !== (range == null ? void 0 : range.endIndex)) {\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n }\n };\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.observer.disconnect();\n this.elementsCache.clear();\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.notify(false, false);\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.notify(false, false);\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n const prevIsScrolling = this.isScrolling;\n this.isScrolling = isScrolling;\n this.notify(prevIsScrolling !== isScrolling, isScrolling);\n })\n );\n }\n };\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled) => {\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {\n var _a;\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n return [];\n }\n if (this.measurementsCache.length === 0) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n for (let i = min; i < count; i++) {\n let measureElement2 = (_a = this.measurementsCache[i]) == null ? void 0 : _a.measureElement;\n if (!measureElement2) {\n measureElement2 = (node) => {\n const key2 = getItemKey(i);\n const prevNode = this.elementsCache.get(key2);\n if (!node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n this.elementsCache.delete(key2);\n }\n return;\n }\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key2, node);\n }\n if (node.isConnected) {\n this.resizeItem(\n i,\n this.options.measureElement(node, void 0, this)\n );\n }\n };\n }\n const key = getItemKey(i);\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane,\n measureElement: measureElement2\n };\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [this.getMeasurements(), this.getSize(), this.getScrollOffset()],\n (measurements, outerSize, scrollOffset) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getIndexes = memo(\n () => [\n this.options.rangeExtractor,\n this.calculateRange(),\n this.options.overscan,\n this.options.count\n ],\n (rangeExtractor, range, overscan, count) => {\n return range === null ? [] : rangeExtractor({\n startIndex: range.startIndex,\n endIndex: range.endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const i = this.indexFromElement(node);\n const item = this.getMeasurements()[i];\n if (!item || !node.isConnected) {\n this.elementsCache.forEach((cached, key) => {\n if (cached === node) {\n this.observer.unobserve(node);\n this.elementsCache.delete(key);\n }\n });\n return;\n }\n const prevNode = this.elementsCache.get(item.key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(item.key, node);\n }\n this.resizeItem(i, this.options.measureElement(node, entry, this));\n };\n this.resizeItem = (index, size) => {\n const item = this.getMeasurements()[index];\n if (!item) {\n return;\n }\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(true, false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getIndexes\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getOffsetForAlignment = (toOffset, align) => {\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (toOffset <= scrollOffset) {\n align = \"start\";\n } else if (toOffset >= scrollOffset + size) {\n align = \"end\";\n } else {\n align = \"start\";\n }\n }\n if (align === \"start\") {\n toOffset = toOffset;\n } else if (align === \"end\") {\n toOffset = toOffset - size;\n } else if (align === \"center\") {\n toOffset = toOffset - size / 2;\n }\n const scrollSizeProp = this.options.horizontal ? \"scrollWidth\" : \"scrollHeight\";\n const scrollSize = this.scrollElement ? \"document\" in this.scrollElement ? this.scrollElement.document.documentElement[scrollSizeProp] : this.scrollElement[scrollSizeProp] : 0;\n const maxOffset = scrollSize - size;\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const item = this.getMeasurements()[index];\n if (!item) {\n return void 0;\n }\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = () => this.elementsCache.size > 0;\n this.cancelScrollToIndex = () => {\n if (this.scrollToIndexTimeoutId !== null && this.targetWindow) {\n this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);\n this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n const offsetAndAlign = this.getOffsetForIndex(index, initialAlign);\n if (!offsetAndAlign) return;\n const [offset, align] = offsetAndAlign;\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n if (behavior !== \"smooth\" && this.isDynamicMode() && this.targetWindow) {\n this.scrollToIndexTimeoutId = this.targetWindow.setTimeout(() => {\n this.scrollToIndexTimeoutId = null;\n const elementInDOM = this.elementsCache.has(\n this.options.getItemKey(index)\n );\n if (elementInDOM) {\n const [latestOffset] = notUndefined(\n this.getOffsetForIndex(index, align)\n );\n if (!approxEqual(latestOffset, this.getScrollOffset())) {\n this.scrollToIndex(index, { align, behavior });\n }\n } else {\n this.scrollToIndex(index, { align, behavior });\n }\n });\n }\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getScrollOffset() + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else {\n end = this.options.lanes === 1 ? ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0 : Math.max(\n ...measurements.slice(-this.options.lanes).map((m) => m.end)\n );\n }\n return end - this.options.scrollMargin + this.options.paddingEnd;\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n var _a, _b;\n this.itemSizeCache = /* @__PURE__ */ new Map();\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, false);\n };\n this.setOptions(opts);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset\n}) {\n const count = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { observeElementRect, observeElementOffset, elementScroll, observeWindowRect, observeWindowOffset, windowScroll, Virtualizer } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nconst useIsomorphicLayoutEffect = typeof document !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction useVirtualizerBase(options) {\n const rerender = React.useReducer(() => ({}), {})[1];\n const resolvedOptions = {\n ...options,\n onChange: (instance2, sync) => {\n var _a;\n if (sync) {\n flushSync(rerender);\n } else {\n rerender();\n }\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance2, sync);\n }\n };\n const [instance] = React.useState(\n () => new Virtualizer(resolvedOptions)\n );\n instance.setOptions(resolvedOptions);\n React.useEffect(() => {\n return instance._didMount();\n }, []);\n useIsomorphicLayoutEffect(() => {\n return instance._willUpdate();\n });\n return instance;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n","import{useState as s}from\"react\";import{useIsoMorphicEffect as f}from'./use-iso-morphic-effect.js';import{useLatestValue as m}from'./use-latest-value.js';function i(e,o){let[u,t]=s(e),r=m(e);return f(()=>t(r.current),[r,t,...o]),u}export{i as useComputed};\n","import{useEffect as s,useRef as f}from\"react\";import{useEvent as i}from'./use-event.js';function m(u,t){let e=f([]),r=i(u);s(()=>{let o=[...e.current];for(let[n,a]of t.entries())if(e.current[n]!==a){let l=r(t,o);return e.current=t,l}},[r,...t])}export{m as useWatch};\n","import{onDocumentReady as d}from'./document-ready.js';let t=[];d(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t[0]!==n.target&&(t.unshift(n.target),t=t.filter(r=>r!=null&&r.isConnected),t.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{t as history};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import{useVirtualizer as Ee}from\"@tanstack/react-virtual\";import w,{createContext as ie,createRef as Pe,Fragment as me,useCallback as Ie,useContext as ue,useEffect as Ve,useMemo as U,useReducer as _e,useRef as B,useState as Fe}from\"react\";import{useComputed as pe}from'../../hooks/use-computed.js';import{useControllable as Le}from'../../hooks/use-controllable.js';import{useDisposables as se}from'../../hooks/use-disposables.js';import{useEvent as m}from'../../hooks/use-event.js';import{useId as Q}from'../../hooks/use-id.js';import{useIsoMorphicEffect as H}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as De}from'../../hooks/use-latest-value.js';import{useOutsideClick as Me}from'../../hooks/use-outside-click.js';import{useOwnerDocument as he}from'../../hooks/use-owner.js';import{useResolveButtonType as Be}from'../../hooks/use-resolve-button-type.js';import{useSyncRefs as Z}from'../../hooks/use-sync-refs.js';import{useTrackedPointer as ke}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as we}from'../../hooks/use-tree-walker.js';import{useWatch as Te}from'../../hooks/use-watch.js';import{Features as Ue,Hidden as He}from'../../internal/hidden.js';import{OpenClosedProvider as Ne,State as re,useOpenClosed as Ge}from'../../internal/open-closed.js';import{history as xe}from'../../utils/active-element-history.js';import{isDisabledReactIssue7711 as Xe}from'../../utils/bugs.js';import{calculateActiveIndex as ge,Focus as y}from'../../utils/calculate-active-index.js';import{disposables as ve}from'../../utils/disposables.js';import{sortByDomNode as je}from'../../utils/focus-management.js';import{objectToFormEntries as Je}from'../../utils/form.js';import{match as W}from'../../utils/match.js';import{isMobile as Ke}from'../../utils/platform.js';import{compact as We,Features as Oe,forwardRefWithAs as $,render as q}from'../../utils/render.js';import{Keys as M}from'../keyboard.js';var $e=(o=>(o[o.Open=0]=\"Open\",o[o.Closed=1]=\"Closed\",o))($e||{}),qe=(o=>(o[o.Single=0]=\"Single\",o[o.Multi=1]=\"Multi\",o))(qe||{}),ze=(a=>(a[a.Pointer=0]=\"Pointer\",a[a.Focus=1]=\"Focus\",a[a.Other=2]=\"Other\",a))(ze||{}),Ye=(e=>(e[e.OpenCombobox=0]=\"OpenCombobox\",e[e.CloseCombobox=1]=\"CloseCombobox\",e[e.GoToOption=2]=\"GoToOption\",e[e.RegisterOption=3]=\"RegisterOption\",e[e.UnregisterOption=4]=\"UnregisterOption\",e[e.RegisterLabel=5]=\"RegisterLabel\",e[e.SetActivationTrigger=6]=\"SetActivationTrigger\",e[e.UpdateVirtualOptions=7]=\"UpdateVirtualOptions\",e))(Ye||{});function de(t,r=o=>o){let o=t.activeOptionIndex!==null?t.options[t.activeOptionIndex]:null,a=r(t.options.slice()),i=a.length>0&&a[0].dataRef.current.order!==null?a.sort((p,c)=>p.dataRef.current.order-c.dataRef.current.order):je(a,p=>p.dataRef.current.domRef.current),u=o?i.indexOf(o):null;return u===-1&&(u=null),{options:i,activeOptionIndex:u}}let Qe={[1](t){var r;return(r=t.dataRef.current)!=null&&r.disabled||t.comboboxState===1?t:{...t,activeOptionIndex:null,comboboxState:1}},[0](t){var r,o;if((r=t.dataRef.current)!=null&&r.disabled||t.comboboxState===0)return t;if((o=t.dataRef.current)!=null&&o.value){let a=t.dataRef.current.calculateIndex(t.dataRef.current.value);if(a!==-1)return{...t,activeOptionIndex:a,comboboxState:0}}return{...t,comboboxState:0}},[2](t,r){var u,p,c,e,l;if((u=t.dataRef.current)!=null&&u.disabled||(p=t.dataRef.current)!=null&&p.optionsRef.current&&!((c=t.dataRef.current)!=null&&c.optionsPropsRef.current.static)&&t.comboboxState===1)return t;if(t.virtual){let T=r.focus===y.Specific?r.idx:ge(r,{resolveItems:()=>t.virtual.options,resolveActiveIndex:()=>{var f,v;return(v=(f=t.activeOptionIndex)!=null?f:t.virtual.options.findIndex(S=>!t.virtual.disabled(S)))!=null?v:null},resolveDisabled:t.virtual.disabled,resolveId(){throw new Error(\"Function not implemented.\")}}),g=(e=r.trigger)!=null?e:2;return t.activeOptionIndex===T&&t.activationTrigger===g?t:{...t,activeOptionIndex:T,activationTrigger:g}}let o=de(t);if(o.activeOptionIndex===null){let T=o.options.findIndex(g=>!g.dataRef.current.disabled);T!==-1&&(o.activeOptionIndex=T)}let a=r.focus===y.Specific?r.idx:ge(r,{resolveItems:()=>o.options,resolveActiveIndex:()=>o.activeOptionIndex,resolveId:T=>T.id,resolveDisabled:T=>T.dataRef.current.disabled}),i=(l=r.trigger)!=null?l:2;return t.activeOptionIndex===a&&t.activationTrigger===i?t:{...t,...o,activeOptionIndex:a,activationTrigger:i}},[3]:(t,r)=>{var u,p,c;if((u=t.dataRef.current)!=null&&u.virtual)return{...t,options:[...t.options,r.payload]};let o=r.payload,a=de(t,e=>(e.push(o),e));t.activeOptionIndex===null&&(p=t.dataRef.current)!=null&&p.isSelected(r.payload.dataRef.current.value)&&(a.activeOptionIndex=a.options.indexOf(o));let i={...t,...a,activationTrigger:2};return(c=t.dataRef.current)!=null&&c.__demoMode&&t.dataRef.current.value===void 0&&(i.activeOptionIndex=0),i},[4]:(t,r)=>{var a;if((a=t.dataRef.current)!=null&&a.virtual)return{...t,options:t.options.filter(i=>i.id!==r.id)};let o=de(t,i=>{let u=i.findIndex(p=>p.id===r.id);return u!==-1&&i.splice(u,1),i});return{...t,...o,activationTrigger:2}},[5]:(t,r)=>t.labelId===r.id?t:{...t,labelId:r.id},[6]:(t,r)=>t.activationTrigger===r.trigger?t:{...t,activationTrigger:r.trigger},[7]:(t,r)=>{var a;if(((a=t.virtual)==null?void 0:a.options)===r.options)return t;let o=t.activeOptionIndex;if(t.activeOptionIndex!==null){let i=r.options.indexOf(t.virtual.options[t.activeOptionIndex]);i!==-1?o=i:o=null}return{...t,activeOptionIndex:o,virtual:Object.assign({},t.virtual,{options:r.options})}}},be=ie(null);be.displayName=\"ComboboxActionsContext\";function ee(t){let r=ue(be);if(r===null){let o=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,ee),o}return r}let Ce=ie(null);function Ze(t){var c;let r=j(\"VirtualProvider\"),[o,a]=U(()=>{let e=r.optionsRef.current;if(!e)return[0,0];let l=window.getComputedStyle(e);return[parseFloat(l.paddingBlockStart||l.paddingTop),parseFloat(l.paddingBlockEnd||l.paddingBottom)]},[r.optionsRef.current]),i=Ee({scrollPaddingStart:o,scrollPaddingEnd:a,count:r.virtual.options.length,estimateSize(){return 40},getScrollElement(){var e;return(e=r.optionsRef.current)!=null?e:null},overscan:12}),[u,p]=Fe(0);return H(()=>{p(e=>e+1)},[(c=r.virtual)==null?void 0:c.options]),w.createElement(Ce.Provider,{value:i},w.createElement(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${i.getTotalSize()}px`},ref:e=>{if(e){if(typeof process!=\"undefined\"&&process.env.JEST_WORKER_ID!==void 0||r.activationTrigger===0)return;r.activeOptionIndex!==null&&r.virtual.options.length>r.activeOptionIndex&&i.scrollToIndex(r.activeOptionIndex)}}},i.getVirtualItems().map(e=>{var l;return w.createElement(me,{key:e.key},w.cloneElement((l=t.children)==null?void 0:l.call(t,{option:r.virtual.options[e.index],open:r.comboboxState===0}),{key:`${u}-${e.key}`,\"data-index\":e.index,\"aria-setsize\":r.virtual.options.length,\"aria-posinset\":e.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${e.start}px)`,overflowAnchor:\"none\"}}))})))}let ce=ie(null);ce.displayName=\"ComboboxDataContext\";function j(t){let r=ue(ce);if(r===null){let o=new Error(`<${t} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,j),o}return r}function et(t,r){return W(r.type,Qe,t,r)}let tt=me;function ot(t,r){var fe;let{value:o,defaultValue:a,onChange:i,form:u,name:p,by:c=null,disabled:e=!1,__demoMode:l=!1,nullable:T=!1,multiple:g=!1,immediate:f=!1,virtual:v=null,...S}=t,R=!1,s=null,[I=g?[]:void 0,V]=Le(o,i,a),[_,E]=_e(et,{dataRef:Pe(),comboboxState:l?0:1,options:[],virtual:s?{options:s.options,disabled:(fe=s.disabled)!=null?fe:()=>!1}:null,activeOptionIndex:null,activationTrigger:2,labelId:null}),k=B(!1),J=B({static:!1,hold:!1}),K=B(null),z=B(null),te=B(null),X=B(null),x=m(typeof c==\"string\"?(d,b)=>{let P=c;return(d==null?void 0:d[P])===(b==null?void 0:b[P])}:c!=null?c:(d,b)=>d===b),O=m(d=>s?c===null?s.options.indexOf(d):s.options.findIndex(b=>x(b,d)):_.options.findIndex(b=>x(b.dataRef.current.value,d))),L=Ie(d=>W(n.mode,{[1]:()=>I.some(b=>x(b,d)),[0]:()=>x(I,d)}),[I]),oe=m(d=>_.activeOptionIndex===O(d)),n=U(()=>({..._,immediate:R,optionsPropsRef:J,labelRef:K,inputRef:z,buttonRef:te,optionsRef:X,value:I,defaultValue:a,disabled:e,mode:g?1:0,virtual:_.virtual,get activeOptionIndex(){if(k.current&&_.activeOptionIndex===null&&(s?s.options.length>0:_.options.length>0)){if(s){let b=s.options.findIndex(P=>{var G,Y;return!((Y=(G=s==null?void 0:s.disabled)==null?void 0:G.call(s,P))!=null&&Y)});if(b!==-1)return b}let d=_.options.findIndex(b=>!b.dataRef.current.disabled);if(d!==-1)return d}return _.activeOptionIndex},calculateIndex:O,compare:x,isSelected:L,isActive:oe,nullable:T,__demoMode:l}),[I,a,e,g,T,l,_,s]);H(()=>{s&&E({type:7,options:s.options})},[s,s==null?void 0:s.options]),H(()=>{_.dataRef.current=n},[n]),Me([n.buttonRef,n.inputRef,n.optionsRef],()=>le.closeCombobox(),n.comboboxState===0);let F=U(()=>{var d,b,P;return{open:n.comboboxState===0,disabled:e,activeIndex:n.activeOptionIndex,activeOption:n.activeOptionIndex===null?null:n.virtual?n.virtual.options[(d=n.activeOptionIndex)!=null?d:0]:(P=(b=n.options[n.activeOptionIndex])==null?void 0:b.dataRef.current.value)!=null?P:null,value:I}},[n,e,I]),A=m(()=>{if(n.activeOptionIndex!==null){if(n.virtual)ae(n.virtual.options[n.activeOptionIndex]);else{let{dataRef:d}=n.options[n.activeOptionIndex];ae(d.current.value)}le.goToOption(y.Specific,n.activeOptionIndex)}}),h=m(()=>{E({type:0}),k.current=!0}),C=m(()=>{E({type:1}),k.current=!1}),D=m((d,b,P)=>(k.current=!1,d===y.Specific?E({type:2,focus:y.Specific,idx:b,trigger:P}):E({type:2,focus:d,trigger:P}))),N=m((d,b)=>(E({type:3,payload:{id:d,dataRef:b}}),()=>{n.isActive(b.current.value)&&(k.current=!0),E({type:4,id:d})})),ye=m(d=>(E({type:5,id:d}),()=>E({type:5,id:null}))),ae=m(d=>W(n.mode,{[0](){return V==null?void 0:V(d)},[1](){let b=n.value.slice(),P=b.findIndex(G=>x(G,d));return P===-1?b.push(d):b.splice(P,1),V==null?void 0:V(b)}})),Re=m(d=>{E({type:6,trigger:d})}),le=U(()=>({onChange:ae,registerOption:N,registerLabel:ye,goToOption:D,closeCombobox:C,openCombobox:h,setActivationTrigger:Re,selectActiveOption:A}),[]),Ae=r===null?{}:{ref:r},ne=B(null),Se=se();return Ve(()=>{ne.current&&a!==void 0&&Se.addEventListener(ne.current,\"reset\",()=>{V==null||V(a)})},[ne,V]),w.createElement(be.Provider,{value:le},w.createElement(ce.Provider,{value:n},w.createElement(Ne,{value:W(n.comboboxState,{[0]:re.Open,[1]:re.Closed})},p!=null&&I!=null&&Je({[p]:I}).map(([d,b],P)=>w.createElement(He,{features:Ue.Hidden,ref:P===0?G=>{var Y;ne.current=(Y=G==null?void 0:G.closest(\"form\"))!=null?Y:null}:void 0,...We({key:d,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:u,disabled:e,name:d,value:b})})),q({ourProps:Ae,theirProps:S,slot:F,defaultTag:tt,name:\"Combobox\"}))))}let nt=\"input\";function rt(t,r){var X,x,O,L,oe;let o=Q(),{id:a=`headlessui-combobox-input-${o}`,onChange:i,displayValue:u,type:p=\"text\",...c}=t,e=j(\"Combobox.Input\"),l=ee(\"Combobox.Input\"),T=Z(e.inputRef,r),g=he(e.inputRef),f=B(!1),v=se(),S=m(()=>{l.onChange(null),e.optionsRef.current&&(e.optionsRef.current.scrollTop=0),l.goToOption(y.Nothing)}),R=function(){var n;return typeof u==\"function\"&&e.value!==void 0?(n=u(e.value))!=null?n:\"\":typeof e.value==\"string\"?e.value:\"\"}();Te(([n,F],[A,h])=>{if(f.current)return;let C=e.inputRef.current;C&&((h===0&&F===1||n!==A)&&(C.value=n),requestAnimationFrame(()=>{if(f.current||!C||(g==null?void 0:g.activeElement)!==C)return;let{selectionStart:D,selectionEnd:N}=C;Math.abs((N!=null?N:0)-(D!=null?D:0))===0&&D===0&&C.setSelectionRange(C.value.length,C.value.length)}))},[R,e.comboboxState,g]),Te(([n],[F])=>{if(n===0&&F===1){if(f.current)return;let A=e.inputRef.current;if(!A)return;let h=A.value,{selectionStart:C,selectionEnd:D,selectionDirection:N}=A;A.value=\"\",A.value=h,N!==null?A.setSelectionRange(C,D,N):A.setSelectionRange(C,D)}},[e.comboboxState]);let s=B(!1),I=m(()=>{s.current=!0}),V=m(()=>{v.nextFrame(()=>{s.current=!1})}),_=m(n=>{switch(f.current=!0,n.key){case M.Enter:if(f.current=!1,e.comboboxState!==0||s.current)return;if(n.preventDefault(),n.stopPropagation(),e.activeOptionIndex===null){l.closeCombobox();return}l.selectActiveOption(),e.mode===0&&l.closeCombobox();break;case M.ArrowDown:return f.current=!1,n.preventDefault(),n.stopPropagation(),W(e.comboboxState,{[0]:()=>l.goToOption(y.Next),[1]:()=>l.openCombobox()});case M.ArrowUp:return f.current=!1,n.preventDefault(),n.stopPropagation(),W(e.comboboxState,{[0]:()=>l.goToOption(y.Previous),[1]:()=>{l.openCombobox(),v.nextFrame(()=>{e.value||l.goToOption(y.Last)})}});case M.Home:if(n.shiftKey)break;return f.current=!1,n.preventDefault(),n.stopPropagation(),l.goToOption(y.First);case M.PageUp:return f.current=!1,n.preventDefault(),n.stopPropagation(),l.goToOption(y.First);case M.End:if(n.shiftKey)break;return f.current=!1,n.preventDefault(),n.stopPropagation(),l.goToOption(y.Last);case M.PageDown:return f.current=!1,n.preventDefault(),n.stopPropagation(),l.goToOption(y.Last);case M.Escape:return f.current=!1,e.comboboxState!==0?void 0:(n.preventDefault(),e.optionsRef.current&&!e.optionsPropsRef.current.static&&n.stopPropagation(),e.nullable&&e.mode===0&&e.value===null&&S(),l.closeCombobox());case M.Tab:if(f.current=!1,e.comboboxState!==0)return;e.mode===0&&e.activationTrigger!==1&&l.selectActiveOption(),l.closeCombobox();break}}),E=m(n=>{i==null||i(n),e.nullable&&e.mode===0&&n.target.value===\"\"&&S(),l.openCombobox()}),k=m(n=>{var A,h,C;let F=(A=n.relatedTarget)!=null?A:xe.find(D=>D!==n.currentTarget);if(f.current=!1,!((h=e.optionsRef.current)!=null&&h.contains(F))&&!((C=e.buttonRef.current)!=null&&C.contains(F))&&e.comboboxState===0)return n.preventDefault(),e.mode===0&&(e.nullable&&e.value===null?S():e.activationTrigger!==1&&l.selectActiveOption()),l.closeCombobox()}),J=m(n=>{var A,h,C;let F=(A=n.relatedTarget)!=null?A:xe.find(D=>D!==n.currentTarget);(h=e.buttonRef.current)!=null&&h.contains(F)||(C=e.optionsRef.current)!=null&&C.contains(F)||e.disabled||e.immediate&&e.comboboxState!==0&&(l.openCombobox(),v.nextFrame(()=>{l.setActivationTrigger(1)}))}),K=pe(()=>{if(e.labelId)return[e.labelId].join(\" \")},[e.labelId]),z=U(()=>({open:e.comboboxState===0,disabled:e.disabled}),[e]),te={ref:T,id:a,role:\"combobox\",type:p,\"aria-controls\":(X=e.optionsRef.current)==null?void 0:X.id,\"aria-expanded\":e.comboboxState===0,\"aria-activedescendant\":e.activeOptionIndex===null?void 0:e.virtual?(x=e.options.find(n=>{var F;return!((F=e.virtual)!=null&&F.disabled(n.dataRef.current.value))&&e.compare(n.dataRef.current.value,e.virtual.options[e.activeOptionIndex])}))==null?void 0:x.id:(O=e.options[e.activeOptionIndex])==null?void 0:O.id,\"aria-labelledby\":K,\"aria-autocomplete\":\"list\",defaultValue:(oe=(L=t.defaultValue)!=null?L:e.defaultValue!==void 0?u==null?void 0:u(e.defaultValue):null)!=null?oe:e.defaultValue,disabled:e.disabled,onCompositionStart:I,onCompositionEnd:V,onKeyDown:_,onChange:E,onFocus:J,onBlur:k};return q({ourProps:te,theirProps:c,slot:z,defaultTag:nt,name:\"Combobox.Input\"})}let at=\"button\";function lt(t,r){var S;let o=j(\"Combobox.Button\"),a=ee(\"Combobox.Button\"),i=Z(o.buttonRef,r),u=Q(),{id:p=`headlessui-combobox-button-${u}`,...c}=t,e=se(),l=m(R=>{switch(R.key){case M.ArrowDown:return R.preventDefault(),R.stopPropagation(),o.comboboxState===1&&a.openCombobox(),e.nextFrame(()=>{var s;return(s=o.inputRef.current)==null?void 0:s.focus({preventScroll:!0})});case M.ArrowUp:return R.preventDefault(),R.stopPropagation(),o.comboboxState===1&&(a.openCombobox(),e.nextFrame(()=>{o.value||a.goToOption(y.Last)})),e.nextFrame(()=>{var s;return(s=o.inputRef.current)==null?void 0:s.focus({preventScroll:!0})});case M.Escape:return o.comboboxState!==0?void 0:(R.preventDefault(),o.optionsRef.current&&!o.optionsPropsRef.current.static&&R.stopPropagation(),a.closeCombobox(),e.nextFrame(()=>{var s;return(s=o.inputRef.current)==null?void 0:s.focus({preventScroll:!0})}));default:return}}),T=m(R=>{if(Xe(R.currentTarget))return R.preventDefault();o.comboboxState===0?a.closeCombobox():(R.preventDefault(),a.openCombobox()),e.nextFrame(()=>{var s;return(s=o.inputRef.current)==null?void 0:s.focus({preventScroll:!0})})}),g=pe(()=>{if(o.labelId)return[o.labelId,p].join(\" \")},[o.labelId,p]),f=U(()=>({open:o.comboboxState===0,disabled:o.disabled,value:o.value}),[o]),v={ref:i,id:p,type:Be(t,o.buttonRef),tabIndex:-1,\"aria-haspopup\":\"listbox\",\"aria-controls\":(S=o.optionsRef.current)==null?void 0:S.id,\"aria-expanded\":o.comboboxState===0,\"aria-labelledby\":g,disabled:o.disabled,onClick:T,onKeyDown:l};return q({ourProps:v,theirProps:c,slot:f,defaultTag:at,name:\"Combobox.Button\"})}let it=\"label\";function ut(t,r){let o=Q(),{id:a=`headlessui-combobox-label-${o}`,...i}=t,u=j(\"Combobox.Label\"),p=ee(\"Combobox.Label\"),c=Z(u.labelRef,r);H(()=>p.registerLabel(a),[a]);let e=m(()=>{var g;return(g=u.inputRef.current)==null?void 0:g.focus({preventScroll:!0})}),l=U(()=>({open:u.comboboxState===0,disabled:u.disabled}),[u]);return q({ourProps:{ref:c,id:a,onClick:e},theirProps:i,slot:l,defaultTag:it,name:\"Combobox.Label\"})}let pt=\"ul\",st=Oe.RenderStrategy|Oe.Static;function dt(t,r){let o=Q(),{id:a=`headlessui-combobox-options-${o}`,hold:i=!1,...u}=t,p=j(\"Combobox.Options\"),c=Z(p.optionsRef,r),e=Ge(),l=(()=>e!==null?(e&re.Open)===re.Open:p.comboboxState===0)();H(()=>{var v;p.optionsPropsRef.current.static=(v=t.static)!=null?v:!1},[p.optionsPropsRef,t.static]),H(()=>{p.optionsPropsRef.current.hold=i},[p.optionsPropsRef,i]),we({container:p.optionsRef.current,enabled:p.comboboxState===0,accept(v){return v.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:v.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(v){v.setAttribute(\"role\",\"none\")}});let T=pe(()=>{var v,S;return(S=p.labelId)!=null?S:(v=p.buttonRef.current)==null?void 0:v.id},[p.labelId,p.buttonRef.current]),g=U(()=>({open:p.comboboxState===0,option:void 0}),[p]),f={\"aria-labelledby\":T,role:\"listbox\",\"aria-multiselectable\":p.mode===1?!0:void 0,id:a,ref:c};return p.virtual&&p.comboboxState===0&&Object.assign(u,{children:w.createElement(Ze,null,u.children)}),q({ourProps:f,theirProps:u,slot:g,defaultTag:pt,features:st,visible:l,name:\"Combobox.Options\"})}let bt=\"li\";function ct(t,r){var X;let o=Q(),{id:a=`headlessui-combobox-option-${o}`,disabled:i=!1,value:u,order:p=null,...c}=t,e=j(\"Combobox.Option\"),l=ee(\"Combobox.Option\"),T=e.virtual?e.activeOptionIndex===e.calculateIndex(u):e.activeOptionIndex===null?!1:((X=e.options[e.activeOptionIndex])==null?void 0:X.id)===a,g=e.isSelected(u),f=B(null),v=De({disabled:i,value:u,domRef:f,order:p}),S=ue(Ce),R=Z(r,f,S?S.measureElement:null),s=m(()=>l.onChange(u));H(()=>l.registerOption(a,v),[v,a]);let I=B(!(e.virtual||e.__demoMode));H(()=>{if(!e.virtual||!e.__demoMode)return;let x=ve();return x.requestAnimationFrame(()=>{I.current=!0}),x.dispose},[e.virtual,e.__demoMode]),H(()=>{if(!I.current||e.comboboxState!==0||!T||e.activationTrigger===0)return;let x=ve();return x.requestAnimationFrame(()=>{var O,L;(L=(O=f.current)==null?void 0:O.scrollIntoView)==null||L.call(O,{block:\"nearest\"})}),x.dispose},[f,T,e.comboboxState,e.activationTrigger,e.activeOptionIndex]);let V=m(x=>{var O;if(i||(O=e.virtual)!=null&&O.disabled(u))return x.preventDefault();s(),Ke()||requestAnimationFrame(()=>{var L;return(L=e.inputRef.current)==null?void 0:L.focus({preventScroll:!0})}),e.mode===0&&requestAnimationFrame(()=>l.closeCombobox())}),_=m(()=>{var O;if(i||(O=e.virtual)!=null&&O.disabled(u))return l.goToOption(y.Nothing);let x=e.calculateIndex(u);l.goToOption(y.Specific,x)}),E=ke(),k=m(x=>E.update(x)),J=m(x=>{var L;if(!E.wasMoved(x)||i||(L=e.virtual)!=null&&L.disabled(u)||T)return;let O=e.calculateIndex(u);l.goToOption(y.Specific,O,0)}),K=m(x=>{var O;E.wasMoved(x)&&(i||(O=e.virtual)!=null&&O.disabled(u)||T&&(e.optionsPropsRef.current.hold||l.goToOption(y.Nothing)))}),z=U(()=>({active:T,selected:g,disabled:i}),[T,g,i]);return q({ourProps:{id:a,ref:R,role:\"option\",tabIndex:i===!0?void 0:-1,\"aria-disabled\":i===!0?!0:void 0,\"aria-selected\":g,disabled:void 0,onClick:V,onFocus:_,onPointerEnter:k,onMouseEnter:k,onPointerMove:J,onMouseMove:J,onPointerLeave:K,onMouseLeave:K},theirProps:c,slot:z,defaultTag:bt,name:\"Combobox.Option\"})}let ft=$(ot),mt=$(lt),Tt=$(rt),xt=$(ut),gt=$(dt),vt=$(ct),qt=Object.assign(ft,{Input:Tt,Button:mt,Label:xt,Options:gt,Option:vt});export{qt as Combobox};\n","let a=/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:\"\",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role=\"img\"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:\"\":n;return a.test(l)&&(l=l.replace(a,\"\")),l}function g(e){let n=e.getAttribute(\"aria-label\");if(typeof n==\"string\")return n.trim();let t=e.getAttribute(\"aria-labelledby\");if(t){let u=t.split(\" \").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute(\"aria-label\");return typeof i==\"string\"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(\", \")}return o(e).trim()}export{g as getTextValue};\n","import{useRef as l}from\"react\";import{getTextValue as i}from'../utils/get-text-value.js';import{useEvent as o}from'./use-event.js';function s(c){let t=l(\"\"),r=l(\"\");return o(()=>{let e=c.current;if(!e)return\"\";let u=e.innerText;if(t.current===u)return r.current;let n=i(e).trim().toLowerCase();return t.current=u,r.current=n,n})}export{s as useTextValue};\n","import G,{createContext as X,createRef as N,Fragment as H,useContext as $,useEffect as q,useMemo as v,useReducer as z,useRef as K}from\"react\";import{useDisposables as j}from'../../hooks/use-disposables.js';import{useEvent as d}from'../../hooks/use-event.js';import{useId as O}from'../../hooks/use-id.js';import{useIsoMorphicEffect as L}from'../../hooks/use-iso-morphic-effect.js';import{useOutsideClick as Y}from'../../hooks/use-outside-click.js';import{useOwnerDocument as Z}from'../../hooks/use-owner.js';import{useResolveButtonType as ee}from'../../hooks/use-resolve-button-type.js';import{useSyncRefs as h}from'../../hooks/use-sync-refs.js';import{useTextValue as te}from'../../hooks/use-text-value.js';import{useTrackedPointer as ne}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as re}from'../../hooks/use-tree-walker.js';import{OpenClosedProvider as oe,State as D,useOpenClosed as ae}from'../../internal/open-closed.js';import{isDisabledReactIssue7711 as ie}from'../../utils/bugs.js';import{calculateActiveIndex as se,Focus as y}from'../../utils/calculate-active-index.js';import{disposables as k}from'../../utils/disposables.js';import{Focus as Q,FocusableMode as ue,focusFrom as le,isFocusableElement as pe,restoreFocusIfNecessary as W,sortByDomNode as ce}from'../../utils/focus-management.js';import{match as V}from'../../utils/match.js';import{Features as J,forwardRefWithAs as F,render as _}from'../../utils/render.js';import{Keys as c}from'../keyboard.js';var me=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(me||{}),de=(r=>(r[r.Pointer=0]=\"Pointer\",r[r.Other=1]=\"Other\",r))(de||{}),fe=(a=>(a[a.OpenMenu=0]=\"OpenMenu\",a[a.CloseMenu=1]=\"CloseMenu\",a[a.GoToItem=2]=\"GoToItem\",a[a.Search=3]=\"Search\",a[a.ClearSearch=4]=\"ClearSearch\",a[a.RegisterItem=5]=\"RegisterItem\",a[a.UnregisterItem=6]=\"UnregisterItem\",a))(fe||{});function w(e,u=r=>r){let r=e.activeItemIndex!==null?e.items[e.activeItemIndex]:null,s=ce(u(e.items.slice()),t=>t.dataRef.current.domRef.current),i=r?s.indexOf(r):null;return i===-1&&(i=null),{items:s,activeItemIndex:i}}let Te={[1](e){return e.menuState===1?e:{...e,activeItemIndex:null,menuState:1}},[0](e){return e.menuState===0?e:{...e,__demoMode:!1,menuState:0}},[2]:(e,u)=>{var i;let r=w(e),s=se(u,{resolveItems:()=>r.items,resolveActiveIndex:()=>r.activeItemIndex,resolveId:t=>t.id,resolveDisabled:t=>t.dataRef.current.disabled});return{...e,...r,searchQuery:\"\",activeItemIndex:s,activationTrigger:(i=u.trigger)!=null?i:1}},[3]:(e,u)=>{let s=e.searchQuery!==\"\"?0:1,i=e.searchQuery+u.value.toLowerCase(),o=(e.activeItemIndex!==null?e.items.slice(e.activeItemIndex+s).concat(e.items.slice(0,e.activeItemIndex+s)):e.items).find(l=>{var m;return((m=l.dataRef.current.textValue)==null?void 0:m.startsWith(i))&&!l.dataRef.current.disabled}),a=o?e.items.indexOf(o):-1;return a===-1||a===e.activeItemIndex?{...e,searchQuery:i}:{...e,searchQuery:i,activeItemIndex:a,activationTrigger:1}},[4](e){return e.searchQuery===\"\"?e:{...e,searchQuery:\"\",searchActiveItemIndex:null}},[5]:(e,u)=>{let r=w(e,s=>[...s,{id:u.id,dataRef:u.dataRef}]);return{...e,...r}},[6]:(e,u)=>{let r=w(e,s=>{let i=s.findIndex(t=>t.id===u.id);return i!==-1&&s.splice(i,1),s});return{...e,...r,activationTrigger:1}}},U=X(null);U.displayName=\"MenuContext\";function C(e){let u=$(U);if(u===null){let r=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,C),r}return u}function ye(e,u){return V(u.type,Te,e,u)}let Ie=H;function Me(e,u){let{__demoMode:r=!1,...s}=e,i=z(ye,{__demoMode:r,menuState:r?0:1,buttonRef:N(),itemsRef:N(),items:[],searchQuery:\"\",activeItemIndex:null,activationTrigger:1}),[{menuState:t,itemsRef:o,buttonRef:a},l]=i,m=h(u);Y([a,o],(g,R)=>{var p;l({type:1}),pe(R,ue.Loose)||(g.preventDefault(),(p=a.current)==null||p.focus())},t===0);let I=d(()=>{l({type:1})}),A=v(()=>({open:t===0,close:I}),[t,I]),f={ref:m};return G.createElement(U.Provider,{value:i},G.createElement(oe,{value:V(t,{[0]:D.Open,[1]:D.Closed})},_({ourProps:f,theirProps:s,slot:A,defaultTag:Ie,name:\"Menu\"})))}let ge=\"button\";function Re(e,u){var R;let r=O(),{id:s=`headlessui-menu-button-${r}`,...i}=e,[t,o]=C(\"Menu.Button\"),a=h(t.buttonRef,u),l=j(),m=d(p=>{switch(p.key){case c.Space:case c.Enter:case c.ArrowDown:p.preventDefault(),p.stopPropagation(),o({type:0}),l.nextFrame(()=>o({type:2,focus:y.First}));break;case c.ArrowUp:p.preventDefault(),p.stopPropagation(),o({type:0}),l.nextFrame(()=>o({type:2,focus:y.Last}));break}}),I=d(p=>{switch(p.key){case c.Space:p.preventDefault();break}}),A=d(p=>{if(ie(p.currentTarget))return p.preventDefault();e.disabled||(t.menuState===0?(o({type:1}),l.nextFrame(()=>{var M;return(M=t.buttonRef.current)==null?void 0:M.focus({preventScroll:!0})})):(p.preventDefault(),o({type:0})))}),f=v(()=>({open:t.menuState===0}),[t]),g={ref:a,id:s,type:ee(e,t.buttonRef),\"aria-haspopup\":\"menu\",\"aria-controls\":(R=t.itemsRef.current)==null?void 0:R.id,\"aria-expanded\":t.menuState===0,onKeyDown:m,onKeyUp:I,onClick:A};return _({ourProps:g,theirProps:i,slot:f,defaultTag:ge,name:\"Menu.Button\"})}let Ae=\"div\",be=J.RenderStrategy|J.Static;function Ee(e,u){var M,b;let r=O(),{id:s=`headlessui-menu-items-${r}`,...i}=e,[t,o]=C(\"Menu.Items\"),a=h(t.itemsRef,u),l=Z(t.itemsRef),m=j(),I=ae(),A=(()=>I!==null?(I&D.Open)===D.Open:t.menuState===0)();q(()=>{let n=t.itemsRef.current;n&&t.menuState===0&&n!==(l==null?void 0:l.activeElement)&&n.focus({preventScroll:!0})},[t.menuState,t.itemsRef,l]),re({container:t.itemsRef.current,enabled:t.menuState===0,accept(n){return n.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:n.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(n){n.setAttribute(\"role\",\"none\")}});let f=d(n=>{var E,x;switch(m.dispose(),n.key){case c.Space:if(t.searchQuery!==\"\")return n.preventDefault(),n.stopPropagation(),o({type:3,value:n.key});case c.Enter:if(n.preventDefault(),n.stopPropagation(),o({type:1}),t.activeItemIndex!==null){let{dataRef:S}=t.items[t.activeItemIndex];(x=(E=S.current)==null?void 0:E.domRef.current)==null||x.click()}W(t.buttonRef.current);break;case c.ArrowDown:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.Next});case c.ArrowUp:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.Previous});case c.Home:case c.PageUp:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.First});case c.End:case c.PageDown:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.Last});case c.Escape:n.preventDefault(),n.stopPropagation(),o({type:1}),k().nextFrame(()=>{var S;return(S=t.buttonRef.current)==null?void 0:S.focus({preventScroll:!0})});break;case c.Tab:n.preventDefault(),n.stopPropagation(),o({type:1}),k().nextFrame(()=>{le(t.buttonRef.current,n.shiftKey?Q.Previous:Q.Next)});break;default:n.key.length===1&&(o({type:3,value:n.key}),m.setTimeout(()=>o({type:4}),350));break}}),g=d(n=>{switch(n.key){case c.Space:n.preventDefault();break}}),R=v(()=>({open:t.menuState===0}),[t]),p={\"aria-activedescendant\":t.activeItemIndex===null||(M=t.items[t.activeItemIndex])==null?void 0:M.id,\"aria-labelledby\":(b=t.buttonRef.current)==null?void 0:b.id,id:s,onKeyDown:f,onKeyUp:g,role:\"menu\",tabIndex:0,ref:a};return _({ourProps:p,theirProps:i,slot:R,defaultTag:Ae,features:be,visible:A,name:\"Menu.Items\"})}let Se=H;function xe(e,u){let r=O(),{id:s=`headlessui-menu-item-${r}`,disabled:i=!1,...t}=e,[o,a]=C(\"Menu.Item\"),l=o.activeItemIndex!==null?o.items[o.activeItemIndex].id===s:!1,m=K(null),I=h(u,m);L(()=>{if(o.__demoMode||o.menuState!==0||!l||o.activationTrigger===0)return;let T=k();return T.requestAnimationFrame(()=>{var P,B;(B=(P=m.current)==null?void 0:P.scrollIntoView)==null||B.call(P,{block:\"nearest\"})}),T.dispose},[o.__demoMode,m,l,o.menuState,o.activationTrigger,o.activeItemIndex]);let A=te(m),f=K({disabled:i,domRef:m,get textValue(){return A()}});L(()=>{f.current.disabled=i},[f,i]),L(()=>(a({type:5,id:s,dataRef:f}),()=>a({type:6,id:s})),[f,s]);let g=d(()=>{a({type:1})}),R=d(T=>{if(i)return T.preventDefault();a({type:1}),W(o.buttonRef.current)}),p=d(()=>{if(i)return a({type:2,focus:y.Nothing});a({type:2,focus:y.Specific,id:s})}),M=ne(),b=d(T=>M.update(T)),n=d(T=>{M.wasMoved(T)&&(i||l||a({type:2,focus:y.Specific,id:s,trigger:0}))}),E=d(T=>{M.wasMoved(T)&&(i||l&&a({type:2,focus:y.Nothing}))}),x=v(()=>({active:l,disabled:i,close:g}),[l,i,g]);return _({ourProps:{id:s,ref:I,role:\"menuitem\",tabIndex:i===!0?void 0:-1,\"aria-disabled\":i===!0?!0:void 0,disabled:void 0,onClick:R,onFocus:p,onPointerEnter:b,onMouseEnter:b,onPointerMove:n,onMouseMove:n,onPointerLeave:E,onMouseLeave:E},theirProps:t,slot:x,defaultTag:Se,name:\"Menu.Item\"})}let Pe=F(Me),ve=F(Re),he=F(Ee),De=F(xe),qe=Object.assign(Pe,{Button:ve,Items:he,Item:De});export{qe as Menu};\n","import O,{createContext as J,useContext as V,useEffect as se,useMemo as D,useReducer as ue,useRef as j}from\"react\";import{Description as de,useDescriptions as X}from'../../components/description/description.js';import{Keys as _}from'../../components/keyboard.js';import{Label as ce,useLabels as q}from'../../components/label/label.js';import{useControllable as fe}from'../../hooks/use-controllable.js';import{useDisposables as Te}from'../../hooks/use-disposables.js';import{useEvent as E}from'../../hooks/use-event.js';import{useFlags as me}from'../../hooks/use-flags.js';import{useId as Q}from'../../hooks/use-id.js';import{useIsoMorphicEffect as ye}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as Re}from'../../hooks/use-latest-value.js';import{useSyncRefs as Y}from'../../hooks/use-sync-refs.js';import{useTreeWalker as be}from'../../hooks/use-tree-walker.js';import{Features as ge,Hidden as Oe}from'../../internal/hidden.js';import{isDisabledReactIssue7711 as Z}from'../../utils/bugs.js';import{Focus as S,focusIn as z,FocusResult as ee,sortByDomNode as Ee}from'../../utils/focus-management.js';import{attemptSubmit as ve,objectToFormEntries as Pe}from'../../utils/form.js';import{match as Ae}from'../../utils/match.js';import{getOwnerDocument as De}from'../../utils/owner.js';import{compact as _e,forwardRefWithAs as te,render as re}from'../../utils/render.js';var Ge=(t=>(t[t.RegisterOption=0]=\"RegisterOption\",t[t.UnregisterOption=1]=\"UnregisterOption\",t))(Ge||{});let Ce={[0](o,r){let t=[...o.options,{id:r.id,element:r.element,propsRef:r.propsRef}];return{...o,options:Ee(t,p=>p.element.current)}},[1](o,r){let t=o.options.slice(),p=o.options.findIndex(T=>T.id===r.id);return p===-1?o:(t.splice(p,1),{...o,options:t})}},B=J(null);B.displayName=\"RadioGroupDataContext\";function oe(o){let r=V(B);if(r===null){let t=new Error(`<${o} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,oe),t}return r}let $=J(null);$.displayName=\"RadioGroupActionsContext\";function ne(o){let r=V($);if(r===null){let t=new Error(`<${o} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,ne),t}return r}function ke(o,r){return Ae(r.type,Ce,o,r)}let Le=\"div\";function he(o,r){let t=Q(),{id:p=`headlessui-radiogroup-${t}`,value:T,defaultValue:v,form:M,name:m,onChange:H,by:G=(e,i)=>e===i,disabled:P=!1,...N}=o,y=E(typeof G==\"string\"?(e,i)=>{let n=G;return(e==null?void 0:e[n])===(i==null?void 0:i[n])}:G),[A,L]=ue(ke,{options:[]}),a=A.options,[h,R]=q(),[C,U]=X(),k=j(null),W=Y(k,r),[l,s]=fe(T,H,v),b=D(()=>a.find(e=>!e.propsRef.current.disabled),[a]),x=D(()=>a.some(e=>y(e.propsRef.current.value,l)),[a,l]),d=E(e=>{var n;if(P||y(e,l))return!1;let i=(n=a.find(f=>y(f.propsRef.current.value,e)))==null?void 0:n.propsRef.current;return i!=null&&i.disabled?!1:(s==null||s(e),!0)});be({container:k.current,accept(e){return e.getAttribute(\"role\")===\"radio\"?NodeFilter.FILTER_REJECT:e.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(e){e.setAttribute(\"role\",\"none\")}});let F=E(e=>{let i=k.current;if(!i)return;let n=De(i),f=a.filter(u=>u.propsRef.current.disabled===!1).map(u=>u.element.current);switch(e.key){case _.Enter:ve(e.currentTarget);break;case _.ArrowLeft:case _.ArrowUp:if(e.preventDefault(),e.stopPropagation(),z(f,S.Previous|S.WrapAround)===ee.Success){let g=a.find(K=>K.element.current===(n==null?void 0:n.activeElement));g&&d(g.propsRef.current.value)}break;case _.ArrowRight:case _.ArrowDown:if(e.preventDefault(),e.stopPropagation(),z(f,S.Next|S.WrapAround)===ee.Success){let g=a.find(K=>K.element.current===(n==null?void 0:n.activeElement));g&&d(g.propsRef.current.value)}break;case _.Space:{e.preventDefault(),e.stopPropagation();let u=a.find(g=>g.element.current===(n==null?void 0:n.activeElement));u&&d(u.propsRef.current.value)}break}}),c=E(e=>(L({type:0,...e}),()=>L({type:1,id:e.id}))),w=D(()=>({value:l,firstOption:b,containsCheckedOption:x,disabled:P,compare:y,...A}),[l,b,x,P,y,A]),ie=D(()=>({registerOption:c,change:d}),[c,d]),ae={ref:W,id:p,role:\"radiogroup\",\"aria-labelledby\":h,\"aria-describedby\":C,onKeyDown:F},pe=D(()=>({value:l}),[l]),I=j(null),le=Te();return se(()=>{I.current&&v!==void 0&&le.addEventListener(I.current,\"reset\",()=>{d(v)})},[I,d]),O.createElement(U,{name:\"RadioGroup.Description\"},O.createElement(R,{name:\"RadioGroup.Label\"},O.createElement($.Provider,{value:ie},O.createElement(B.Provider,{value:w},m!=null&&l!=null&&Pe({[m]:l}).map(([e,i],n)=>O.createElement(Oe,{features:ge.Hidden,ref:n===0?f=>{var u;I.current=(u=f==null?void 0:f.closest(\"form\"))!=null?u:null}:void 0,..._e({key:e,as:\"input\",type:\"radio\",checked:i!=null,hidden:!0,readOnly:!0,form:M,disabled:P,name:e,value:i})})),re({ourProps:ae,theirProps:N,slot:pe,defaultTag:Le,name:\"RadioGroup\"})))))}var xe=(t=>(t[t.Empty=1]=\"Empty\",t[t.Active=2]=\"Active\",t))(xe||{});let Fe=\"div\";function we(o,r){var F;let t=Q(),{id:p=`headlessui-radiogroup-option-${t}`,value:T,disabled:v=!1,...M}=o,m=j(null),H=Y(m,r),[G,P]=q(),[N,y]=X(),{addFlag:A,removeFlag:L,hasFlag:a}=me(1),h=Re({value:T,disabled:v}),R=oe(\"RadioGroup.Option\"),C=ne(\"RadioGroup.Option\");ye(()=>C.registerOption({id:p,element:m,propsRef:h}),[p,C,m,h]);let U=E(c=>{var w;if(Z(c.currentTarget))return c.preventDefault();C.change(T)&&(A(2),(w=m.current)==null||w.focus())}),k=E(c=>{if(Z(c.currentTarget))return c.preventDefault();A(2)}),W=E(()=>L(2)),l=((F=R.firstOption)==null?void 0:F.id)===p,s=R.disabled||v,b=R.compare(R.value,T),x={ref:H,id:p,role:\"radio\",\"aria-checked\":b?\"true\":\"false\",\"aria-labelledby\":G,\"aria-describedby\":N,\"aria-disabled\":s?!0:void 0,tabIndex:(()=>s?-1:b||!R.containsCheckedOption&&l?0:-1)(),onClick:s?void 0:U,onFocus:s?void 0:k,onBlur:s?void 0:W},d=D(()=>({checked:b,disabled:s,active:a(2)}),[b,s,a]);return O.createElement(y,{name:\"RadioGroup.Description\"},O.createElement(P,{name:\"RadioGroup.Label\"},re({ourProps:x,theirProps:M,slot:d,defaultTag:Fe,name:\"RadioGroup.Option\"})))}let Ie=te(he),Se=te(we),it=Object.assign(Ie,{Option:Se,Label:ce,Description:de});export{it as RadioGroup};\n","import{disposables as f}from'../../../utils/disposables.js';import{match as d}from'../../../utils/match.js';import{once as s}from'../../../utils/once.js';function g(t,...e){t&&e.length>0&&t.classList.add(...e)}function v(t,...e){t&&e.length>0&&t.classList.remove(...e)}function b(t,e){let n=f();if(!t)return n.dispose;let{transitionDuration:m,transitionDelay:a}=getComputedStyle(t),[u,p]=[m,a].map(l=>{let[r=0]=l.split(\",\").filter(Boolean).map(i=>i.includes(\"ms\")?parseFloat(i):parseFloat(i)*1e3).sort((i,T)=>T-i);return r}),o=u+p;if(o!==0){n.group(r=>{r.setTimeout(()=>{e(),r.dispose()},o),r.addEventListener(t,\"transitionrun\",i=>{i.target===i.currentTarget&&r.dispose()})});let l=n.addEventListener(t,\"transitionend\",r=>{r.target===r.currentTarget&&(e(),l())})}else e();return n.add(()=>e()),n.dispose}function M(t,e,n,m){let a=n?\"enter\":\"leave\",u=f(),p=m!==void 0?s(m):()=>{};a===\"enter\"&&(t.removeAttribute(\"hidden\"),t.style.display=\"\");let o=d(a,{enter:()=>e.enter,leave:()=>e.leave}),l=d(a,{enter:()=>e.enterTo,leave:()=>e.leaveTo}),r=d(a,{enter:()=>e.enterFrom,leave:()=>e.leaveFrom});return v(t,...e.base,...e.enter,...e.enterTo,...e.enterFrom,...e.leave,...e.leaveFrom,...e.leaveTo,...e.entered),g(t,...e.base,...o,...r),u.nextFrame(()=>{v(t,...e.base,...o,...r),g(t,...e.base,...o,...l),b(t,()=>(v(t,...e.base,...o),g(t,...e.base,...e.entered),p()))}),u.dispose}export{M as transition};\n","function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once};\n","import m,{createContext as Z,Fragment as $,useContext as J,useEffect as F,useMemo as ee,useRef as c,useState as X}from\"react\";import{useDisposables as pe}from'../../hooks/use-disposables.js';import{useEvent as E}from'../../hooks/use-event.js';import{useFlags as he}from'../../hooks/use-flags.js';import{useIsMounted as ve}from'../../hooks/use-is-mounted.js';import{useIsoMorphicEffect as ge}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as A}from'../../hooks/use-latest-value.js';import{useServerHandoffComplete as te}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as ne}from'../../hooks/use-sync-refs.js';import{useTransition as Ce}from'../../hooks/use-transition.js';import{OpenClosedProvider as Ee,State as b,useOpenClosed as re}from'../../internal/open-closed.js';import{classNames as ie}from'../../utils/class-names.js';import{match as _}from'../../utils/match.js';import{Features as be,forwardRefWithAs as W,render as oe,RenderStrategy as y}from'../../utils/render.js';function S(t=\"\"){return t.split(/\\s+/).filter(n=>n.length>1)}let I=Z(null);I.displayName=\"TransitionContext\";var Se=(r=>(r.Visible=\"visible\",r.Hidden=\"hidden\",r))(Se||{});function ye(){let t=J(I);if(t===null)throw new Error(\"A is used but it is missing a parent or .\");return t}function xe(){let t=J(M);if(t===null)throw new Error(\"A is used but it is missing a parent or .\");return t}let M=Z(null);M.displayName=\"NestingContext\";function U(t){return\"children\"in t?U(t.children):t.current.filter(({el:n})=>n.current!==null).filter(({state:n})=>n===\"visible\").length>0}function se(t,n){let r=A(t),s=c([]),R=ve(),D=pe(),p=E((i,e=y.Hidden)=>{let a=s.current.findIndex(({el:o})=>o===i);a!==-1&&(_(e,{[y.Unmount](){s.current.splice(a,1)},[y.Hidden](){s.current[a].state=\"hidden\"}}),D.microTask(()=>{var o;!U(s)&&R.current&&((o=r.current)==null||o.call(r))}))}),x=E(i=>{let e=s.current.find(({el:a})=>a===i);return e?e.state!==\"visible\"&&(e.state=\"visible\"):s.current.push({el:i,state:\"visible\"}),()=>p(i,y.Unmount)}),h=c([]),v=c(Promise.resolve()),u=c({enter:[],leave:[],idle:[]}),g=E((i,e,a)=>{h.current.splice(0),n&&(n.chains.current[e]=n.chains.current[e].filter(([o])=>o!==i)),n==null||n.chains.current[e].push([i,new Promise(o=>{h.current.push(o)})]),n==null||n.chains.current[e].push([i,new Promise(o=>{Promise.all(u.current[e].map(([f,N])=>N)).then(()=>o())})]),e===\"enter\"?v.current=v.current.then(()=>n==null?void 0:n.wait.current).then(()=>a(e)):a(e)}),d=E((i,e,a)=>{Promise.all(u.current[e].splice(0).map(([o,f])=>f)).then(()=>{var o;(o=h.current.shift())==null||o()}).then(()=>a(e))});return ee(()=>({children:s,register:x,unregister:p,onStart:g,onStop:d,wait:v,chains:u}),[x,p,s,g,d,u,v])}function Ne(){}let Pe=[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\"];function ae(t){var r;let n={};for(let s of Pe)n[s]=(r=t[s])!=null?r:Ne;return n}function Re(t){let n=c(ae(t));return F(()=>{n.current=ae(t)},[t]),n}let De=\"div\",le=be.RenderStrategy;function He(t,n){var Q,Y;let{beforeEnter:r,afterEnter:s,beforeLeave:R,afterLeave:D,enter:p,enterFrom:x,enterTo:h,entered:v,leave:u,leaveFrom:g,leaveTo:d,...i}=t,e=c(null),a=ne(e,n),o=(Q=i.unmount)==null||Q?y.Unmount:y.Hidden,{show:f,appear:N,initial:T}=ye(),[l,j]=X(f?\"visible\":\"hidden\"),z=xe(),{register:L,unregister:O}=z;F(()=>L(e),[L,e]),F(()=>{if(o===y.Hidden&&e.current){if(f&&l!==\"visible\"){j(\"visible\");return}return _(l,{[\"hidden\"]:()=>O(e),[\"visible\"]:()=>L(e)})}},[l,e,L,O,f,o]);let k=A({base:S(i.className),enter:S(p),enterFrom:S(x),enterTo:S(h),entered:S(v),leave:S(u),leaveFrom:S(g),leaveTo:S(d)}),V=Re({beforeEnter:r,afterEnter:s,beforeLeave:R,afterLeave:D}),G=te();F(()=>{if(G&&l===\"visible\"&&e.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[e,l,G]);let Te=T&&!N,K=N&&f&&T,de=(()=>!G||Te?\"idle\":f?\"enter\":\"leave\")(),H=he(0),fe=E(C=>_(C,{enter:()=>{H.addFlag(b.Opening),V.current.beforeEnter()},leave:()=>{H.addFlag(b.Closing),V.current.beforeLeave()},idle:()=>{}})),me=E(C=>_(C,{enter:()=>{H.removeFlag(b.Opening),V.current.afterEnter()},leave:()=>{H.removeFlag(b.Closing),V.current.afterLeave()},idle:()=>{}})),w=se(()=>{j(\"hidden\"),O(e)},z),B=c(!1);Ce({immediate:K,container:e,classes:k,direction:de,onStart:A(C=>{B.current=!0,w.onStart(e,C,fe)}),onStop:A(C=>{B.current=!1,w.onStop(e,C,me),C===\"leave\"&&!U(w)&&(j(\"hidden\"),O(e))})});let P=i,ce={ref:a};return K?P={...P,className:ie(i.className,...k.current.enter,...k.current.enterFrom)}:B.current&&(P.className=ie(i.className,(Y=e.current)==null?void 0:Y.className),P.className===\"\"&&delete P.className),m.createElement(M.Provider,{value:w},m.createElement(Ee,{value:_(l,{[\"visible\"]:b.Open,[\"hidden\"]:b.Closed})|H.flags},oe({ourProps:ce,theirProps:P,defaultTag:De,features:le,visible:l===\"visible\",name:\"Transition.Child\"})))}function Fe(t,n){let{show:r,appear:s=!1,unmount:R=!0,...D}=t,p=c(null),x=ne(p,n);te();let h=re();if(r===void 0&&h!==null&&(r=(h&b.Open)===b.Open),![!0,!1].includes(r))throw new Error(\"A is used but it is missing a `show={true | false}` prop.\");let[v,u]=X(r?\"visible\":\"hidden\"),g=se(()=>{u(\"hidden\")}),[d,i]=X(!0),e=c([r]);ge(()=>{d!==!1&&e.current[e.current.length-1]!==r&&(e.current.push(r),i(!1))},[e,r]);let a=ee(()=>({show:r,appear:s,initial:d}),[r,s,d]);F(()=>{if(r)u(\"visible\");else if(!U(g))u(\"hidden\");else{let T=p.current;if(!T)return;let l=T.getBoundingClientRect();l.x===0&&l.y===0&&l.width===0&&l.height===0&&u(\"hidden\")}},[r,g]);let o={unmount:R},f=E(()=>{var T;d&&i(!1),(T=t.beforeEnter)==null||T.call(t)}),N=E(()=>{var T;d&&i(!1),(T=t.beforeLeave)==null||T.call(t)});return m.createElement(M.Provider,{value:g},m.createElement(I.Provider,{value:a},oe({ourProps:{...o,as:$,children:m.createElement(ue,{ref:x,...o,...D,beforeEnter:f,beforeLeave:N})},theirProps:{},defaultTag:$,features:le,visible:v===\"visible\",name:\"Transition\"})))}function _e(t,n){let r=J(I)!==null,s=re()!==null;return m.createElement(m.Fragment,null,!r&&s?m.createElement(q,{ref:n,...t}):m.createElement(ue,{ref:n,...t}))}let q=W(Fe),ue=W(He),Le=W(_e),qe=Object.assign(q,{Child:Le,Root:q});export{qe as Transition};\n","import{transition as f}from'../components/transitions/utils/transition.js';import{disposables as m}from'../utils/disposables.js';import{useDisposables as p}from'./use-disposables.js';import{useIsMounted as b}from'./use-is-mounted.js';import{useIsoMorphicEffect as o}from'./use-iso-morphic-effect.js';import{useLatestValue as g}from'./use-latest-value.js';function D({immediate:t,container:s,direction:n,classes:u,onStart:a,onStop:c}){let l=b(),d=p(),e=g(n);o(()=>{t&&(e.current=\"enter\")},[t]),o(()=>{let r=m();d.add(r.dispose);let i=s.current;if(i&&e.current!==\"idle\"&&l.current)return r.dispose(),a.current(e.current),r.add(f(i,u.current,e.current===\"enter\",()=>{r.dispose(),c.current(e.current)})),r.dispose},[n])}export{D as useTransition};\n","import{useCallback as n,useState as f}from\"react\";import{useIsMounted as i}from'./use-is-mounted.js';function c(a=0){let[l,r]=f(a),t=i(),o=n(e=>{t.current&&r(u=>u|e)},[l,t]),m=n(e=>Boolean(l&e),[l]),s=n(e=>{t.current&&r(u=>u&~e)},[r,t]),g=n(e=>{t.current&&r(u=>u^e)},[r]);return{flags:l,addFlag:o,hasFlag:m,removeFlag:s,toggleFlag:g}}export{c as useFlags};\n","import{useRef as r}from\"react\";import{useIsoMorphicEffect as t}from'./use-iso-morphic-effect.js';function f(){let e=r(!1);return t(()=>(e.current=!0,()=>{e.current=!1}),[]),e}export{f as useIsMounted};\n","import{useEffect as m}from\"react\";import{useLatestValue as c}from'./use-latest-value.js';function d(e,r,n){let o=c(r);m(()=>{function t(u){o.current(u)}return document.addEventListener(e,t,n),()=>document.removeEventListener(e,t,n)},[e,n])}export{d as useDocumentEvent};\n","import{useEffect as d,useRef as f}from\"react\";import{FocusableMode as p,isFocusableElement as C}from'../utils/focus-management.js';import{isMobile as M}from'../utils/platform.js';import{useDocumentEvent as l}from'./use-document-event.js';import{useWindowEvent as T}from'./use-window-event.js';function y(s,m,a=!0){let i=f(!1);d(()=>{requestAnimationFrame(()=>{i.current=a})},[a]);function c(e,r){if(!i.current||e.defaultPrevented)return;let t=r(e);if(t===null||!t.getRootNode().contains(t)||!t.isConnected)return;let E=function u(n){return typeof n==\"function\"?u(n()):Array.isArray(n)||n instanceof Set?n:[n]}(s);for(let u of E){if(u===null)continue;let n=u instanceof HTMLElement?u:u.current;if(n!=null&&n.contains(t)||e.composed&&e.composedPath().includes(n))return}return!C(t,p.Loose)&&t.tabIndex!==-1&&e.preventDefault(),m(e,t)}let o=f(null);l(\"pointerdown\",e=>{var r,t;i.current&&(o.current=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),l(\"mousedown\",e=>{var r,t;i.current&&(o.current=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),l(\"click\",e=>{M()||o.current&&(c(e,()=>o.current),o.current=null)},!0),l(\"touchend\",e=>c(e,()=>e.target instanceof HTMLElement?e.target:null),!0),T(\"blur\",e=>c(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{y as useOutsideClick};\n","import{useEffect as d}from\"react\";import{useLatestValue as a}from'./use-latest-value.js';function s(e,r,n){let o=a(r);d(()=>{function t(i){o.current(i)}return window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)},[e,n])}export{s as useWindowEvent};\n","import{useMemo as t}from\"react\";import{getOwnerDocument as o}from'../utils/owner.js';function n(...e){return t(()=>o(...e),[...e])}export{n as useOwnerDocument};\n","import{useRef as o}from\"react\";function t(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(r){let n=t(r);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(r){e.current=t(r)}}}export{u as useTrackedPointer};\n","import{useEffect as m,useRef as E}from\"react\";import{getOwnerDocument as T}from'../utils/owner.js';import{useIsoMorphicEffect as N}from'./use-iso-morphic-effect.js';function F({container:e,accept:t,walk:r,enabled:c=!0}){let o=E(t),l=E(r);m(()=>{o.current=t,l.current=r},[t,r]),N(()=>{if(!e||!c)return;let n=T(e);if(!n)return;let f=o.current,p=l.current,d=Object.assign(i=>f(i),{acceptNode:f}),u=n.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,d,!1);for(;u.nextNode();)p(u.currentNode)},[e,c,o,l])}export{F as useTreeWalker};\n","import t,{createContext as l,useContext as p}from\"react\";let n=l(null);n.displayName=\"OpenClosedContext\";var d=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(d||{});function u(){return p(n)}function s({value:o,children:r}){return t.createElement(n.Provider,{value:o},r)}export{s as OpenClosedProvider,d as State,u as useOpenClosed};\n","function u(l){throw new Error(\"Unexpected object: \"+l)}var c=(i=>(i[i.First=0]=\"First\",i[i.Previous=1]=\"Previous\",i[i.Next=2]=\"Next\",i[i.Last=3]=\"Last\",i[i.Specific=4]=\"Specific\",i[i.Nothing=5]=\"Nothing\",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e`${e}:not([tabindex='-1'])`).join(\",\");var M=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n))(M||{}),N=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(N||{}),F=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(F||{});function f(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var T=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(T||{});function h(e,r=0){var t;return e===((t=m(e))==null?void 0:t.body)?!1:L(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function D(e){let r=m(e);b().nextFrame(()=>{r&&!h(r.activeElement,0)&&y(e)})}var w=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(w||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function y(e){e==null||e.focus({preventScroll:!0})}let S=[\"textarea\",\"input\"].join(\",\");function H(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,S))!=null?t:!1}function I(e,r=t=>t){return e.slice().sort((t,l)=>{let o=r(t),i=r(l);if(o===null||i===null)return 0;let n=o.compareDocumentPosition(i);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function _(e,r){return O(f(),r,{relativeTo:e})}function O(e,r,{sorted:t=!0,relativeTo:l=null,skipElements:o=[]}={}){let i=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,n=Array.isArray(e)?t?I(e):e:f(e);o.length>0&&n.length>1&&(n=n.filter(s=>!o.includes(s))),l=l!=null?l:i.activeElement;let E=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),x=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(l))-1;if(r&4)return Math.max(0,n.indexOf(l))+1;if(r&8)return n.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),p=r&32?{preventScroll:!0}:{},d=0,a=n.length,u;do{if(d>=a||d+a<=0)return 0;let s=x+d;if(r&16)s=(s+a)%a;else{if(s<0)return 3;if(s>=a)return 1}u=n[s],u==null||u.focus(p),d+=E}while(u!==i.activeElement);return r&6&&H(u)&&u.select(),2}export{M as Focus,N as FocusResult,T as FocusableMode,y as focusElement,_ as focusFrom,O as focusIn,f as getFocusableElements,h as isFocusableElement,D as restoreFocusIfNecessary,I as sortByDomNode};\n","import{env as n}from'./env.js';function o(r){return n.isServer?null:r instanceof Node?r.ownerDocument:r!=null&&r.hasOwnProperty(\"current\")&&r.current instanceof Node?r.current.ownerDocument:document}export{o as getOwnerDocument};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import * as React from \"react\";\nfunction ChatBubbleBottomCenterIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.848 2.771A49.144 49.144 0 0112 2.25c2.43 0 4.817.178 7.152.52 1.978.292 3.348 2.024 3.348 3.97v6.02c0 1.946-1.37 3.678-3.348 3.97a48.901 48.901 0 01-3.476.383.39.39 0 00-.297.17l-2.755 4.133a.75.75 0 01-1.248 0l-2.755-4.133a.39.39 0 00-.297-.17 48.9 48.9 0 01-3.476-.384c-1.978-.29-3.348-2.024-3.348-3.97V6.741c0-1.946 1.37-3.68 3.348-3.97z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = React.forwardRef(ChatBubbleBottomCenterIcon);\nexport default ForwardRef;","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n function Provider(props) {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n function Provider(props) {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName][index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName][index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n ReactDOM.flushSync(() => send(\"ANIMATION_END\"));\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/checkbox/src/Checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProvider, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n ...checkboxProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? Boolean(button.closest(\"form\")) : true;\n const [checked = false, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = button?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [button, setChecked]);\n return /* @__PURE__ */ jsxs(CheckboxProvider, { scope: __scopeCheckbox, state: checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isIndeterminate(context.state) || context.state === true, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.state),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n ) });\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BubbleInput = (props) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: isIndeterminate(checked) ? false : checked,\n ...inputProps,\n tabIndex: -1,\n ref,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n};\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Checkbox;\nvar Indicator = CheckboxIndicator;\nexport {\n Checkbox,\n CheckboxIndicator,\n Indicator,\n Root,\n createCheckboxScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/usePrevious.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import {useLayoutEffect as $dxlwH$useLayoutEffect} from \"react\";\n\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */ const $9f79659886946c16$export$e5c5a5f917a5871c = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) ? $dxlwH$useLayoutEffect : ()=>{};\n\n\n\n\nexport {$9f79659886946c16$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=index.mjs.map\n","import $73KQ4$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $73KQ4$forwardRef, createElement as $73KQ4$createElement, useCallback as $73KQ4$useCallback, useState as $73KQ4$useState, useRef as $73KQ4$useRef, useEffect as $73KQ4$useEffect} from \"react\";\nimport {composeEventHandlers as $73KQ4$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createContextScope as $73KQ4$createContextScope} from \"@radix-ui/react-context\";\nimport {useControllableState as $73KQ4$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useLayoutEffect as $73KQ4$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {useComposedRefs as $73KQ4$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Primitive as $73KQ4$Primitive} from \"@radix-ui/react-primitive\";\nimport {Presence as $73KQ4$Presence} from \"@radix-ui/react-presence\";\nimport {useId as $73KQ4$useId} from \"@radix-ui/react-id\";\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Collapsible\n * -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$COLLAPSIBLE_NAME = 'Collapsible';\nconst [$409067139f391064$var$createCollapsibleContext, $409067139f391064$export$952b32dcbe73087a] = $73KQ4$createContextScope($409067139f391064$var$COLLAPSIBLE_NAME);\nconst [$409067139f391064$var$CollapsibleProvider, $409067139f391064$var$useCollapsibleContext] = $409067139f391064$var$createCollapsibleContext($409067139f391064$var$COLLAPSIBLE_NAME);\nconst $409067139f391064$export$6eb0f7ddcda6131f = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible: __scopeCollapsible , open: openProp , defaultOpen: defaultOpen , disabled: disabled , onOpenChange: onOpenChange , ...collapsibleProps } = props;\n const [open = false, setOpen] = $73KQ4$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /*#__PURE__*/ $73KQ4$createElement($409067139f391064$var$CollapsibleProvider, {\n scope: __scopeCollapsible,\n disabled: disabled,\n contentId: $73KQ4$useId(),\n open: open,\n onOpenToggle: $73KQ4$useCallback(()=>setOpen((prevOpen)=>!prevOpen\n )\n , [\n setOpen\n ])\n }, /*#__PURE__*/ $73KQ4$createElement($73KQ4$Primitive.div, $73KQ4$babelruntimehelpersesmextends({\n \"data-state\": $409067139f391064$var$getState(open),\n \"data-disabled\": disabled ? '' : undefined\n }, collapsibleProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($409067139f391064$export$6eb0f7ddcda6131f, {\n displayName: $409067139f391064$var$COLLAPSIBLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleTrigger\n * -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$TRIGGER_NAME = 'CollapsibleTrigger';\nconst $409067139f391064$export$c135dce7b15bbbdc = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible: __scopeCollapsible , ...triggerProps } = props;\n const context = $409067139f391064$var$useCollapsibleContext($409067139f391064$var$TRIGGER_NAME, __scopeCollapsible);\n return /*#__PURE__*/ $73KQ4$createElement($73KQ4$Primitive.button, $73KQ4$babelruntimehelpersesmextends({\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": $409067139f391064$var$getState(context.open),\n \"data-disabled\": context.disabled ? '' : undefined,\n disabled: context.disabled\n }, triggerProps, {\n ref: forwardedRef,\n onClick: $73KQ4$composeEventHandlers(props.onClick, context.onOpenToggle)\n }));\n});\n/*#__PURE__*/ Object.assign($409067139f391064$export$c135dce7b15bbbdc, {\n displayName: $409067139f391064$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleContent\n * -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$CONTENT_NAME = 'CollapsibleContent';\nconst $409067139f391064$export$aadde00976f34151 = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , ...contentProps } = props;\n const context = $409067139f391064$var$useCollapsibleContext($409067139f391064$var$CONTENT_NAME, props.__scopeCollapsible);\n return /*#__PURE__*/ $73KQ4$createElement($73KQ4$Presence, {\n present: forceMount || context.open\n }, ({ present: present })=>/*#__PURE__*/ $73KQ4$createElement($409067139f391064$var$CollapsibleContentImpl, $73KQ4$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef,\n present: present\n }))\n );\n});\n/*#__PURE__*/ Object.assign($409067139f391064$export$aadde00976f34151, {\n displayName: $409067139f391064$var$CONTENT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$CollapsibleContentImpl = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible: __scopeCollapsible , present: present , children: children , ...contentProps } = props;\n const context = $409067139f391064$var$useCollapsibleContext($409067139f391064$var$CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = $73KQ4$useState(present);\n const ref = $73KQ4$useRef(null);\n const composedRefs = $73KQ4$useComposedRefs(forwardedRef, ref);\n const heightRef = $73KQ4$useRef(0);\n const height = heightRef.current;\n const widthRef = $73KQ4$useRef(0);\n const width = widthRef.current; // when opening we want it to immediately open to retrieve dimensions\n // when closing we delay `present` to retrieve dimensions before closing\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = $73KQ4$useRef(isOpen);\n const originalStylesRef = $73KQ4$useRef();\n $73KQ4$useEffect(()=>{\n const rAF = requestAnimationFrame(()=>isMountAnimationPreventedRef.current = false\n );\n return ()=>cancelAnimationFrame(rAF)\n ;\n }, []);\n $73KQ4$useLayoutEffect(()=>{\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n }; // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s';\n node.style.animationName = 'none'; // get width and height from full dimensions\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width; // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n /**\n * depends on `context.open` because it will change to `false`\n * when a close is triggered but `present` will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */ }, [\n context.open,\n present\n ]);\n return /*#__PURE__*/ $73KQ4$createElement($73KQ4$Primitive.div, $73KQ4$babelruntimehelpersesmextends({\n \"data-state\": $409067139f391064$var$getState(context.open),\n \"data-disabled\": context.disabled ? '' : undefined,\n id: context.contentId,\n hidden: !isOpen\n }, contentProps, {\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : undefined,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : undefined,\n ...props.style\n }\n }), isOpen && children);\n});\n/* -----------------------------------------------------------------------------------------------*/ function $409067139f391064$var$getState(open) {\n return open ? 'open' : 'closed';\n}\nconst $409067139f391064$export$be92b6f5f03c0fe9 = $409067139f391064$export$6eb0f7ddcda6131f;\nconst $409067139f391064$export$41fb9f06171c75f4 = $409067139f391064$export$c135dce7b15bbbdc;\nconst $409067139f391064$export$7c6e2c02157bb7d2 = $409067139f391064$export$aadde00976f34151;\n\n\n\n\nexport {$409067139f391064$export$952b32dcbe73087a as createCollapsibleScope, $409067139f391064$export$6eb0f7ddcda6131f as Collapsible, $409067139f391064$export$c135dce7b15bbbdc as CollapsibleTrigger, $409067139f391064$export$aadde00976f34151 as CollapsibleContent, $409067139f391064$export$be92b6f5f03c0fe9 as Root, $409067139f391064$export$41fb9f06171c75f4 as Trigger, $409067139f391064$export$7c6e2c02157bb7d2 as Content};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/Direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/slider/src/Slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { value, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\"input\", { style: { display: \"none\" }, ...inputProps, ref, defaultValue: value });\n};\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collection/src/Collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/usePrevious.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","export default x => () => x;\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function number(x) {\n return +x;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import { addDays } from \"./addDays.mjs\";\nimport { addMonths } from \"./addMonths.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes and seconds to be added.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\\\\-7\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n const finalDate = constructFrom(date, dateWithDays.getTime() + msToAdd);\n\n return finalDate;\n}\n\n// Fallback for modularized imports:\nexport default add;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInDays\n * @category Day Helpers\n * @summary Get the number of full days between the given dates.\n *\n * @description\n * Get the number of full day periods between two dates. Fractional days are\n * truncated towards zero.\n *\n * One \"full day\" is the distance between a local time in one day to the same\n * local time on the next or previous day. A full day can sometimes be less than\n * or more than 24 hours if a daylight savings change happens between two dates.\n *\n * To ignore DST and only measure exact 24-hour periods, use this instead:\n * `Math.trunc(differenceInHours(dateLeft, dateRight)/24)|0`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full days according to the local timezone\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 365\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 0\n *\n * @example\n * // How many full days are between\n * // 1 March 2020 0:00 and 1 June 2020 0:00 ?\n * // Note: because local time is used, the\n * // result will always be 92 days, even in\n * // time zones where DST starts and the\n * // period has only 92*24-1 hours.\n * const result = differenceInDays(\n * new Date(2020, 5, 1),\n * new Date(2020, 2, 1)\n * )\n * //=> 92\n */\nexport function differenceInDays(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const sign = compareLocalAsc(_dateLeft, _dateRight);\n const difference = Math.abs(differenceInCalendarDays(_dateLeft, _dateRight));\n\n _dateLeft.setDate(_dateLeft.getDate() - sign * difference);\n\n // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\n // If so, result must be decreased by 1 in absolute value\n const isLastDayNotFull = Number(\n compareLocalAsc(_dateLeft, _dateRight) === -sign,\n );\n const result = sign * (difference - isLastDayNotFull);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Like `compareAsc` but uses local time not UTC, which is needed\n// for accurate equality comparisons of UTC timestamps that end up\n// having the same representation in local time, e.g. one hour before\n// DST ends vs. the instant that DST ends.\nfunction compareLocalAsc(dateLeft, dateRight) {\n const diff =\n dateLeft.getFullYear() - dateRight.getFullYear() ||\n dateLeft.getMonth() - dateRight.getMonth() ||\n dateLeft.getDate() - dateRight.getDate() ||\n dateLeft.getHours() - dateRight.getHours() ||\n dateLeft.getMinutes() - dateRight.getMinutes() ||\n dateLeft.getSeconds() - dateRight.getSeconds() ||\n dateLeft.getMilliseconds() - dateRight.getMilliseconds();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n// Fallback for modularized imports:\nexport default differenceInDays;\n","import { addDays } from \"./addDays.mjs\";\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount) {\n return addDays(date, -amount);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isObject from './helpers/isObject.js'; // Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\n\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n}\n//# sourceMappingURL=normalizeArguments.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n} // This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n // `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\n // Any 3rd-party code that used to `import` and call this function before that\n // won't be passing any `emitEvent` argument.\n //\n // The addition of the `emitEvent` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (typeof emitEvent === 'function') {\n emitEvent('end');\n }\n\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returns an empty object — `{}` —\n // that means that the phone number is malformed,\n // so it can't possibly be valid.\n\n if (!input.country && !input.countryCallingCode) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains ``s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata); // const matchingCountries = []\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If both the `defaultCountry` and the \"main\" one match the phone number,\n // don't prefer the `defaultCountry` over the \"main\" one.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/154\n return country; // // If the `defaultCountry` is among the `matchingCountries` then return it.\n // if (defaultCountry) {\n // \tif (country === defaultCountry) {\n // \t\treturn country\n // \t}\n // \tmatchingCountries.push(country)\n // } else {\n // \treturn country\n // }\n }\n } // // Return the first (\"main\") one of the `matchingCountries`.\n // if (matchingCountries.length > 0) {\n // \treturn matchingCountries[0]\n // }\n\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\nimport { VALID_DIGITS // PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g'); // In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\n\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\n\nexport default function extractPhoneContext(numberToExtractFrom) {\n var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_); // If no phone-context parameter is present\n\n if (indexOfPhoneContext < 0) {\n return null;\n }\n\n var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length; // If phone-context parameter is empty\n\n if (phoneContextStart >= numberToExtractFrom.length) {\n return '';\n }\n\n var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart); // If phone-context is not the last parameter\n\n if (phoneContextEnd >= 0) {\n return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n } else {\n return numberToExtractFrom.substring(phoneContextStart);\n }\n}\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\n\nexport function isPhoneContextValid(phoneContext) {\n if (phoneContext === null) {\n return true;\n }\n\n if (phoneContext.length === 0) {\n return false;\n } // Does phone-context value match pattern of global-number-digits or domainname.\n\n\n return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\n\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n var phoneNumberString;\n\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = ''; // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n } // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n\n\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber; // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n\n /* istanbul ignore else */\n\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n } // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n\n\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n } // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport parsePhoneNumberWithError from './parsePhoneNumberWithError_.js';\nimport ParseError from './ParseError.js';\nimport { isSupportedCountry } from './metadata.js';\nexport default function parsePhoneNumber(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumberWithError(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport normalizeArguments from './normalizeArguments.js';\nimport parsePhoneNumber from './parsePhoneNumber_.js';\nexport default function isPossiblePhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n options = _objectSpread(_objectSpread({}, options), {}, {\n extract: false\n });\n var phoneNumber = parsePhoneNumber(text, options, metadata);\n return phoneNumber && phoneNumber.isPossible() || false;\n}\n//# sourceMappingURL=isPossiblePhoneNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index.js'\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn withMetadataArgument(_isPossiblePhoneNumber, arguments)\r\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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\nimport normalizeArguments from './normalizeArguments.js';\nimport parsePhoneNumber from './parsePhoneNumber_.js';\nexport default function isValidPhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n options = _objectSpread(_objectSpread({}, options), {}, {\n extract: false\n });\n var phoneNumber = parsePhoneNumber(text, options, metadata);\n return phoneNumber && phoneNumber.isValid() || false;\n}\n//# sourceMappingURL=isValidPhoneNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index.js'\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn withMetadataArgument(_isValidPhoneNumber, arguments)\r\n}","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|2[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"(?:01\\\\d|[24-689])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"0\"]]]],\"BL\":[\"590\",\"00\",\"(?:590\\\\d|7090)\\\\d{5}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"(?:69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))|7090[0-4])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"8001\\\\d{5}|(?:[2-467]\\\\d|50)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[235]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"(?:(?:[189]|5\\\\d)\\\\d|2)\\\\d{7}|[1-68]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"(?:(?:1[03-689]|2\\\\d)\\\\d\\\\d|6)\\\\d{8}|1\\\\d{10}|[126]\\\\d{6}(?:\\\\d(?:\\\\d{2})?)?|86\\\\d{5,6}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{5,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]\",\"(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:46|60\\\\d\\\\d)\\\\d{6}|(?:1\\\\d|[39])\\\\d{9}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"46\"]],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6|90\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0-35])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-3]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"(?:[56]94\\\\d|7093)\\\\d{5}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"(?:590\\\\d|7090)\\\\d{5}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"(?:69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))|7090[0-4])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"00[1-9]\\\\d{9,14}|(?:[1-36]|8\\\\d{5})\\\\d{6}|00\\\\d{9}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\",[6,7,8,9,10,11]],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],[\"3[2-8]\\\\d{9,10}\",[11,12]],0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[0135-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"(?:590\\\\d|7090)\\\\d{5}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"(?:69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))|7090[0-4])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|452|678|86\",\"[12]|452|6788|86\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"(?:596\\\\d|7091)\\\\d{5}|(?:69|[89]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-79]|8(?:0[6-9]|[36])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[0467]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"38\\\\d{6}|[78]\\\\d{9,13}|(?:20|9\\\\d)\\\\d{8}\",[8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|8\\\\d\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"709\\\\d{6}|(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[26-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"(?:69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"[6-9]\\\\d{6}|[1-6]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"(?:[2489]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-359]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-4]|5[1-3]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[59]\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[689]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[26-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[1245]|3[12])\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:3052(?:0[0-8]|[1-9]\\\\d)|5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"305209\\\\d{4}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"00\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"]]]],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11,12],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72|8\\\\d{4})\\\\d{4}|[89]\\\\d{5}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[47-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"7093\\\\d{5}|(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"(?:639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[235-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"],0,0,0,0,0,0,[\"2\\\\d{8}\",[9]]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,[\"348[57]\\\\d{7}\",[11]],0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
\n * \n * \n * \n *
\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
\n * \n * \n * \n *
\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n *
\n * \n * {dirtyFields.firstName &&

Field is dirty.

}\n * \n *
\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return React.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n *
\n * \n *

{fieldState.isTouched && \"Touched\"}

\n *

{formState.isSubmitted ? \"submitted\" : \"\"}

\n *
\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n const fieldState = React.useMemo(() => Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }), [formState, name]);\n const field = React.useMemo(() => ({\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: (event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }),\n onBlur: () => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }),\n ref: (elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n }), [\n name,\n control._formValues,\n disabled,\n formState.disabled,\n value,\n control._fields,\n ]);\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n !isArrayField && control.register(name);\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n });\n }, [disabled, name, control]);\n return React.useMemo(() => ({\n field,\n formState,\n fieldState,\n }), [field, formState, fieldState]);\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n *
\n * (\n * <>\n * \n *

{formState.isSubmitted ? \"submitted\" : \"\"}

\n *

{fieldState.isTouched ? \"touched\" : \"\"}

\n * \n * )}\n * />\n * \n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst flatten = (obj) => {\n const output = {};\n for (const key of Object.keys(obj)) {\n if (isObjectType(obj[key]) && obj[key] !== null) {\n const nested = flatten(obj[key]);\n for (const nestedKey of Object.keys(nested)) {\n output[`${key}.${nestedKey}`] = nested[nestedKey];\n }\n }\n else {\n output[key] = obj[key];\n }\n }\n return output;\n};\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n *
\n * \n *

{errors?.root?.server && 'Server error'}

\n * \n *
\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n const flattenFormValues = flatten(control._formValues);\n for (const key in flattenFormValues) {\n formData.append(key, flattenFormValues[key]);\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(String(action), {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n return true;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n return true;\n }\n else {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n }\n else if (isObject(currentField)) {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n }\n }\n return;\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, disabledFieldNames, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabledFieldNames.has(name)) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n *
console.log(data))}>\n * {fields.map((item, index) => (\n * \n * ))}\n * \n * \n *
\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n rules &&\n control.register(name, rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n !Array.isArray(get(control._fields, name)) &&\n set(control._fields, name, undefined);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._names.disabled, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nconst ASYNC_FUNCTION = 'AsyncFunction';\nvar hasPromiseValidation = (fieldReference) => !!fieldReference &&\n !!fieldReference.validate &&\n !!((isFunction(fieldReference.validate) &&\n fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||\n (isObject(fieldReference.validate) &&\n Object.values(fieldReference.validate).find((validateFunction) => validateFunction.constructor.name === ASYNC_FUNCTION)));\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n disabled: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (!_options.disabled && (_proxyFormState.isValid || shouldUpdateValid)) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (!_options.disabled &&\n (_proxyFormState.isValidating || _proxyFormState.validatingFields)) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method && !_options.disabled) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n if (!_options.disabled) {\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n }\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (_options.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(_options.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const isPromiseFunction = field._f && hasPromiseValidation(field._f);\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([name], true);\n }\n const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([name]);\n }\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => !_options.disabled &&\n (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n isObject(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||\n deepEqual(fieldValue, get(_formValues, name, fieldValue));\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n if (_proxyFormState.isValid) {\n if (_options.mode === 'onBlur' && isBlurEvent) {\n _updateValid();\n }\n else if (!isBlurEvent) {\n _updateValid();\n }\n }\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, }) => {\n if ((isBoolean(disabled) && _state.mount) ||\n !!disabled ||\n _names.disabled.has(name)) {\n disabled ? _names.disabled.add(name) : _names.disabled.delete(name);\n updateTouchAndDirty(name, getFieldValue(field ? field._f : get(fields, name)._f), false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: isBoolean(options.disabled)\n ? options.disabled\n : _options.disabled,\n name,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined\n ? { disabled: options.disabled || _options.disabled }\n : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n if (_names.disabled.size) {\n for (const name of _names.disabled) {\n set(fieldValues, name, undefined);\n }\n }\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n const fieldsToCheck = new Set([\n ..._names.mount,\n ...Object.keys(getDirtyFields(_defaultValues, _formValues)),\n ]);\n for (const fieldName of Array.from(fieldsToCheck)) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = _options.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n disabled: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!_options.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect &&\n isFunction(fieldRef.select) &&\n fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n *
\n * \n * \n * {errors.exampleRequired && This field is required}\n * \n *
\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef(undefined);\n const _values = React.useRef(undefined);\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import B,{useMemo as Ve,useRef as je,useState as Oe}from\"react\";var R=[[\"Afghanistan\",\"af\",\"93\"],[\"Albania\",\"al\",\"355\"],[\"Algeria\",\"dz\",\"213\"],[\"Andorra\",\"ad\",\"376\"],[\"Angola\",\"ao\",\"244\"],[\"Antigua and Barbuda\",\"ag\",\"1268\"],[\"Argentina\",\"ar\",\"54\",\"(..) ........\",0],[\"Armenia\",\"am\",\"374\",\".. ......\"],[\"Aruba\",\"aw\",\"297\"],[\"Australia\",\"au\",\"61\",{default:\". .... ....\",\"/^4/\":\"... ... ...\",\"/^5(?!50)/\":\"... ... ...\",\"/^1(3|8)00/\":\".... ... ...\",\"/^13/\":\".. .. ..\",\"/^180/\":\"... ....\"},0,[]],[\"Austria\",\"at\",\"43\"],[\"Azerbaijan\",\"az\",\"994\",\"(..) ... .. ..\"],[\"Bahamas\",\"bs\",\"1242\"],[\"Bahrain\",\"bh\",\"973\"],[\"Bangladesh\",\"bd\",\"880\"],[\"Barbados\",\"bb\",\"1246\"],[\"Belarus\",\"by\",\"375\",\"(..) ... .. ..\"],[\"Belgium\",\"be\",\"32\",\"... .. .. ..\"],[\"Belize\",\"bz\",\"501\"],[\"Benin\",\"bj\",\"229\"],[\"Bhutan\",\"bt\",\"975\"],[\"Bolivia\",\"bo\",\"591\"],[\"Bosnia and Herzegovina\",\"ba\",\"387\"],[\"Botswana\",\"bw\",\"267\"],[\"Brazil\",\"br\",\"55\",\"(..) .........\"],[\"British Indian Ocean Territory\",\"io\",\"246\"],[\"Brunei\",\"bn\",\"673\"],[\"Bulgaria\",\"bg\",\"359\"],[\"Burkina Faso\",\"bf\",\"226\"],[\"Burundi\",\"bi\",\"257\"],[\"Cambodia\",\"kh\",\"855\"],[\"Cameroon\",\"cm\",\"237\"],[\"Canada\",\"ca\",\"1\",\"(...) ...-....\",1,[\"204\",\"226\",\"236\",\"249\",\"250\",\"289\",\"306\",\"343\",\"365\",\"387\",\"403\",\"416\",\"418\",\"431\",\"437\",\"438\",\"450\",\"506\",\"514\",\"519\",\"548\",\"579\",\"581\",\"587\",\"604\",\"613\",\"639\",\"647\",\"672\",\"705\",\"709\",\"742\",\"778\",\"780\",\"782\",\"807\",\"819\",\"825\",\"867\",\"873\",\"902\",\"905\"]],[\"Cape Verde\",\"cv\",\"238\"],[\"Caribbean Netherlands\",\"bq\",\"599\",\"\",1],[\"Cayman Islands\",\"ky\",\"1\",\"... ... ....\",4,[\"345\"]],[\"Central African Republic\",\"cf\",\"236\"],[\"Chad\",\"td\",\"235\"],[\"Chile\",\"cl\",\"56\"],[\"China\",\"cn\",\"86\",\"... .... ....\"],[\"Colombia\",\"co\",\"57\",\"... ... ....\"],[\"Comoros\",\"km\",\"269\"],[\"Congo\",\"cd\",\"243\"],[\"Congo\",\"cg\",\"242\"],[\"Costa Rica\",\"cr\",\"506\",\"....-....\"],[\"C\\xF4te d'Ivoire\",\"ci\",\"225\",\".. .. .. .. ..\"],[\"Croatia\",\"hr\",\"385\"],[\"Cuba\",\"cu\",\"53\"],[\"Cura\\xE7ao\",\"cw\",\"599\",\"\",0],[\"Cyprus\",\"cy\",\"357\",\".. ......\"],[\"Czech Republic\",\"cz\",\"420\",\"... ... ...\"],[\"Denmark\",\"dk\",\"45\",\".. .. .. ..\"],[\"Djibouti\",\"dj\",\"253\"],[\"Dominica\",\"dm\",\"1767\"],[\"Dominican Republic\",\"do\",\"1\",\"(...) ...-....\",2,[\"809\",\"829\",\"849\"]],[\"Ecuador\",\"ec\",\"593\"],[\"Egypt\",\"eg\",\"20\"],[\"El Salvador\",\"sv\",\"503\",\"....-....\"],[\"Equatorial Guinea\",\"gq\",\"240\"],[\"Eritrea\",\"er\",\"291\"],[\"Estonia\",\"ee\",\"372\",\".... ......\"],[\"Ethiopia\",\"et\",\"251\"],[\"Fiji\",\"fj\",\"679\"],[\"Finland\",\"fi\",\"358\",\".. ... .. ..\"],[\"France\",\"fr\",\"33\",\". .. .. .. ..\"],[\"French Guiana\",\"gf\",\"594\"],[\"French Polynesia\",\"pf\",\"689\"],[\"Gabon\",\"ga\",\"241\"],[\"Gambia\",\"gm\",\"220\"],[\"Georgia\",\"ge\",\"995\"],[\"Germany\",\"de\",\"49\",\"... .........\"],[\"Ghana\",\"gh\",\"233\"],[\"Greece\",\"gr\",\"30\"],[\"Greenland\",\"gl\",\"299\",\".. .. ..\"],[\"Grenada\",\"gd\",\"1473\"],[\"Guadeloupe\",\"gp\",\"590\",\"\",0],[\"Guam\",\"gu\",\"1671\"],[\"Guatemala\",\"gt\",\"502\",\"....-....\"],[\"Guinea\",\"gn\",\"224\"],[\"Guinea-Bissau\",\"gw\",\"245\"],[\"Guyana\",\"gy\",\"592\"],[\"Haiti\",\"ht\",\"509\",\"....-....\"],[\"Honduras\",\"hn\",\"504\"],[\"Hong Kong\",\"hk\",\"852\",\".... ....\"],[\"Hungary\",\"hu\",\"36\"],[\"Iceland\",\"is\",\"354\",\"... ....\"],[\"India\",\"in\",\"91\",\".....-.....\"],[\"Indonesia\",\"id\",\"62\"],[\"Iran\",\"ir\",\"98\",\"... ... ....\"],[\"Iraq\",\"iq\",\"964\"],[\"Ireland\",\"ie\",\"353\",\".. .......\"],[\"Israel\",\"il\",\"972\",\"... ... ....\"],[\"Italy\",\"it\",\"39\",\"... .......\",0],[\"Jamaica\",\"jm\",\"1876\"],[\"Japan\",\"jp\",\"81\",\".. .... ....\"],[\"Jordan\",\"jo\",\"962\"],[\"Kazakhstan\",\"kz\",\"7\",\"... ...-..-..\",0],[\"Kenya\",\"ke\",\"254\"],[\"Kiribati\",\"ki\",\"686\"],[\"Kosovo\",\"xk\",\"383\"],[\"Kuwait\",\"kw\",\"965\"],[\"Kyrgyzstan\",\"kg\",\"996\",\"... ... ...\"],[\"Laos\",\"la\",\"856\"],[\"Latvia\",\"lv\",\"371\",\".. ... ...\"],[\"Lebanon\",\"lb\",\"961\"],[\"Lesotho\",\"ls\",\"266\"],[\"Liberia\",\"lr\",\"231\"],[\"Libya\",\"ly\",\"218\"],[\"Liechtenstein\",\"li\",\"423\"],[\"Lithuania\",\"lt\",\"370\"],[\"Luxembourg\",\"lu\",\"352\"],[\"Macau\",\"mo\",\"853\"],[\"Macedonia\",\"mk\",\"389\"],[\"Madagascar\",\"mg\",\"261\"],[\"Malawi\",\"mw\",\"265\"],[\"Malaysia\",\"my\",\"60\",\"..-....-....\"],[\"Maldives\",\"mv\",\"960\"],[\"Mali\",\"ml\",\"223\"],[\"Malta\",\"mt\",\"356\"],[\"Marshall Islands\",\"mh\",\"692\"],[\"Martinique\",\"mq\",\"596\"],[\"Mauritania\",\"mr\",\"222\"],[\"Mauritius\",\"mu\",\"230\"],[\"Mexico\",\"mx\",\"52\",\"... ... ....\",0],[\"Micronesia\",\"fm\",\"691\"],[\"Moldova\",\"md\",\"373\",\"(..) ..-..-..\"],[\"Monaco\",\"mc\",\"377\"],[\"Mongolia\",\"mn\",\"976\"],[\"Montenegro\",\"me\",\"382\"],[\"Morocco\",\"ma\",\"212\"],[\"Mozambique\",\"mz\",\"258\"],[\"Myanmar\",\"mm\",\"95\"],[\"Namibia\",\"na\",\"264\"],[\"Nauru\",\"nr\",\"674\"],[\"Nepal\",\"np\",\"977\"],[\"Netherlands\",\"nl\",\"31\",{\"/^06/\":\"(.). .........\",\"/^6/\":\". .........\",\"/^0(10|13|14|15|20|23|24|26|30|33|35|36|38|40|43|44|45|46|50|53|55|58|70|71|72|73|74|75|76|77|78|79|82|84|85|87|88|91)/\":\"(.).. ........\",\"/^(10|13|14|15|20|23|24|26|30|33|35|36|38|40|43|44|45|46|50|53|55|58|70|71|72|73|74|75|76|77|78|79|82|84|85|87|88|91)/\":\".. ........\",\"/^0/\":\"(.)... .......\",default:\"... .......\"}],[\"New Caledonia\",\"nc\",\"687\"],[\"New Zealand\",\"nz\",\"64\",\"...-...-....\"],[\"Nicaragua\",\"ni\",\"505\"],[\"Niger\",\"ne\",\"227\"],[\"Nigeria\",\"ng\",\"234\"],[\"North Korea\",\"kp\",\"850\"],[\"Norway\",\"no\",\"47\",\"... .. ...\"],[\"Oman\",\"om\",\"968\"],[\"Pakistan\",\"pk\",\"92\",\"...-.......\"],[\"Palau\",\"pw\",\"680\"],[\"Palestine\",\"ps\",\"970\"],[\"Panama\",\"pa\",\"507\"],[\"Papua New Guinea\",\"pg\",\"675\"],[\"Paraguay\",\"py\",\"595\"],[\"Peru\",\"pe\",\"51\"],[\"Philippines\",\"ph\",\"63\",\".... .......\"],[\"Poland\",\"pl\",\"48\",\"...-...-...\"],[\"Portugal\",\"pt\",\"351\"],[\"Puerto Rico\",\"pr\",\"1\",\"(...) ...-....\",3,[\"787\",\"939\"]],[\"Qatar\",\"qa\",\"974\"],[\"R\\xE9union\",\"re\",\"262\"],[\"Romania\",\"ro\",\"40\"],[\"Russia\",\"ru\",\"7\",\"(...) ...-..-..\",1],[\"Rwanda\",\"rw\",\"250\"],[\"Saint Kitts and Nevis\",\"kn\",\"1869\"],[\"Saint Lucia\",\"lc\",\"1758\"],[\"Saint Vincent and the Grenadines\",\"vc\",\"1784\"],[\"Samoa\",\"ws\",\"685\"],[\"San Marino\",\"sm\",\"378\"],[\"S\\xE3o Tom\\xE9 and Pr\\xEDncipe\",\"st\",\"239\"],[\"Saudi Arabia\",\"sa\",\"966\"],[\"Senegal\",\"sn\",\"221\"],[\"Serbia\",\"rs\",\"381\"],[\"Seychelles\",\"sc\",\"248\"],[\"Sierra Leone\",\"sl\",\"232\"],[\"Singapore\",\"sg\",\"65\",\"....-....\"],[\"Slovakia\",\"sk\",\"421\"],[\"Slovenia\",\"si\",\"386\"],[\"Solomon Islands\",\"sb\",\"677\"],[\"Somalia\",\"so\",\"252\"],[\"South Africa\",\"za\",\"27\"],[\"South Korea\",\"kr\",\"82\",\"... .... ....\"],[\"South Sudan\",\"ss\",\"211\"],[\"Spain\",\"es\",\"34\",\"... ... ...\"],[\"Sri Lanka\",\"lk\",\"94\"],[\"Sudan\",\"sd\",\"249\"],[\"Suriname\",\"sr\",\"597\"],[\"Swaziland\",\"sz\",\"268\"],[\"Sweden\",\"se\",\"46\",\"... ... ...\"],[\"Switzerland\",\"ch\",\"41\",\".. ... .. ..\"],[\"Syria\",\"sy\",\"963\"],[\"Taiwan\",\"tw\",\"886\"],[\"Tajikistan\",\"tj\",\"992\"],[\"Tanzania\",\"tz\",\"255\"],[\"Thailand\",\"th\",\"66\"],[\"Timor-Leste\",\"tl\",\"670\"],[\"Togo\",\"tg\",\"228\"],[\"Tonga\",\"to\",\"676\"],[\"Trinidad and Tobago\",\"tt\",\"1868\"],[\"Tunisia\",\"tn\",\"216\"],[\"Turkey\",\"tr\",\"90\",\"... ... .. ..\"],[\"Turkmenistan\",\"tm\",\"993\"],[\"Tuvalu\",\"tv\",\"688\"],[\"Uganda\",\"ug\",\"256\"],[\"Ukraine\",\"ua\",\"380\",\"(..) ... .. ..\"],[\"United Arab Emirates\",\"ae\",\"971\"],[\"United Kingdom\",\"gb\",\"44\",\".... ......\"],[\"United States\",\"us\",\"1\",\"(...) ...-....\",0],[\"Uruguay\",\"uy\",\"598\"],[\"Uzbekistan\",\"uz\",\"998\",\".. ... .. ..\"],[\"Vanuatu\",\"vu\",\"678\"],[\"Vatican City\",\"va\",\"39\",\".. .... ....\",1],[\"Venezuela\",\"ve\",\"58\"],[\"Vietnam\",\"vn\",\"84\"],[\"Yemen\",\"ye\",\"967\"],[\"Zambia\",\"zm\",\"260\"],[\"Zimbabwe\",\"zw\",\"263\"]];var xe=\"react-international-phone-\",se=(...t)=>t.filter(e=>!!e).join(\" \").trim(),Se=(...t)=>se(...t).split(\" \").map(e=>`${xe}${e}`).join(\" \"),P=({addPrefix:t,rawClassNames:e})=>se(Se(...t),...e);var le=({value:t,mask:e,maskSymbol:a,offset:s=0,trimNonMaskCharsLeftover:r=!1})=>{if(t.length=c.length){if(!r&&l!==a){i+=l;continue}break}l===a?(i+=c[n],n+=1):i+=l}return i};var F=t=>t?/^\\d+$/.test(t):!1;var z=t=>t.replace(/\\D/g,\"\");var ue=(t,e)=>{let a=t.style.display;a!==\"block\"&&(t.style.display=\"block\");let s=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=r.top-s.top,c=s.bottom-r.bottom;o>=0&&c>=0||(Math.abs(o){let{name:e,iso2:a,dialCode:s,format:r,priority:o,areaCodes:c}=t,i=[e,a,s,r,o,c];for(let n=0;ng===void 0?\"__undefined\":g).replace(/\"__undefined\"/g,\"undefined\");throw new Error(`[react-international-phone] invalid country values passed to buildCountryData. Check ${l} in: ${m}`)}}return i.filter(n=>n!==void 0)};import{useCallback as Ne,useEffect as be,useMemo as Me,useRef as Re,useState as _e}from\"react\";var de=()=>typeof window>\"u\"?!1:window.navigator.userAgent.toLowerCase().includes(\"macintosh\");var ce=({phone:t,dialCode:e,prefix:a=\"+\",charAfterDialCode:s=\" \"})=>{if(!t||!e)return t;let r=t;return r.startsWith(a)&&(r=r.replace(a,\"\")),r.startsWith(e)?(r=r.replace(e,\"\"),r.startsWith(s)&&(r=r.replace(s,\"\")),r):t};var pe=(t,e)=>{let a=e.disableDialCodeAndPrefix?!1:e.forceDialCode,s=e.disableDialCodeAndPrefix?!1:e.insertDialCodeOnEmpty,r=t,o=l=>e.trimNonDigitsEnd?l.trim():l;if(!r)return s&&!r.length||a?o(`${e.prefix}${e.dialCode}${e.charAfterDialCode}`):o(r);if(r=z(r),r===e.dialCode&&!e.disableDialCodeAndPrefix)return o(`${e.prefix}${e.dialCode}${e.charAfterDialCode}`);if(e.dialCode.startsWith(r)&&!e.disableDialCodeAndPrefix)return o(a?`${e.prefix}${e.dialCode}${e.charAfterDialCode}`:`${e.prefix}${r}`);if(!r.startsWith(e.dialCode)&&!e.disableDialCodeAndPrefix){if(a)return o(`${e.prefix}${e.dialCode}${e.charAfterDialCode}`);if(r.length{let l=e.dialCode.length,d=r.slice(0,l),m=r.slice(l);return{phoneLeftSide:d,phoneRightSide:m}},{phoneLeftSide:i,phoneRightSide:n}=c();return i=`${e.prefix}${i}${e.charAfterDialCode}`,n=le({value:n,mask:e.mask,maskSymbol:e.maskChar,trimNonMaskCharsLeftover:e.trimNonDigitsEnd||e.disableDialCodeAndPrefix&&n.length===0}),e.disableDialCodeAndPrefix&&(i=\"\"),o(`${i}${n}`)};var me=({phoneBeforeInput:t,phoneAfterInput:e,phoneAfterFormatted:a,cursorPositionAfterInput:s,leftOffset:r=0,deletion:o})=>{if(s=0;d-=1)if(F(e[d])){c=d;break}if(c===null){for(let d=0;d=i+1));d+=1);if(o!==\"backward\")for(;!F(a[n])&&nt?`${e}${z(t)}`:\"\";function W({value:t,country:e,insertDialCodeOnEmpty:a,trimNonDigitsEnd:s,countries:r,prefix:o,charAfterDialCode:c,forceDialCode:i,disableDialCodeAndPrefix:n,defaultMask:l,countryGuessingEnabled:d,disableFormatting:m}){let f=t;n&&(f=f.startsWith(`${o}`)?f:`${o}${e.dialCode}${f}`);let g=d?X({phone:f,countries:r,currentCountryIso2:e?.iso2}):void 0,S=g?.country??e,p=pe(f,{prefix:o,mask:Q({phone:f,country:S,defaultMask:l,disableFormatting:m}),maskChar:J,dialCode:S.dialCode,trimNonDigitsEnd:s,charAfterDialCode:c,forceDialCode:i,insertDialCodeOnEmpty:a,disableDialCodeAndPrefix:n}),h=d&&!g?.fullDialCodeMatch?e:S;return{phone:O({phone:n?`${h.dialCode}${p}`:p,prefix:o}),inputValue:p,country:h}}var ke=t=>{if(t?.toLocaleLowerCase().includes(\"delete\")??!1)return t?.toLocaleLowerCase().includes(\"forward\")?\"forward\":\"backward\"},fe=(t,{country:e,insertDialCodeOnEmpty:a,phoneBeforeInput:s,prefix:r,charAfterDialCode:o,forceDialCode:c,disableDialCodeAndPrefix:i,countryGuessingEnabled:n,defaultMask:l,disableFormatting:d,countries:m})=>{let f=t.nativeEvent,g=f.inputType,S=ke(g),p=!!g?.startsWith(\"insertFrom\"),h=g===\"insertText\",D=f?.data||void 0,k=t.target.value,_=t.target.selectionStart??0;if(g?.includes(\"history\"))return{inputValue:s,phone:O({phone:s,prefix:r}),cursorPosition:s.length,country:e};if(h&&!F(D)&&k!==r)return{inputValue:s,phone:O({phone:i?`${e.dialCode}${s}`:s,prefix:r}),cursorPosition:_-(D?.length??0),country:e};if(c&&!k.startsWith(`${r}${e.dialCode}`)&&!p){let b=k?s:`${r}${e.dialCode}${o}`;return{inputValue:b,phone:O({phone:b,prefix:r}),cursorPosition:r.length+e.dialCode.length+o.length,country:e}}let{phone:N,inputValue:u,country:C}=W({value:k,country:e,trimNonDigitsEnd:S===\"backward\",insertDialCodeOnEmpty:a,countryGuessingEnabled:n,countries:m,prefix:r,charAfterDialCode:o,forceDialCode:c,disableDialCodeAndPrefix:i,disableFormatting:d,defaultMask:l}),y=me({cursorPositionAfterInput:_,phoneBeforeInput:s,phoneAfterInput:k,phoneAfterFormatted:u,leftOffset:c?r.length+e.dialCode.length+o.length:0,deletion:S});return{phone:N,inputValue:u,cursorPosition:y,country:C}};import{useState as Y}from\"react\";var he=(t,e)=>{let a=Object.keys(t),s=Object.keys(e);if(a.length!==s.length)return!1;for(let r of a)if(t[r]!==e[r])return!1;return!0};import{useRef as Ce}from\"react\";var ye=()=>{let t=Ce(),e=Ce(Date.now());return{check:()=>{let s=Date.now(),r=t.current?s-e.current:void 0;return t.current=e.current,e.current=s,r}}};var Ie={size:20,overrideLastItemDebounceMS:-1};function ge(t,e){let{size:a,overrideLastItemDebounceMS:s,onChange:r}={...Ie,...e},[o,c]=Y(t),[i,n]=Y([o]),[l,d]=Y(0),m=ye();return[o,(p,h)=>{if(typeof p==\"object\"&&typeof o==\"object\"&&he(p,o)||p===o)return;let I=s>0,D=m.check(),k=I&&D!==void 0?D>s:!0;if(h?.overrideLastItem!==void 0?h.overrideLastItem:!k)n(N=>[...N.slice(0,l),p]);else{let N=i.length>=a;n(u=>[...u.slice(N?1:0,l+1),p]),N||d(u=>u+1)}c(p),r?.(p)},()=>{if(l<=0)return{success:!1};let p=i[l-1];return c(p),d(h=>h-1),r?.(p),{success:!0,value:p}},()=>{if(l+1>=i.length)return{success:!1};let p=i[l+1];return c(p),d(h=>h+1),r?.(p),{success:!0,value:p}}]}var J=\".\",E={defaultCountry:\"us\",value:\"\",prefix:\"+\",defaultMask:\"............\",charAfterDialCode:\" \",historySaveDebounceMS:200,disableCountryGuess:!1,disableDialCodePrefill:!1,forceDialCode:!1,disableDialCodeAndPrefix:!1,disableFormatting:!1,countries:R,preferredCountries:[]},ee=({defaultCountry:t=E.defaultCountry,value:e=E.value,countries:a=E.countries,prefix:s=E.prefix,defaultMask:r=E.defaultMask,charAfterDialCode:o=E.charAfterDialCode,historySaveDebounceMS:c=E.historySaveDebounceMS,disableCountryGuess:i=E.disableCountryGuess,disableDialCodePrefill:n=E.disableDialCodePrefill,forceDialCode:l=E.forceDialCode,disableDialCodeAndPrefix:d=E.disableDialCodeAndPrefix,disableFormatting:m=E.disableFormatting,onChange:f,inputRef:g})=>{let h={countries:a,prefix:s,charAfterDialCode:o,forceDialCode:d?!1:l,disableDialCodeAndPrefix:d,defaultMask:r,countryGuessingEnabled:!i,disableFormatting:m},I=Re(null),D=g||I,k=w=>{Promise.resolve().then(()=>{typeof window>\"u\"||D.current!==document?.activeElement||D.current?.setSelectionRange(w,w)})},[{phone:_,inputValue:N,country:u},C,y,b]=ge(()=>{let w=$({value:t,field:\"iso2\",countries:a});w||console.error(`[react-international-phone]: can not find a country with \"${t}\" iso2 code`);let T=w||$({value:\"us\",field:\"iso2\",countries:a}),{phone:x,inputValue:L,country:U}=W({value:e,country:T,insertDialCodeOnEmpty:!n,...h});return k(L.length),{phone:x,inputValue:L,country:U.iso2}},{overrideLastItemDebounceMS:c,onChange:({inputValue:w,phone:T,country:x})=>{if(!f)return;let L=v(x);f({phone:T,inputValue:w,country:L})}}),v=Ne(w=>$({value:w,field:\"iso2\",countries:a}),[a]),A=Me(()=>v(u),[u,v]);be(()=>{let w=D.current;if(!w)return;let T=x=>{if(!x.key)return;let L=x.ctrlKey,U=x.metaKey,ve=x.shiftKey;if(x.key.toLowerCase()===\"z\"){if(de()){if(!U)return}else if(!L)return;ve?b():y()}};return w.addEventListener(\"keydown\",T),()=>{w.removeEventListener(\"keydown\",T)}},[D,y,b]);let V=w=>{w.preventDefault();let{phone:T,inputValue:x,country:L,cursorPosition:U}=fe(w,{country:A,phoneBeforeInput:N,insertDialCodeOnEmpty:!1,...h});return C({inputValue:x,phone:T,country:L.iso2}),k(U),e},K=(w,T={focusOnInput:!1})=>{let x=$({value:w,field:\"iso2\",countries:a});if(!x){console.error(`[react-international-phone]: can not find a country with \"${w}\" iso2 code`);return}let L=d?\"\":`${s}${x.dialCode}${o}`;C({inputValue:L,phone:`${s}${x.dialCode}`,country:x.iso2}),T.focusOnInput&&Promise.resolve().then(()=>{D.current?.focus()})},[G,j]=_e(!1);return be(()=>{if(!G){j(!0),e!==_&&f?.({inputValue:N,phone:_,country:A});return}if(e===_)return;let{phone:w,inputValue:T,country:x}=W({value:e,country:A,insertDialCodeOnEmpty:!n,...h});C({phone:w,inputValue:T,country:x.iso2})},[e]),{phone:_,inputValue:N,country:A,setCountry:K,handlePhoneValueChange:V,inputRef:D}};var Q=({phone:t,country:e,defaultMask:a=\"............\",disableFormatting:s=!1})=>{let r=e.format,o=i=>s?i.replace(new RegExp(`[^${J}]`,\"g\"),\"\"):i;if(!r)return o(a);if(typeof r==\"string\")return o(r);if(!r.default)return console.error(`[react-international-phone]: default mask for ${e.iso2} is not provided`),o(a);let c=Object.keys(r).find(i=>{if(i===\"default\")return!1;if(!(i.charAt(0)===\"/\"&&i.charAt(i.length-1)===\"/\"))return console.error(`[react-international-phone]: format regex \"${i}\" for ${e.iso2} is not valid`),!1;let l=new RegExp(i.substring(1,i.length-1)),d=t.replace(e.dialCode,\"\");return l.test(z(d))});return o(c?r[c]:r.default)};var M=t=>{let[e,a,s,r,o,c]=t;return{name:e,iso2:a,dialCode:s,format:r,priority:o,areaCodes:c}};var Ae=t=>`Field \"${t}\" is not supported`,$=({field:t,value:e,countries:a=R})=>{if([\"priority\"].includes(t))throw new Error(Ae(t));let s=a.find(r=>{let o=M(r);return e===o[t]});if(s)return M(s)};var X=({phone:t,countries:e=R,currentCountryIso2:a})=>{let s={country:void 0,fullDialCodeMatch:!1};if(!t)return s;let r=z(t);if(!r)return s;let o=s,c=({country:i,fullDialCodeMatch:n})=>{let l=i.dialCode===o.country?.dialCode,d=(i.priority??0)<(o.country?.priority??0);(!l||d)&&(o={country:i,fullDialCodeMatch:n})};for(let i of e){let n=M(i),{dialCode:l,areaCodes:d}=n;if(r.startsWith(l)){let m=o.country?Number(l)>=Number(o.country.dialCode):!0;if(d){let f=r.substring(l.length);for(let g of d)if(f.startsWith(g))return{country:n,fullDialCodeMatch:!0}}(m||l===r||!o.fullDialCodeMatch)&&c({country:n,fullDialCodeMatch:!0})}o.fullDialCodeMatch||r.length{if(!m?.areaCodes)return!1;let f=r.substring(m.dialCode.length);return m.areaCodes.some(g=>g.startsWith(f))})(i):!1;!!o&&o.country?.dialCode===i.dialCode&&o.country!==i&&o.fullDialCodeMatch&&(!i.areaCodes||l)&&(o={country:i,fullDialCodeMatch:!0})}return o};import we from\"react\";var Te=(t,e)=>{let a=parseInt(t,16);return Number(a+e).toString(16)},Ee=\"abcdefghijklmnopqrstuvwxyz\",Le=\"1f1e6\",Pe=Ee.split(\"\").reduce((t,e,a)=>({...t,[e]:Te(Le,a)}),{}),$e=t=>[Pe[t[0]],Pe[t[1]]].join(\"-\"),q=({iso2:t,size:e,src:a,protocol:s=\"https\",disableLazyLoading:r,className:o,style:c,...i})=>{if(!t)return we.createElement(\"img\",{className:P({addPrefix:[\"flag-emoji\"],rawClassNames:[o]}),width:e,height:e,...i});let n=()=>{if(a)return a;let l=$e(t);return`${s}://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/${l}.svg`};return we.createElement(\"img\",{className:P({addPrefix:[\"flag-emoji\"],rawClassNames:[o]}),src:n(),width:e,height:e,draggable:!1,\"data-country\":t,loading:r?void 0:\"lazy\",style:{width:e,height:e,...c},alt:\"\",...i})};import H,{useCallback as te,useEffect as re,useMemo as Fe,useRef as oe,useState as ze}from\"react\";var He=1e3,ne=({show:t,dialCodePrefix:e=\"+\",selectedCountry:a,countries:s=R,preferredCountries:r=[],flags:o,onSelect:c,onClose:i,...n})=>{let l=oe(null),d=oe(),m=Fe(()=>{if(!r||!r.length)return s;let u=[],C=[...s];for(let y of r){let b=C.findIndex(v=>M(v).iso2===y);if(b!==-1){let v=C.splice(b,1)[0];u.push(v)}}return u.concat(C)},[s,r]),f=oe({updatedAt:void 0,value:\"\"}),g=u=>{let C=f.current.updatedAt&&new Date().getTime()-f.current.updatedAt.getTime()>He;f.current={value:C?u:`${f.current.value}${u}`,updatedAt:new Date};let y=m.findIndex(b=>M(b).name.toLowerCase().startsWith(f.current.value));y!==-1&&h(y)},S=te(u=>m.findIndex(C=>M(C).iso2===u),[m]),[p,h]=ze(S(a)),I=()=>{d.current!==a&&h(S(a))},D=te(u=>{h(S(u.iso2)),c?.(u)},[c,S]),k=u=>{let C=m.length-1,y=b=>u===\"prev\"?b-1:u===\"next\"?b+1:u===\"last\"?C:0;h(b=>{let v=y(b);return v<0?0:v>C?C:v})},_=u=>{if(u.stopPropagation(),u.key===\"Enter\"){u.preventDefault();let C=M(m[p]);D(C);return}if(u.key===\"Escape\"){i?.();return}if(u.key===\"ArrowUp\"){u.preventDefault(),k(\"prev\");return}if(u.key===\"ArrowDown\"){u.preventDefault(),k(\"next\");return}if(u.key===\"PageUp\"){u.preventDefault(),k(\"first\");return}if(u.key===\"PageDown\"){u.preventDefault(),k(\"last\");return}u.key===\" \"&&u.preventDefault(),u.key.length===1&&!u.altKey&&!u.ctrlKey&&!u.metaKey&&g(u.key.toLocaleLowerCase())},N=te(()=>{if(!l.current||p===void 0)return;let u=M(m[p]).iso2;if(u===d.current)return;let C=l.current.querySelector(`[data-country=\"${u}\"]`);C&&(ue(l.current,C),d.current=u)},[p,m]);return re(()=>{N()},[p,N]),re(()=>{l.current&&(t?l.current.focus():I())},[t]),re(()=>{I()},[a]),H.createElement(\"ul\",{ref:l,role:\"listbox\",className:P({addPrefix:[\"country-selector-dropdown\"],rawClassNames:[n.className]}),style:{display:t?\"block\":\"none\",...n.style},onKeyDown:_,onBlur:i,tabIndex:-1,\"aria-activedescendant\":`react-international-phone__${M(m[p]).iso2}-option`},m.map((u,C)=>{let y=M(u),b=y.iso2===a,v=C===p,A=r.includes(y.iso2),V=C===r.length-1,K=o?.find(G=>G.iso2===y.iso2);return H.createElement(H.Fragment,{key:y.iso2},H.createElement(\"li\",{\"data-country\":y.iso2,role:\"option\",\"aria-selected\":b,\"aria-label\":`${y.name} ${e}${y.dialCode}`,id:`react-international-phone__${y.iso2}-option`,className:P({addPrefix:[\"country-selector-dropdown__list-item\",A&&\"country-selector-dropdown__list-item--preferred\",b&&\"country-selector-dropdown__list-item--selected\",v&&\"country-selector-dropdown__list-item--focused\"],rawClassNames:[n.listItemClassName]}),onClick:()=>D(y),style:n.listItemStyle,title:y.name},H.createElement(q,{iso2:y.iso2,src:K?.src,className:P({addPrefix:[\"country-selector-dropdown__list-item-flag-emoji\"],rawClassNames:[n.listItemFlagClassName]}),style:n.listItemFlagStyle}),H.createElement(\"span\",{className:P({addPrefix:[\"country-selector-dropdown__list-item-country-name\"],rawClassNames:[n.listItemCountryNameClassName]}),style:n.listItemCountryNameStyle},y.name),H.createElement(\"span\",{className:P({addPrefix:[\"country-selector-dropdown__list-item-dial-code\"],rawClassNames:[n.listItemDialCodeClassName]}),style:n.listItemDialCodeStyle},e,y.dialCode)),V?H.createElement(\"hr\",{className:P({addPrefix:[\"country-selector-dropdown__preferred-list-divider\"],rawClassNames:[n.preferredListDividerClassName]}),style:n.preferredListDividerStyle}):null)}))};var ae=({selectedCountry:t,onSelect:e,disabled:a,hideDropdown:s,countries:r=R,preferredCountries:o=[],flags:c,renderButtonWrapper:i,...n})=>{let[l,d]=Oe(!1),m=Ve(()=>{if(t)return $({value:t,field:\"iso2\",countries:r})},[r,t]),f=je(null),g=p=>{p.key&&[\"ArrowUp\",\"ArrowDown\"].includes(p.key)&&(p.preventDefault(),d(!0))},S=()=>{let p={title:m?.name,onClick:()=>d(I=>!I),onMouseDown:I=>I.preventDefault(),onKeyDown:g,disabled:s||a,role:\"combobox\",\"aria-label\":\"Country selector\",\"aria-haspopup\":\"listbox\",\"aria-expanded\":l},h=B.createElement(\"div\",{className:P({addPrefix:[\"country-selector-button__button-content\"],rawClassNames:[n.buttonContentWrapperClassName]}),style:n.buttonContentWrapperStyle},B.createElement(q,{iso2:t,src:c?.find(I=>I.iso2===t)?.src,className:P({addPrefix:[\"country-selector-button__flag-emoji\",a&&\"country-selector-button__flag-emoji--disabled\"],rawClassNames:[n.flagClassName]}),style:{visibility:t?\"visible\":\"hidden\",...n.flagStyle}}),!s&&B.createElement(\"div\",{className:P({addPrefix:[\"country-selector-button__dropdown-arrow\",a&&\"country-selector-button__dropdown-arrow--disabled\",l&&\"country-selector-button__dropdown-arrow--active\"],rawClassNames:[n.dropdownArrowClassName]}),style:n.dropdownArrowStyle}));return i?i({children:h,rootProps:p}):B.createElement(\"button\",{...p,type:\"button\",className:P({addPrefix:[\"country-selector-button\",l&&\"country-selector-button--active\",a&&\"country-selector-button--disabled\",s&&\"country-selector-button--hide-dropdown\"],rawClassNames:[n.buttonClassName]}),\"data-country\":t,style:n.buttonStyle},h)};return B.createElement(\"div\",{className:P({addPrefix:[\"country-selector\"],rawClassNames:[n.className]}),style:n.style,ref:f},S(),B.createElement(ne,{show:l,countries:r,preferredCountries:o,flags:c,onSelect:p=>{d(!1),e?.(p)},selectedCountry:t,onClose:()=>{d(!1)},...n.dropdownStyleProps}))};import Be from\"react\";var ie=({dialCode:t,prefix:e,disabled:a,style:s,className:r})=>Be.createElement(\"div\",{className:P({addPrefix:[\"dial-code-preview\",a&&\"dial-code-preview--disabled\"],rawClassNames:[r]}),style:s},`${e}${t}`);import Z,{forwardRef as Ke,useImperativeHandle as Ge}from\"react\";var Ue=Ke(({value:t,onChange:e,countries:a=R,preferredCountries:s=[],hideDropdown:r,showDisabledDialCodeAndPrefix:o,disableFocusAfterCountrySelect:c,flags:i,style:n,className:l,inputStyle:d,inputClassName:m,countrySelectorStyleProps:f,dialCodePreviewStyleProps:g,inputProps:S,placeholder:p,disabled:h,name:I,onFocus:D,onBlur:k,required:_,autoFocus:N,...u},C)=>{let{phone:y,inputValue:b,inputRef:v,country:A,setCountry:V,handlePhoneValueChange:K}=ee({value:t,countries:a,...u,onChange:j=>{e?.(j.phone,{country:j.country,inputValue:j.inputValue})}}),G=u.disableDialCodeAndPrefix&&o&&A?.dialCode;return Ge(C,()=>v.current?Object.assign(v.current,{setCountry:V,state:{phone:y,inputValue:b,country:A}}):null,[v,V,y,b,A]),Z.createElement(\"div\",{ref:C,className:P({addPrefix:[\"input-container\"],rawClassNames:[l]}),style:n},Z.createElement(ae,{onSelect:j=>V(j.iso2,{focusOnInput:!c}),flags:i,selectedCountry:A.iso2,countries:a,preferredCountries:s,disabled:h,hideDropdown:r,...f}),G&&Z.createElement(ie,{dialCode:A.dialCode,prefix:u.prefix??\"+\",disabled:h,...g}),Z.createElement(\"input\",{onChange:K,value:b,type:\"tel\",ref:v,className:P({addPrefix:[\"input\",h&&\"input--disabled\"],rawClassNames:[m]}),placeholder:p,disabled:h,style:d,name:I,onFocus:D,onBlur:k,autoFocus:N,required:_,...S}))});export{ae as CountrySelector,ne as CountrySelectorDropdown,ie as DialCodePreview,q as FlagImage,Ue as PhoneInput,De as buildCountryData,R as defaultCountries,Q as getActiveFormattingMask,$ as getCountry,X as guessCountryByPartialPhoneNumber,M as parseCountry,ce as removeDialCode,ee as usePhoneInput};\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(area);\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport area from \"./area.js\";\nimport {lineRadial} from \"./lineRadial.js\";\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n"],"names":["hiddenStyles","display","HiddenText","_ref","id","value","style","LiveRegion","announcement","ariaLiveType","position","width","height","margin","border","padding","overflow","clip","clipPath","whiteSpace","role","DndMonitorContext","createContext","defaultScreenReaderInstructions","draggable","defaultAnnouncements","onDragStart","active","onDragOver","_ref2","over","onDragEnd","_ref3","onDragCancel","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","setAnnouncement","useState","useCallback","useAnnouncement","liveRegionId","mounted","setMounted","useEffect","listener","registerListener","useContext","Error","useDndMonitor","useMemo","onDragMove","_ref5","_ref6","markup","createPortal","Action","noop","useSensor","sensor","options","useSensors","_len","arguments","length","sensors","Array","_key","filter","defaultCoordinates","Object","freeze","x","y","distanceBetween","p1","p2","Math","sqrt","pow","getRelativeTransformOrigin","event","rect","eventCoordinates","left","top","sortCollisionsAsc","data","a","b","sortCollisionsDesc","cornersOfRectangle","getFirstCollision","collisions","property","firstCollision","centerOfRectangle","closestCenter","collisionRect","droppableRects","droppableContainers","centerRect","droppableContainer","get","distBetween","push","sort","closestCorners","corners","rectCorners","distances","reduce","accumulator","corner","index","effectiveDistance","Number","toFixed","getIntersectionRatio","entry","target","max","right","min","bottom","targetArea","entryArea","intersectionArea","rectIntersection","intersectionRatio","getRectDelta","rect1","rect2","createRectAdjustmentFn","modifier","adjustments","acc","adjustment","getAdjustedRect","parseTransform","transform","startsWith","transformArray","slice","split","scaleX","scaleY","defaultOptions","ignoreTransform","getClientRect","element","getBoundingClientRect","transformOrigin","getComputedStyle","parsedTransform","translateX","translateY","parseFloat","indexOf","w","h","inverseTransform","getTransformAgnosticClientRect","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","node","scrollingElement","includes","computedStyle","overflowRegex","some","test","isScrollable","isFixed","parentNode","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","window","getScrollXCoordinate","scrollX","scrollLeft","getScrollYCoordinate","scrollY","scrollTop","getScrollCoordinates","Direction","isDocumentScrollingElement","document","getScrollPosition","scrollingContainer","minScroll","dimensions","innerHeight","innerWidth","clientHeight","clientWidth","maxScroll","scrollWidth","scrollHeight","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","Backward","abs","Forward","getScrollElementRect","getScrollOffsets","scrollableAncestors","scrollIntoViewIfNeeded","measure","scrollIntoView","block","inline","properties","Rect","constructor","this","scrollOffsets","axis","keys","getScrollOffset","key","defineProperty","currentOffsets","scrollOffsetsDeltla","enumerable","Listeners","listeners","removeAll","forEach","_this$target","removeEventListener","add","eventName","handler","_this$target2","addEventListener","hasExceededDistance","delta","measurement","dx","dy","EventName","KeyboardCode","preventDefault","stopPropagation","defaultKeyboardCodes","start","Space","Enter","cancel","Esc","end","defaultKeyboardCoordinateGetter","currentCoordinates","code","Right","Left","Down","Up","KeyboardSensor","props","autoScrollEnabled","referenceCoordinates","windowListeners","handleKeyDown","bind","handleCancel","attach","handleStart","Resize","VisibilityChange","setTimeout","Keydown","activeNode","onStart","current","context","keyboardCodes","coordinateGetter","scrollBehavior","handleEnd","newCoordinates","coordinatesDelta","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","scrollTo","behavior","scrollBy","handleMove","coordinates","onMove","onEnd","detach","onCancel","isDistanceConstraint","constraint","Boolean","isDelayConstraint","activators","onActivation","nativeEvent","activator","activatorNode","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","EventTarget","getEventListenerTarget","activated","initialCoordinates","timeoutId","documentListeners","handleKeydown","removeTextSelection","activationConstraint","bypassActivationConstraint","move","name","passive","DragStart","ContextMenu","delay","clearTimeout","Click","capture","SelectionChange","_getEventCoordinates2","tolerance","distance","cancelable","_this$document$getSel","getSelection","removeAllRanges","PointerSensor","super","isPrimary","button","events$1","MouseButton","MouseSensor","RightClick","events$2","TouchSensor","setup","AutoScrollActivator","TraversalOrder","useAutoScroller","Pointer","canScroll","draggingRect","enabled","interval","order","TreeOrder","pointerCoordinates","scrollableAncestorRects","scrollIntent","disabled","previousDelta","previousIntent","defaultScrollIntent","sign","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","scrollSpeed","useRef","scrollDirection","DraggableRect","scrollContainerRef","autoScroll","sortedScrollableAncestors","reverse","JSON","stringify","touches","MeasuringStrategy","MeasuringFrequency","defaultValue","Map","useInitialValue","computeFn","previousValue","useResizeObserver","callback","handleResize","resizeObserver","ResizeObserver","disconnect","defaultMeasure","useRect","fallbackRect","measureRect","useReducer","currentRect","isConnected","newRect","mutationObserver","handleMutations","MutationObserver","useMutationObserver","records","record","type","HTMLElement","contains","observe","body","childList","subtree","defaultValue$1","useScrollOffsetsDelta","dependencies","initialScrollOffsets","hasScrollOffsets","useWindowRect","getWindowClientRect","defaultValue$2","getMeasurableNode","children","firstChild","defaultSensors","defaultData","defaultMeasuringConfiguration","droppable","strategy","WhileDragging","frequency","Optimized","dragOverlay","DroppableContainersMap","_super$get","undefined","toArray","from","values","getEnabled","getNodeFor","_this$get$node$curren","_this$get","defaultPublicContext","activatorEvent","activeNodeRect","containerNodeRect","draggableNodes","nodeRef","setRef","measuringConfiguration","measureDroppableContainers","windowRect","measuringScheduled","defaultInternalContext","ariaDescribedById","dispatch","InternalContext","PublicContext","getInitialState","nodes","translate","containers","reducer","state","action","DragMove","DragEnd","DragCancel","RegisterDroppable","set","SetDroppableDisabled","UnregisterDroppable","delete","RestoreFocus","previousActivatorEvent","previousActiveId","activeElement","draggableNode","requestAnimationFrame","focusableNode","focus","applyModifiers","modifiers","args","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","collisionDetection","measuring","store","dispatchMonitorEvent","registerMonitorListener","Set","_listener$type","call","useDndMonitorProvider","status","setStatus","Uninitialized","isInitialized","Initialized","activeId","activeRects","initial","translated","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","config","dragging","queue","setQueue","containersRef","Always","BeforeDragging","isDisabled","disabledRef","ids","concat","map","useDroppableMeasuring","cachedNode","useCachedNode","activationCoordinates","autoScrollOptions","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","getAutoScrollerOptions","initialActiveNodeRect","useInitialRect","initialRect","initialized","rectDelta","useLayoutShiftScrollCompensation","layoutShiftCompensation","parentElement","sensorContext","draggingNode","draggingNodeRect","scrollAdjustedTranslate","overNode","setRect","entries","handleNodeChange","useDragOverlayMeasuring","usesDragOverlay","nodeRectDelta","previousNode","ancestors","useScrollableAncestors","elements","firstElement","rects","measureRects","useRects","modifiedTranslate","overlayNodeRect","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","previousElements","cleanup","scrollableElement","useScrollOffsets","scrollAdjustment","activeNodeScrollDelta","overId","setOver","adjustScale","instantiateSensor","Sensor","sensorInstance","unstable_batchedUpdates","Initializing","createHandler","async","cancelDrop","Promise","resolve","bindActivatorToSensorInstantiator","activeDraggableNode","dndKit","defaultPrevented","activationContext","capturedBy","getSyntheticHandler","useCombineActivators","teardownFns","teardown","useSensorSetup","overContainer","publicContext","internalContext","Provider","restoreFocus","NullContext","defaultRole","ID_PREFIX","useDraggable","attributes","roleDescription","tabIndex","isDragging","setNodeRef","setActivatorNodeRef","useSyntheticListeners","dataRef","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","timeout","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","isArray","newElement","previousElement","unobserve","isOver","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","then","cloneElement","ref","defaultTransform","NullifiedContextProvider","baseStyles","touchAction","defaultTransition","PositionedOverlay","forwardRef","as","className","transition","scaleAdjustedTransform","styles","Transform","toString","defaultDropAnimationSideEffects","originalStyles","getPropertyValue","setProperty","classList","remove","defaultDropAnimationConfiguration","duration","easing","keyframes","final","sideEffects","opacity","useDropAnimation","activeDraggable","measurableNode","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","animate","fill","onfinish","createDefaultDropAnimation","useKey","DragOverlay","dropAnimation","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","restrictToBoundingRect","boundingRect","restrictToParentElement","arrayMove","array","to","newArray","splice","getSortedRects","items","isValidIndex","rectSortingStrategy","activeIndex","overIndex","newRects","oldRect","defaultScale$1","verticalListSortingStrategy","_rects$activeIndex","fallbackActiveRect","overIndexRect","itemGap","clientRects","previousRect","nextRect","getItemGap$1","Context","containerId","disableTransforms","useDragOverlay","sortedRects","SortableContext","userDefinedItems","disabledProp","item","previousItemsRef","itemsHaveChanged","i","itemsEqual","normalizeDisabled","contextValue","defaultNewIndexGetter","defaultAnimateLayoutChanges","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transitionProperty","disabledTransition","Transition","defaultAttributes","useSortable","animateLayoutChanges","userDefinedAttributes","localDisabled","customData","getNewIndex","localStrategy","globalDisabled","globalStrategy","_localDisabled$dragga","_localDisabled$droppa","normalizeLocalDisabled","sortable","itemsAfterCurrentSortable","setDroppableNodeRef","setDraggableNodeRef","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","shouldAnimateLayoutChanges","derivedTransform","setDerivedtransform","previousIndex","useDerivedTransform","getTransition","hasSortableData","directions","sortableKeyboardCoordinates","filteredContainers","closestId","activeDroppable","newDroppable","newNode","hasDifferentScrollAncestors","hasSameContainer","isSameContainer","isAfterActive","isAfter","offset","rectCoordinates","useCombinedRefs","refs","canUseDOM","createElement","isWindow","elementString","prototype","isNode","getWindow","_target$ownerDocument","_target$ownerDocument2","ownerDocument","defaultView","isDocument","Document","isHTMLElement","isSVGElement","SVGElement","getOwnerDocument","useIsomorphicLayoutEffect","useLayoutEffect","useEvent","handlerRef","useInterval","intervalRef","setInterval","clearInterval","useLatestValue","valueRef","useLazyMemo","newValue","useNodeRef","onChange","onChangeHandler","usePrevious","useUniqueId","prefix","createAdjustmentFn","object","valueAdjustment","subtract","isKeyboardEvent","KeyboardEvent","getEventCoordinates","TouchEvent","isTouchEvent","clientX","clientY","changedTouches","hasViewportRelativeCoordinates","CSS","Translate","round","Scale","join","SELECTOR","findFirstFocusableNode","matches","querySelector","f","r","e","c","m","write","d","onFrame","p","onFinish","t","now","o","F","findIndex","z","u","s","time","v","sync","T","batchedUpdates","throttle","use","performance","Date","catch","console","error","frameLoop","advance","warn","l","Q","flush","has","size","ze","Y","Le","assign","U","colors","createStringInterpolator","k","skipAnimation","ee","J","willAdvance","arr","obj","fun","str","num","und","bt","Ve","xt","n","hasOwnProperty","ht","Pe","clear","yt","navigator","userAgent","E","H","A","qe","idle","priority","$e","te","B","re","Ge","M","C","oe","RegExp","fe","ae","ie","se","ue","le","ce","j","de","parseInt","pe","me","D","exec","be","W","range","output","extrapolate","extrapolateLeft","extrapolateRight","He","Ue","P","L","xe","he","PI","ye","V","Lt","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","steps","ne","floor","ceil","g","Symbol","for","Pt","ve","$t","eventObserved","je","De","Ee","Gt","observerAdded","Qt","observerRemoved","_","writable","configurable","O","Oe","K","source","we","N","We","documentElement","trim","Ke","Xt","replace","match","find","Z","Te","TypeError","Ne","_e","WeakMap","Ce","Mr","random","$r","ut","Ur","getPayload","payload","_value","lastPosition","done","elapsedTime","lastVelocity","v0","durationProgress","create","getValue","setValue","reset","_string","_toString","_makePayload","_addToPayload","isReactComponent","createAnimatedStyle","applyAnimatedValues","deps","update","S","$","getComponentProps","I","displayName","et","default","nn","rn","on","loop","pause","immediate","onProps","onPause","onResume","onRest","onResolve","trail","expires","enter","leave","onDestroyed","callId","parentId","sn","tt","tension","friction","mass","damping","clamp","velocity","restVelocity","precision","progress","bounce","decay","changed","toValues","fromValues","defaultProps","actions","paused","resumeQueue","resume","timeouts","delayed","pauseQueue","cancelId","cancelled","every","nt","finished","asyncTo","promise","asyncId","result","stop","all","Sn","_priority","_onPriorityChange","interpolate","toJSON","_attach","_detach","_onChange","parent","st","rt","_state","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","goal","hasAnimated","isAnimating","isPaused","isDelayed","exp","isNaN","_stop","_focus","_set","_update","finish","_onStart","_start","_prepareNode","_t","isFrozen","_resume","_merge","at","gt","_n","Vt","Ot","Fn","kn","springs","_flush","_initialProps","_lastAsyncId","_active","_changed","_started","_item","_events","_onFrame","each","jt","wt","Mt","pt","inputs","it","_context","Consumer","_getProps","ctrls","exitBeforeEnter","ctrl","expired","expirationId","phase","tr","Jt","Wt","Fe","Ze","ft","calc","_get","Yt","ct","vr","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","charAt","toUpperCase","substring","transforms","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","animated","nodeType","setAttribute","nodeName","viewBox","hasAttribute","toLowerCase","textContent","_excluded","_extends","apply","Line","_ref$from","_ref$to","_ref$fill","innerRef","restProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","isRectilinear","x1","y1","x2","y2","shapeRendering","isNumber","val","isXOrYInValid","xOrY","isFinite","useText","_props$verticalAnchor","verticalAnchor","_props$scaleToFit","scaleToFit","angle","_props$lineHeight","_props$capHeight","capHeight","textProps","_textProps$x","_textProps$y","isXOrYNotValid","_useMemo","wordsWithWidth","word","wordWidth","getStringWidth","spaceWidth","wordsByLines","currentLine","words","newLine","startDy","lineWidth","sx","sy","originX","originY","SVG_STYLE","Text","_props$dx","_props$dy","_props$textAnchor","textAnchor","innerTextRef","fontSize","_useText","line","Ticks","hideTicks","horizontal","orientation","tickClassName","tickComponent","allTickLabelProps","tickLabelProps","_ref$tickStroke","tickStroke","tickTransform","ticks","tickLineProps","_allTickLabelProps$in","formattedValue","tickLabelFontSize","tickYCoord","Group","stroke","strokeLinecap","defaultTextProps","fontFamily","AxisRenderer","axisFromPoint","axisLineClassName","axisToPoint","hideAxisLine","_ref$label","label","labelClassName","_ref$labelOffset","labelOffset","labelProps","_ref$orientation","_ref$stroke","_ref$strokeWidth","_ref$tickLength","tickLength","_ref$ticksComponent","ticksComponent","combinedLabelProps","tickLabelPropsDefault","maxTickLabelFontSize","yBottomOffset","getLabelTransform","createPoint","Point","defaultAxisRangePadding","Axis","originalRangePadding","_ref$children","axisClassName","_ref$hideAxisLine","_ref$hideTicks","_ref$hideZero","hideZero","_ref$left","_ref$numTicks","numTicks","_ref$rangePadding","rangePadding","tickFormat","tickValues","_ref$top","format","getTickFormatter","tickPosition","align","bandwidth","scaledValue","getTickPosition","tickSign","rangePaddingConfig","filteredTickValues","getTicks","coerceNumber","bottomTickLabelProps","AxisBottom","tickLabelPropsFinal","leftTickLabelProps","AxisLeft","LinearGradient","_x1","_y1","_x2","_y2","_ref$fromOffset","fromOffset","_ref$fromOpacity","fromOpacity","_ref$toOffset","toOffset","_ref$toOpacity","toOpacity","rotate","_ref$vertical","vertical","gradientTransform","stopColor","propTypes","isRequired","GridRows","lineStyle","scaleOffset","getScaleBandwidth","tickLines","_coerceNumber","lines","LegendItem","_ref$flexDirection","flexDirection","_ref$alignItems","alignItems","_ref$margin","_ref$display","LegendLabel","_ref$flex","_ref$align","justifyContent","ShapeRect","background","ShapeCircle","cleanWidth","cleanHeight","radius","ShapeLine","lineThickness","NO_OP","LegendShape","_ref$shape","shape","itemIndex","shapeStyle","_ref$size","_ref$shapeStyle","renderShape","valueOrIdentity","valueOrIdentityString","String","labelTransformFactory","labelFormat","datum","text","defaultStyle","Legend","_ref$style","inputDomain","domain","_ref$labelFormat","_ref$labelTransform","labelTransform","_ref$shapeWidth","shapeWidth","_ref$shapeHeight","shapeHeight","_ref$shapeMargin","shapeMargin","_ref$labelAlign","labelAlign","_ref$labelFlex","labelFlex","_ref$labelMargin","labelMargin","_ref$itemMargin","itemMargin","_ref$direction","_ref$itemDirection","itemDirection","legendLabelProps","legendItemProps","labelFormatter","labels","Ordinal","_ref$x","_ref$y","_proto","defaultIgnoreDimensions","defaultInitialSize","_excluded2","defaultParentSizeStyles","ParentSize","debounceTime","ignoreDimensions","initialSize","_ref$parentSizeStyles","parentSizeStyles","_ref$enableDebounceLe","enableDebounceLeadingCall","resizeObserverPolyfill","_useParentSize","_temp","_ref$initialSize","_ref$debounceTime","_ref$ignoreDimensions","parentRef","animationFrameID","_useState","setState","resize","normalized","incoming","existing","leading","observer","_entry$contentRect","contentRect","cancelAnimationFrame","useParentSize","radians","degrees","Xn","Yn","Zn","t0","t1","t2","t3","labConvert","Lab","Hcl","hcl2lab","rgb2lrgb","xyz2lab","lab","lab2xyz","lrgb2rgb","hclConvert","NaN","atan2","hcl","brighter","darker","rgb","hue","hclLong","hsl","color","hslLong","ED","EB","BC_DA","Cubehelix","bl","cubehelixConvert","cubehelix","cubehelixGamma","gamma","cosh","sinh","interpolatorMap","TEST_TIME","UTC","TEST_FORMAT","localTimeIntervals","day","hour","minute","month","second","week","year","utcIntervals","ALL_OPERATORS","operators","nice","timeScale","isUtc","isUtcScale","step","parsedInterval","zero","isDescending","domainWithZero","interpolator","createColorInterpolator","base","constant","exponent","paddingInner","paddingOuter","reversedRange","unknown","scaleOperator","ops","selection","selectedOps","op","updateBandScale","createBandScale","updateLinearScale","createLinearScale","updateOrdinalScale","createOrdinalScale","valueOf","Bar","BarGroup","x0","x0Scale","x1Scale","yScale","barWidth","getBandwidth","barGroups","group","bars","barGroup","bar","BarRounded","_ref2$all","_ref2$top","_ref2$bottom","_ref2$left","_ref2$right","_ref2$topLeft","topLeft","_ref2$topRight","topRight","_ref2$bottomLeft","bottomLeft","_ref2$bottomRight","bottomRight","path","diameter","useBarRoundedPath","pi","tau","epsilon","tauEpsilon","Path","_x0","_y0","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","arc","a0","a1","ccw","cw","da","Linear","func","_temp3","defined","curve","buffer","defined0","lineStart","lineEnd","point","areaStart","_line","areaEnd","_point","LinePath","_ref$data","_ref$defined","exports","_react","_classnames","_interopRequireDefault","__esModule","MEASUREMENT_ELEMENT_ID","textEl","getElementById","svg","createElementNS","appendChild","getComputedTextLength","useTooltip","initialTooltipState","tooltipOpen","tooltipState","setTooltipState","showTooltip","showArgs","show","tooltipLeft","tooltipTop","tooltipData","hideTooltip","updateTooltip","defaultStyles","backgroundColor","borderRadius","boxShadow","pointerEvents","Tooltip","_ref$offsetLeft","offsetLeft","_ref$offsetTop","offsetTop","_ref$unstyled","unstyled","_ref$applyPositionSty","applyPositionStyle","balanced","maybeMatch","pre","post","reg","begs","beg","ai","bi","pop","module","delimiters","delimiter","input","CLEAVE_ZEN_cursor_tracker","inputType","selectionEnd","CLEAVE_ZEN_cleanCursorIndex","dirtyCursorIndex","cleanCursorIndex","setSelectionRange","UATP","AMEX","DINERS","DISCOVER","MASTERCARD","DANKORT","INSTAPAYMENT","JCB15","JCB","MAESTRO","VISA","MIR","UNIONPAY","GENERAL","THOUSAND","LAKH","WAN","NONE","numeralThousandsGroupStyle","numeralIntegerScale","numeralDecimalMark","numeralDecimalScale","stripLeadingZeroes","numeralPositiveOnly","tailPrefix","signBeforePrefix","slope3","that","h0","h1","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","_t0","factory","self","__webpack_modules__","__unused_webpack_exports","isObject","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","unicode","Constructor","ArrayBuffer","DataView","NAME","NATIVE_ARRAY_BUFFER","DESCRIPTORS","global","classof","createNonEnumerableProperty","redefine","getPrototypeOf","setPrototypeOf","uid","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","isPrototypeOf","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isTypedArray","klass","Function","aTypedArray","aTypedArrayConstructor","ARRAY","TypedArrayConstructor","exportTypedArrayMethod","KEY","forced","exportTypedArrayStaticMethod","isView","redefineAll","fails","anInstance","toInteger","toLength","toIndex","IEEE754","getOwnPropertyNames","arrayFill","setToStringTag","InternalStateModule","getInternalState","setInternalState","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","RangeError","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","view","count","isLittleEndian","intIndex","byteLength","bytes","byteOffset","conversion","ArrayBufferPrototype","testView","nativeSetInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","copyWithin","len","inc","argumentsLength","endPos","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","iterator","next","mapfn","mapping","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","specificCreate","boundFunction","filterOut","nativeLastIndexOf","lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","foo","argument","method","aFunction","IS_RIGHT","originalArray","anObject","iteratorClose","fn","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","callee","ownKeys","getOwnPropertyDescriptorModule","getOwnPropertyDescriptor","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","bitmap","toPrimitive","propertyKey","createIteratorConstructor","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","proto","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","version","process","versions","v8","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","stringMethod","regexMethod","string","arg","variable","namespace","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","captures","namedCaptures","replacement","tailPos","symbols","ch","check","globalThis","log","LN2","mantissaLength","mantissa","exponentLength","eMax","eBias","Infinity","nBits","propertyIsEnumerable","dummy","Wrapper","NewTarget","NewTargetPrototype","functionToString","inspectSource","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","feature","detection","normalize","POLYFILL","NATIVE","MATCH","isRegExp","returnMethod","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","getOwnPropertySymbols","url","URL","searchParams","pathname","href","URLSearchParams","username","host","hash","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","symbol","alphabet","chr","activeXDocument","defineProperties","enumBugKeys","html","documentCreateElement","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","close","temp","parentWindow","NullProtoObjectViaActiveX","src","contentWindow","open","Properties","__unused_webpack_module","IE8_DOM_DEFINE","nativeDefineProperty","Attributes","nativeGetOwnPropertyDescriptor","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","names","nativePropertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","getOwnPropertyNamesModule","enforceInternalState","TEMPLATE","simple","R","re1","re2","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","sticky","charsAdded","strCopy","multiline","ignoreCase","dotAll","RE","CONSTRUCTOR_NAME","TAG","SHARED","mode","copyright","defaultConstructor","requireObjectCoercible","CONVERT_TO_STRING","pos","first","charCodeAt","codeAt","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","fromCharCode","digitToBasic","digit","adapt","numPoints","firstTime","baseMinusTMin","encode","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","baseMinusT","encoded","whitespaces","whitespace","ltrim","rtrim","integer","toPositiveInteger","BYTES","PREFERRED_STRING","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","typedArrayFrom","setSpecies","inheritIfRequired","BYTES_PER_ELEMENT","WRONG_LENGTH","fromList","list","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","wrapper","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","getter","typedArrayOffset","$length","$len","checkCorrectnessOfIteration","iterable","speciesConstructor","instance","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayBufferModule","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","$filter","$indexOf","nativeIndexOf","addToUnscopables","defineIterator","ARRAY_ITERATOR","iterated","kind","Arguments","$map","HAS_SPECIES_SUPPORT","nativeSlice","fin","deleteCount","insertCount","actualDeleteCount","actualStart","FunctionPrototype","FunctionPrototypeToString","nameRE","nativeGetPrototypeOf","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","STRING_ITERATOR","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","matcher","res","rx","fullUnicode","matchStr","getSubstitution","reason","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","callRegExpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","separator","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","$trim","forcedStringTrimMethod","$copyWithin","$every","$fill","fromSpeciesAndList","$findIndex","predicate","$find","$includes","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","$join","$lastIndexOf","$reduceRight","$reduce","middle","$slice","$some","$sort","comparefn","begin","beginIndex","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","createTypedArrayConstructor","init","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","hasOwn","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","decodeURIComponent","deserialize","serialize","encodeURIComponent","parseSearchParams","query","attribute","shift","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","fetch","headers","getState","EOF","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","serializeHost","ignore0","unshift","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","serializeURL","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","__webpack_module_cache__","moduleId","definition","prop","toStringTag","_createForOfIteratorHelper","allowArrayLike","minLen","_arrayLikeToArray","_unsupportedIterableToArray","err","normalCompletion","didErr","_e2","return","arr2","_defineProperties","Dropzone","dropzone_dist","Emitter","_classCallCheck","protoProps","staticProps","_callbacks","callbacks","_step","_iterator","dispatchEvent","makeEvent","detail","bubbles","CustomEvent","evt","createEvent","initCustomEvent","options_createForOfIteratorHelper","options_arrayLikeToArray","options_unsupportedIterableToArray","src_options","withCredentials","parallelUploads","uploadMultiple","chunking","forceChunking","chunkSize","parallelChunkUploads","retryChunks","retryChunksLimit","maxFilesize","paramName","createImageThumbnails","maxThumbnailFilesize","thumbnailWidth","thumbnailHeight","thumbnailMethod","resizeWidth","resizeHeight","resizeMimeType","resizeQuality","resizeMethod","filesizeBase","maxFiles","clickable","ignoreHiddenFiles","acceptedFiles","acceptedMimeTypes","autoProcessQueue","autoQueue","addRemoveLinks","previewsContainer","disablePreviews","hiddenInputContainer","renameFilename","renameFile","forceFallback","dictDefaultMessage","dictFallbackMessage","dictFallbackText","dictFileTooBig","dictInvalidFileType","dictResponseError","dictCancelUpload","dictUploadCanceled","dictCancelUploadConfirmation","dictRemoveFile","dictRemoveFileConfirmation","dictMaxFilesExceeded","dictFileSizeUnits","tb","gb","mb","kb","files","xhr","chunk","dzuuid","upload","uuid","dzchunkindex","dztotalfilesize","dzchunksize","dztotalchunkcount","totalChunkCount","dzchunkbyteoffset","accept","chunksUploaded","fallback","messageElement","getElementsByTagName","child","span","innerText","getFallbackForm","info","srcX","srcY","srcWidth","srcHeight","srcRatio","trgRatio","trgWidth","trgHeight","transformFile","resizeImage","previewTemplate","drop","dragstart","dragend","dragenter","dragover","dragleave","paste","addedfile","_this","previewElement","_step2","_iterator2","querySelectorAll","_step3","_iterator3","innerHTML","filesize","_removeLink","_step4","removeFileEvent","UPLOADING","confirm","removeFile","_iterator4","removedfile","removeChild","_updateMaxFilesReachedClass","thumbnail","dataUrl","_step5","_iterator5","thumbnailElement","alt","message","_step6","_iterator6","errormultiple","processing","processingmultiple","uploadprogress","bytesSent","_step7","_iterator7","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","emit","canceledmultiple","complete","completemultiple","maxfilesexceeded","maxfilesreached","queuecomplete","addedfiles","_typeof","dropzone_createForOfIteratorHelper","dropzone_arrayLikeToArray","dropzone_unsupportedIterableToArray","dropzone_classCallCheck","dropzone_defineProperties","dropzone_createClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","Proxy","_isNativeReflectConstruct","Super","_getPrototypeOf","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_Emitter","subClass","superClass","_inherits","_super","clickableElements","dropzone","instances","elementOptions","optionsForElement","extend","isBrowserSupported","getAttribute","getExistingFallback","getElement","getElements","accepted","getFilesWithStatus","QUEUED","ADDED","_this2","tagName","setupHiddenFileInput","hiddenFileInput","visibility","addFile","webkitURL","updateTotalUploadProgress","getAddedFiles","getUploadingFiles","getQueuedFiles","noPropagation","dataTransfer","types","containsFiles","returnValue","efct","effectAllowed","dropEffect","clickableElement","click","elementInside","enable","disable","removeAllFiles","totalUploadProgress","totalBytesSent","totalBytes","getActiveFiles","total","existingFallback","form","fieldsString","_getParamName","fields","getFallback","_i","_arr","elementListeners","_this3","removeEventListeners","cancelUpload","setupEventListeners","selectedSize","selectedUnit","units","unit","getAcceptedFiles","webkitGetAsEntry","_addFilesFromItems","handleFiles","clipboardData","_this4","isFile","getAsFile","isDirectory","_addFilesFromDirectory","directory","_this5","dirReader","createReader","errorHandler","methodName","readEntries","fullPath","isValidFile","_this6","uuidv4","filename","_renameFile","_enqueueThumbnail","_errorProcessing","enqueueFile","_step8","_iterator8","_this7","processQueue","_this8","_thumbnailQueue","_processThumbnailQueue","_this9","_processingThumbnail","createThumbnail","without","cancelIfNecessary","_step9","_iterator9","_this10","canvas","resizedDataURL","toDataURL","ExifRestore","restore","dataURL","dataURItoBlob","fixOrientation","_this11","fileReader","FileReader","onload","createThumbnailFromUrl","readAsDataURL","mockFile","imageUrl","crossOrigin","_this12","resizeThumbnail","_this13","img","loadExif","EXIF","getData","getTag","resizeInfo","ctx","getContext","drawImageIOSFix","trgX","trgY","onerror","processingLength","queuedFiles","processFiles","processFile","_step10","_iterator10","uploadFiles","_step11","groupedFiles","_getFilesWithXhr","_iterator11","CANCELED","abort","_step12","_iterator12","_groupedFile","option","_this14","_transformFiles","transformedFiles","transformedFile","chunked","_transformedFile","chunks","handleNextChunk","chunkIndex","dataBlock","webkitSlice","retries","_uploadData","finishedChunkUpload","response","allFinished","SUCCESS","_finished","dataBlocks","_i2","_step13","_this15","XMLHttpRequest","_iterator13","resolveOption","_finishedUploading","ontimeout","_handleUploadError","onprogress","_updateFilesUploadProgress","Accept","headerName","headerValue","setRequestHeader","formData","FormData","additionalParams","_getChunk","_step14","_iterator14","_file","_addFormElementData","_i3","submitRequest","_this16","doneCounter","_loop","_step15","_iterator15","inputName","_step16","_iterator16","selected","checked","_file2","loaded","_step17","_iterator17","readyState","responseType","responseText","getResponseHeader","parse","send","_step18","_iterator18","_step19","_iterator19","ERROR","_len2","objects","_key2","_i4","_objects","initClass","camelize","forElement","autoDiscover","discover","dropzones","checkElements","_step20","_iterator20","_step21","_iterator21","blockedBrowsers","capableBrowser","File","Blob","blacklistedBrowsers","_step22","_iterator22","dataURI","byteString","atob","mimeString","ab","ia","asc","rejectedItem","div","childNodes","els","_step23","_iterator23","_step24","_iterator24","question","rejected","_step25","mimeType","baseMimeType","_iterator25","validType","jQuery","ACCEPTED","PROCESSING","sw","sh","dw","dh","vertSquashRatio","naturalWidth","ih","naturalHeight","drawImage","getImageData","ey","py","ratio","detectVerticalSquash","KEY_STR","chr1","chr2","chr3","enc1","enc2","enc3","enc4","origFileBase64","resizedFileBase64","rawImage","decode64","segments","slice2Segments","image","exifManipulation","encode64","exifArray","getExifArray","newImageArray","insertExif","seg","imageData","buf","separatePoint","mae","ato","rawImageArray","head","endPoint","_autoDiscoverFunction","win","doc","root","rem","createEventObject","doScroll","frameElement","poll","contentLoaded","_processKeys","pascalize","decamelize","_isFunction","_isObject","_isArray","_isDate","_isRegExp","_isBoolean","_isNumerical","_processor","humps","convert","substr","camelized","separateWords","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","serializer","cycleReplacer","stack","thisPos","spaces","getSerialize","iteratee","baseEach","collection","copyObject","keysIn","Stack","arrayEach","assignValue","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","initCloneArray","initCloneByTag","initCloneObject","isBuffer","isMap","isSet","argsTag","funcTag","objectTag","cloneableTags","baseClone","bitmask","customizer","isDeep","isFlat","isFull","isArr","isFunc","stacked","subValue","SetCache","arrayIncludes","arrayIncludesWith","arrayMap","baseUnary","cacheHas","comparator","isCommon","valuesLength","outer","computed","valuesIndex","baseForOwn","baseGetTag","isObjectLike","basePickBy","hasIn","paths","baseGet","baseSet","castPath","isIndex","toKey","nested","objValue","eq","resIndex","seen","cloneArrayBuffer","dataView","reFlags","symbolProto","symbolValueOf","getSymbols","getSymbolsIn","arrayAggregator","baseAggregator","baseIteratee","initializer","isArrayLike","findIndexFunc","baseInverter","toIteratee","flatten","overRest","setToString","baseGetAllKeys","getPrototype","stubArray","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","Ctor","createAssigner","isPrototype","toNumber","nativeMax","nativeMin","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","trailing","invokeFunc","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","baseRest","isIterateeCall","objectProto","defaults","sources","guard","propsIndex","propsLength","baseDifference","baseFlatten","isArrayLikeObject","difference","createFind","baseFindIndex","pairs","pair","baseAssignValue","createAggregator","groupBy","baseIndexOf","isString","createInverter","identity","nativeObjectToString","invert","baseIsDate","nodeUtil","nodeIsDate","isDate","baseKeys","isArguments","baseIsEqual","other","baseIsMap","nodeIsMap","baseIsRegExp","nodeIsRegExp","baseIsSet","nodeIsSet","negate","pickBy","baseOrderBy","iteratees","orders","basePick","pick","flatRest","arraySome","baseSome","baseSortedUniq","baseSum","debounce","baseUniq","idCounter","baseValues","Mexp","formulaEval","pop1","pop2","pop3","disp","tokens","token","math","anchor","asin","atan","acosh","fact","tanh","atanh","mod","mul","asinh","sub","sigma","Pi","numberOfArguments","and","preced","precedence","type0","type1","type1Asterick","empty","type3Asterick","type6","newAr","str1","str2","indexOfToken","tokenize","Exception","tokenTypes","FUNCTION_WITH_ONE_ARG","NUMBER","BINARY_OPERATOR_HIGH_PRECENDENCE","CONSTANT","OPENING_PARENTHESIS","CLOSING_PARENTHESIS","DECIMAL","POSTFIX_FUNCTION_WITH_ONE_ARG","FUNCTION_WITH_N_ARGS","BINARY_OPERATOR_LOW_PRECENDENCE","BINARY_OPERATOR_PERMUTATION","COMMA","EVALUATED_FUNCTION","EVALUATED_FUNCTION_PARAMETER","SPACE","addToken","newTokens","changeSignObj","changeSign","closingParObj","openingParObj","lex","inp","ptc","inpStr","allowed","bracToClose","asterick","prevKey","cToken","cType","cEv","cPre","cShow","hasDec","parsed","isDegree","pro","choice","toRadian","inverse","low","high","ex","postfixEval","pow10x","sum","sinha","cosha","toPostfix","elem","popped","prep","ele","flag","UserDefined","bool","eval","QR8bitByte","MODE_8BIT_BYTE","getLength","put","QRBitBuffer","bufIndex","putBit","getLengthInBits","bit","QRPolynomial","multiply","gexp","glog","BitByte","RSBlock","BitBuffer","util","Polynomial","QRCode","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","addData","newData","isDark","row","col","getModuleCount","make","rsBlocks","getRSBlocks","totalDataCount","dataCount","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","beginFill","endFill","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","QRMath","LOG_TABLE","EXP_TABLE","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","Mode","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","errorCorrectLength","qrCode","sameCount","darkCount","hasElementType","Element","hasMap","hasSet","hasArrayBuffer","equal","$$typeof","isStyleObject","OTPInput","_a","_b","_c","numInputs","renderInput","_d","shouldAutoFocus","renderSeparator","placeholder","containerStyle","inputStyle","_f","activeInput","setActiveInput","inputRefs","getOTPValue","isInputNum","getPlaceholderValue","isInputValueValid","handleChange","changeCodeAtFocus","focusInput","handleInputChange","handleBlur","otp","select","handleOTPChange","otpValue","handlePaste","nextActiveInput","pastedData","onFocus","handleFocus","onBlur","onKeyDown","onPaste","autoComplete","textAlign","inputMode","onInput","_propTypes2","_react2","bgColor","oneOfType","bgD","fgColor","fgD","title","viewBoxSize","xmlns","QRCodeSvg","_objectWithoutProperties","_QRCode2","_ErrorCorrectLevel2","_QRCodeSvg2","level","qrcode","cells","rowIndex","cell","cellIndex","particles","lifetime","updateParticle","wobble","angle2D","angle3D","tiltAngle","differentiator","physics","elementCount","elementSize","spread","startVelocity","onAnimationComplete","emoji","X","once","reward","EmailShareButton","subject","openShareDialogOnClick","onClick","link","location","FacebookShareButton","quote","hashtag","windowWidth","windowHeight","LinkedinShareButton","summary","mini","TwitterShareButton","via","hashtags","related","extendStatics","__extends","__","__assign","__awaiter","_arguments","generator","reject","fulfilled","__generator","sent","trys","verb","__rest","ShareButton","openShareDialog","onShareWindowClose","windowPosition","onClose","configRest","toolbar","directories","menubar","scrollbars","resizable","centerscreen","chrome","shareDialog","interval_1","closed","windowOpen","outerWidth","screenX","screenLeft","outerHeight","screenY","screenTop","screen","getBoxPositionOnScreenCenter","handleClick","beforeOnClick","networkLink","opts","returnVal","render","disabledStyle","forwardedRef","networkName","resetButtonStyle","newClassName","newStyle","font","cursor","Component","optsMap","CreatedButton","passedProps","AssertionError","assert","objectToGetParams","updateRef","libRef","userRef","prevUserRef","HIDDEN_TEXTAREA_STYLE","forceHiddenStyles","hiddenTextarea","getHeight","sizingData","sizingStyle","boxSizing","borderSize","paddingSize","SIZING_STYLE","isIE","currentStyle","useListener","latestListener","ev","TextareaAutosize","cacheMeasurements","maxRows","minRows","_ref$onChange","_ref$onHeightChange","onHeightChange","isControlled","heightRef","measurementsCacheRef","resizeTextarea","nodeSizingData","borderRightWidth","borderLeftWidth","paddingRight","paddingLeft","paddingBottom","paddingTop","borderBottomWidth","borderTopWidth","getSizingData","_calculateNodeHeight","rowHeight","minHeight","maxHeight","calculateNodeHeight","fonts","useFontsLoadedListener","reduceFunctionCall","mexp","NESTED_CALC_RE","decimalPrecision","evaluateExpression","expression","functionIdentifier","evaluatedPart","nonEvaluatedPart","balancedExpr","evaluated","evaluateNestedExpression","uniqueUnits","uniqueLowerCaseUnits","unitRegEx","getUnitsInExpression","percent","toEvaluate","functionRE","expressions","fnRE","searchMatch","startIndex","SyntaxError","getFunctionCalls","evalFunctionCall","getCalculatedValues","polar","getDefaultMin","defaultZero","minY","maxY","defaultMin","_y","_x","getDataWithBaseline","enumerableOnly","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","getXAccessor","getYAccessor","getY0Accessor","getAreaFunction","interpolationFunction","getAngleAccessor","outerRadius","innerRadius","getCartesianArea","Area","ariaLabel","desc","evaluateProps","_props","pathComponent","groupComponent","userProps","renderLine","areaFunction","lineFunction","areaStroke","sharedProps","area","primitiveProps","interpolation","fallbackProps","VictoryAreaBase","_React$Component","animationWhitelist","shouldAnimate","animateComponent","renderContinuousData","component","standalone","renderContainer","containerComponent","baseProps","dataProps","dataComponent","labelComponent","renderInPortal","samples","sortKey","sortOrder","theme","grayscale","continuous","defaultTransitions","defaultPolarTransitions","getDomain","getBaseProps","modifiedProps","sharedEvents","disableInlineStyles","initialChildProps","childProps","eventKey","expectedComponents","VictoryArea","components","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","orientationSign","exists","getStyles","styleObject","axisLabel","grid","tickLabels","getTickProps","layout","getTickLabelProps","anchors","getGridProps","edge","getDefaultOrientations","originSign","positive","negative","getTransform","calculatedValues","axisValue","isVertical","tickStyle","labelStyle","tickSpacing","getTickTransform","tick","globalTransform","getGridEdge","getGridOffset","crossAxis","xPadding","yPadding","getLayoutProps","orientations","calculatedOrientation","orientationOffset","originOffset","originPosition","offsetX","offsetY","getHorizontalOffset","getOffset","stringTicks","labelPadding","tickSizes","totalPadding","minimumPadding","getStandaloneOffset","gridOffset","gridEdge","dependentAxis","generalAxisStyle","axisType","specificAxisStyle","curr","getStyleObject","getLabelPadding","axisDomain","axisScale","currentAxis","getCurrentAxis","getScale","xAxisDomain","yAxisDomain","xAxisScale","yAxisScale","defaultOrientations","dependent","independent","getOrientation","getAnchors","otherAxis","_getLayoutProps","axisProps","getAxisProps","axisLabelProps","hPadding","vPadding","getAxisLabelProps","gridProps","dimension","tickValue","_scale$axis","_scale$axis2","_scale$axis3","gridStyle","getEvaluatedStyles","tickLayout","gridLayout","VictoryAxisBase","axisComponent","axisLabelComponent","tickLabelComponent","gridComponent","shouldRender","componentProps","_componentProps$style","_componentProps$event","dataKeys","tickProps","BaseTickComponent","TickComponent","BaseGridComponent","GridComponent","gridAndTicks","isVictoryLabel","gridAndTick","childArr","labelsSumSize","paddingToObject","labelSize","letterSpacing","availiableLabelCount","divider","getLabelCoord","prev","VictoryAxis","renderGridAndTicks","modifiedGridAndTicks","fixLabelOverlap","renderLabel","onExit","onEnter","categories","eventHandlers","invertAxis","stringMap","tickCount","getAxis","alignment","barRatio","cornerRadius","getPath","_getBarPosition","getBarPosition","getCornerRadius","realCornerRadius","updateCornerRadius","getCornerRadiusFromObject","scalarMult","scalarDivide","equals","circle","center","hasIntersection","circle1","P0","P1","r0","r1","intersection","P2","P3s","Point1","Point2","solveX","solveY","getPosition","getAngle","transformAngle","mapPointsToPath","coords","topLeftPath","topRightPath","bottomLeftPath","bottomRightPath","command","getVerticalBarPath","points","cr","getHalfPoints","side","signL","bottomPoint","bottomMiddlePoint","topMiddlePoint","topPoint","topCenter","topCircle","bottomCenter","bottomCircle","circleIntersection","arcIntersection","newX","_newX","getVerticalBarPoints","getHorizontalBarPath","leftPoint","leftMiddlePoint","rightMiddlePoint","rightPoint","leftCenter","leftCircle","rightCenter","rightCircle","newY","_newY","topPoints","bottomPoints","getHorizontalBarPoints","getVerticalPolarBarPath","r2","currentAngle","angularRange","getAngularWidth","previousAngle","getStartAngle","lastAngle","nextAngle","getEndAngle","startAngle","endAngle","pathFunction","getPathData","rightPath","rightMoves","rightCoords","rightMiddle","leftPath","leftMoves","leftCoords","leftMiddle","topPath","moves","arcLength","_getPathData","leftOffset","isShort","rightOffset","defaultOffset","_defaultOffset","subMoves","subCoords","getTopPath","bottomPath","_getPathData2","getBottomPath","getBarPath","getCustomBarPath","baseStyle","getStyle","defaultBarWidth","extent","defaultWidth","getBarWidth","getPolarBarPath","VictoryBar","renderData","onLoad","before","after","yOffset","transformTarget","matrix","isNativeTouchEvent","identifier","getParentSVG","getParent","getSVGEventCoordinates","locationX","locationY","isReactTouchEvent","getScreenCTM","getTransformationMatrix","getDomainCoordinates","domainObj","getDataCoordinates","baseX","baseY","getBounds","point1","point2","makeBound","Helpers","getDimension","brushDimension","withinBounds","bounds","_mapValues2","_mapValues3","getDomainBox","fullDomain","selectedDomain","fullCoords","selectedCoords","getHandles","domainBox","minX","maxX","handleWidth","getActiveHandles","handles","activeHandles","opt","getResizeMutation","box","mutations","getMinimumDomain","getDefaultBrushArea","targetProps","cachedDomain","defaultBrushArea","allowResize","brushBox","parentSVG","pannedBox","panBox","brushDomain","startX","startY","fullDomainBox","constrainBox","getSelectionMutation","_mapValues4","constrainPoint","_mapValues5","hasMoved","mouseMoveThreshold","xMoved","yMoved","onMouseDown","cachedBrushDomain","allowDrag","allowDraw","_Selection$getSVGEven","currentDomain","mutation","isSelecting","isPanning","cachedCurrentDomain","onGlobalMouseMove","onBrushDomainChange","_Selection$getSVGEven2","constrainedBox","mutatedProps","_this$constrainPoint","_currentDomain","_mutatedProps","onGlobalMouseUp","onBrushDomainChangeEnd","onBrushCleared","defaultDomain","BrushHelpers","_class","VictoryBrushContainer","_base","brushStyle","brushComponent","brushComponentStyle","cursors","yProps","xProps","handleStyle","handleComponent","_BrushHelpers$getHand","handleComponentStyle","getCursorPointers","handleProps","selectBox","getSelectBox","getRect","defaultEvents","onTouchStart","onGlobalTouchMove","onGlobalTouchEnd","onGlobalTouchCancel","Background","circleComponent","cx","cy","rectComponent","ry","getArcPath","closedPath","halfAngle","x3","y3","largerArcFlag1","largerArcFlag2","arcStart","arc1","arc2","arcEnd","Arc","getAxisType","typicalType","invertedType","getRadius","_Helpers$getPadding","getRange","getAxisAngle","axisAngle","tickPadding","padAngle","tickAngle","tickRadius","labelPlacement","labelAngle","textAngle","labelRadius","_props$innerRadius","_props$theme","polarAxis","polarAxisType","standardAxisType","initialTicks","filterTicks","_modifiedProps$innerR","VictoryPolarAxis","circularAxisComponent","circularGridComponent","tickComponents","gridComponents","tickLabelComponents","renderAxisLine","renderGroup","renderAxis","getCalculatedProps","childComponents","styleProps","userSelect","allStrings","createStringMap","baseScale","getChildren","calculatedProps","getChildComponents","_calculatedProps","parentName","axisChild","getChildProps","newProps","defaultAxes","newChildComponents","axisComponents","prependDefaultAxes","VictoryChartImpl","initialProps","_Hooks$useAnimationSt","getAnimationProps","setAnimationState","getProps","externalEventMutations","axes","defaultPolarAxes","newChildren","mappedChildren","backgroundComponent","backgroundElement","xScale","xCoordinate","yCoordinate","backgroundProps","getBackgroundWithProps","containerProps","defaultContainerProps","previousProps","VictoryChart","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","custom","polyOut","polyInOut","halfPi","sinIn","sinOut","sinInOut","tpmt","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","b1","b2","b3","b4","b5","b6","b7","b8","b9","b0","bounceIn","bounceOut","bounceInOut","overshoot","backIn","backOut","backInOut","elasticIn","amplitude","period","elasticOut","elasticInOut","isInterpolatable","POSITIVE_INFINITY","NEGATIVE_INFINITY","interpolateImmediate","when","interpolateFunction","aval","bval","interpolateObject","keyData","victoryInterpolator","interpolateString","VictoryAnimation","ease","timer","loopID","functionToBeRunEachFrame","elapsed","animationInfo","animating","terminating","unsubscribe","traverseQueue","toNewName","animationTimer","prevProps","_this$queue","subscribe","contextType","ClipPath","clipId","VictoryClipContainer","_props$clipWidth","clipWidth","_props$clipHeight","clipHeight","_props$translateX","_props$translateY","clipPadding","clipComponent","renderClipComponent","groupProps","_props$clipWidth2","_props$clipHeight2","_props$translateX2","_props$translateY2","clipPathComponent","circleProps","rectProps","clipValues","translateValues","getClipValue","getTranslateValue","clipProps","renderClippedGroup","Portal","portalRegister","portalUpdate","forceUpdate","portalDeregister","VictoryContainer","portalRef","containerRef","shouldHandleWheel","savePortalRef","portal","saveContainerRef","handleWheel","onWheel","elementName","ouiaId","ouiaSafe","ouiaType","svgProps","portalComponent","portalZIndex","responsive","divStyle","portalDivStyle","svgStyle","portalSvgStyle","portalProps","preserveAspectRatio","getOUIAProps","getIdForElement","_this$props","sourceSymbolKeys","TSpan","getFontSize","baseSize","getSingleValue","shouldUseMultilineBackgrounds","backgroundStyle","backgroundPadding","getXCoordinate","labelSizeWidth","getYCoordinate","textHeight","_calculatedProps$orig","originalDy","getBackgroundElement","tspanValues","textElements","textSize","totalLineHeight","prevPadding","xOffset","childDy","heightWithPadding","widthWithPadding","textElement","xCoord","widths","centerOffset","getInlineXOffset","yCoord","getChildBackgrounds","_calculatedProps$dx","textSizes","tspan","capHeightAdjustment","getFullBackground","getTSpanDy","previousHeight","currentHeight","previousCaps","currentCaps","calculateSpanDy","getContent","getSingleStyle","getBackgroundStyles","getBackgroundPadding","getLineHeight","fontSizes","lineHeights","allHeights","getDy","defaultAngle","baseAngle","transformPart","rotatePart","VictoryLabel","capHeightPx","currentLineHeight","tspanComponent","textComponent","tspans","tspanProps","backgroundWithLabel","PortalContext","VictoryPortal","checkedContext","renderInPlace","portalKey","standardProps","renderPortal","Circle","vectorEffect","LineSegment","lineComponent","square","diamond","triangleDown","triangleUp","cross","minus","star","starCoords","charcoal","colorScale","baseLabelStyles","centeredLabelStyles","strokeLinejoin","boxplot","maxLabels","median","medianLabels","minLabels","q1","q1Labels","q3","q3Labels","boxWidth","candlestick","candleColors","chart","errorbar","borderWidth","histogram","legend","gutter","titleOrientation","pie","scatter","tooltip","flyoutStyle","flyoutPadding","pointerLength","voronoi","flyout","blueGrey50","blueGrey300","blueGrey700","grey900","VictoryTheme","material","polarDependentAxis","VictoryTransition","transitionProps","nodesShouldLoad","nodesDoneLoad","transitionTimer","nextProps","bypassAnimation","getTransitionState","resumeAnimation","parentState","oldProps","nodesWillExit","oldChildren","nextChildren","_Transitions$getIniti","nodesWillEnter","childrenTransitions","nodesShouldEnter","getChildDomains","childDomain","childDomains","_props$animate","_this$props$animate","pickProps","getTransitionProps","getTransitions","newState","getDomainFromChildren","pickDomainProps","getClipWidth","combinedProps","whitelist","propsToAnimate","datumHasXandY","defaultComponents","addEvents","WrappedComponent","AddEventsMixin","_WrappedComponent","getEventState","getScopedEvents","getEvents","externalMutations","getExternalMutations","calculatedState","getStateChanges","globalEvents","prevGlobalEventKeys","boundGlobalEvents","cacheValues","newMutation","applyExternalMutations","globalEventKeys","addGlobalListener","removeGlobalListener","boundListener","hasEvents","getSharedEventState","compiledCallbacks","componentEvents","getAllEvents","sharedParentState","baseParentProps","parentPropsList","parentControlledProps","parentProps","_this$componentEvents","baseEvents","defaultAnimationWhitelist","Comp","labelComponents","shouldRenderDatum","dataComponents","validDataComponents","_dataKey","findAxisComponents","findAxes","getAxisComponent","getAxisComponentsWithParent","findComponents","matchesType","getSingleOrigin","domainMin","domainMax","getOriginSign","getTickArray","ticksFromCategories","ticksFromStringMap","getStringTicks","tickArray","getTicksFromFormat","newTickArray","buildTickArray","getTickFormat","defaultTickFormat","fallbackFormat","invertedStringMap","dataNames","dataTicks","getDefaultTickFormat","scaleTickFormat","tickArrayIndices","filteredTickFormat","stringTickArray","downsampleTicks","filterZero","defaultTickCount","scaleTicks","filteredTicks","getDomainFromData","_props$startAngle","_props$endAngle","minDomain","maxDomain","tickStrings","defaultMax","initialDomain","inherentAxis","getAxisValue","scaleAxis","stringMapAxis","modifyProps","independentAxis","axisTheme","isNonEmptyArray","containsStrings","containsDates","containsOnlyStrings","isArrayOfArrays","removeUndefined","getMaxValue","getMinValue","CommonProps","domainPadding","childName","singleQuadrantDomainPadding","IMMUTABLE_ITERABLE","IMMUTABLE_RECORD","IMMUTABLE_LIST","isIterable","isImmutable","isRecord","shallowToJS","isList","parseDatum","errorX","errorY","generateDataArray","sortData","dataset","cleanData","smallNumber","scaleType","rules","sanitize","addEventKeys","hasEventKeyAccessor","eventKeyAccessor","formatDataFromDomain","defaultBaseline","minDomainX","maxDomainX","minDomainY","maxDomainY","underMin","overMax","isUnderMinX","isUnderMinY","isOverMaxX","isOverMaxY","baseline","stringsFromAxes","getStringsFromAxes","stringsFromCategories","getStringsFromCategories","stringsFromData","isArrayOrIterable","accessor","sortedData","dataArr","getStringsFromData","formatData","expectedKeys","defaultKeys","preformattedData","cleanedData","fallbackValues","processedValues","processedValue","formattedDatum","getCategories","xValues","yValues","generateData","categoryStrings","isDataComponent","getRole","continuousTransitions","continuousPolarTransitions","adjacent","attr","discreteTransitions","getExtremeFromData","getExtreme","initialValue","containsDate","current0","current1","padDomain","getMinFromProps","getMaxFromProps","formatPadding","getDomainPadding","rangeExtent","paddedRangeExtent","paddedDomainExtent","simplePadding","paddedDomain","adjust","initialPadding","adjustedDomain","finalPadding","finalDomain","getDomainFromMinMax","createDomainFunction","getDomainFromDataFunction","formatDomainFunction","formatDomain","propsDomain","getDomainFromProps","stringArray","categoryValues","categoryDomain","getSymmetricDomain","getDomainFromCategories","almostZero","dom","cleanDomain","_props$startAngle2","_props$endAngle2","axisKey","getFlatData","verySmallNumber","minVal","maxVal","getDomainWithZero","y0Min","maxDomainProp","minDomainProp","ensureZero","processedData","isDomainComponent","GLOBAL_EVENT_REGEX","getEventsByTarget","targetEvents","selectedEvents","targetKeys","allEvents","ownEvents","getSharedEvents","childType","getTargetProps","baseType","parseEvent","eventReturn","childNames","getMutationObject","mutationTargetProps","mutationTargetState","childState","updateState","extendState","filterState","getReturnByChild","mutationKeys","getKeys","allChildNames","onEvent","getCallback","callbackArray","evtObj","compileCallbacks","parseEventReturn","getPartialEvents","getExternalMutationsWithChildren","keyState","keyProps","getExternalMutation","targets","filterMutations","scopedMutations","targetMutations","keyMutations","currentMutation","getComponentEvents","componentName","_memo","getGlobalEventNameFromKey","getGlobalEvents","omitGlobalEvents","emulateReactEvent","omit","originalObject","ks","newObject","getPoint","_voronoiX","_voronoiY","defaultX","defaultY","scalePoint","getPadding","paddingVal","paddingObj","isTooltip","getDefaultStyles","tooltipStyle","defaultParent","defaultLabels","evaluateProp","evaluateStyle","degreesToRadians","radiansToDegrees","_getPadding","getPolarOrigin","_getPadding2","offsetWidth","offsetHeight","getPolarRange","getCartesianRange","createAccessor","themeProps","traverseChildren","childArray","isHorizontal","defaultObject","reduceChildren","initialMemo","combine","childRole","nestedChildren","nestedChildProps","_childNames","nestedResults","_slicedToArray","_arrayWithHoles","_s","_iterableToArrayLimit","_nonIterableRest","INITIAL_STATE","useAnimationState","initialState","_React$useState2","_setState","oldState","filteredState","childComponent","isContinuous","_nodesWillExit","usePreviousProps","defaultPadding","_Helpers$scalePoint","polarPadding","getDegrees","getPolarPadding","getLabelPlacement","defaultLabelPlacement","getText","getPolarTextAnchor","getPolarVerticalAnchor","getPolarOrientation","getPolarAngle","getTextAnchor","getVerticalAnchor","_getPosition","_getOffset","tooltipTheme","Bump","BumpRadial","p0","pointRadial","p3","bumpX","bumpY","bumpRadial","linkSource","linkTarget","argv","linkHorizontal","linkVertical","linkRadial","sqrt3","draw","tan30","tan30_2","kr","kx","ky","symbolsFill","triangle","wye","symbolsStroke","times","triangle2","asterisk","square2","diamond2","Basis","BasisClosed","BasisOpen","Bundle","beta","_basis","_beta","_x3","_x4","_y3","_y4","bundle","_k","Cardinal","cardinal","CardinalClosed","_x5","_y5","CardinalOpen","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","alpha","_alpha","x23","y23","catmullRom","CatmullRomClosed","CatmullRomOpen","LinearClosed","monotoneY","Natural","controlPoints","Step","stepBefore","stepAfter","series","stackValue","stackSeries","oz","sz","none","yp","yn","s2","si","sij0","s3","sk","peaks","peak","vi","vj","sums","ascending","appearance","tops","bottoms","px","i0","i1","capitalize","getInterpolationFunction","_props$openCurve","openCurve","interpolationName","toNewNameClosed","getLineFunction","makeChainable","validator","createChainable","propName","nullConstructor","undefinedConstructor","getConstructor","getConstructorName","deprecated","propType","explanation","allOfType","validators","nonNegative","greaterThanZero","homogeneousArray","comparisonConstructor","typeMismatchedValue","constructorName","otherConstructorName","copy","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","rescale","log10","log2","logp","powp","specifier","formatSpecifier","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","radial","squared","unsquare","rangeRound","valueof","compareDefined","compare","sd","quantile","value0","subarray","quantileSorted","thresholds","bisect","invertExtent","quantiles","quantize","millisecond","date","setTime","ticker","tickIntervals","tickInterval","bisector","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","setFullYear","utcDate","setUTCFullYear","newDate","locale","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekNumberMonday","parseFullYear","parseYear","parseZone","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","parseUnixTimestampSeconds","formatDayOfMonth","getDate","formatHour24","getHours","formatHour12","formatDayOfYear","formatMilliseconds","getMilliseconds","formatMicroseconds","formatMonthNumber","getMonth","formatMinutes","getMinutes","formatSeconds","getSeconds","formatWeekdayNumberMonday","getDay","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","getFullYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","getTimezoneOffset","formatUTCDayOfMonth","getUTCDate","formatUTCHour24","getUTCHours","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","getUTCMonth","formatUTCMinutes","getUTCMinutes","formatUTCSeconds","getUTCSeconds","formatUTCWeekdayNumberMonday","dow","getUTCDay","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","getUTCFullYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","utcTime","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","newFormat","newParse","utcParse","formatLocale","transformer","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","k21","piecewise","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","supportedScaleStrings","validScale","isScaleDefined","getScaleTypeFromData","axisData","getScaleFromName","getBaseScale","getScaleFromProps","getScaleFromDomain","getScaleType","getType","getScaleTypeFromProps","DUCK_TYPES","toTransformString","more","currentObj","getColorScale","scales","qualitative","heatmap","warm","cool","avg","Arial","Baskerville","Courier","cursive","fantasy","Geneva","Georgia","Helvetica","monospace","Overpass","Palatino","Seravek","serif","Tahoma","Verdana","absoluteMeasurementUnitsToPixels","mm","sm","pc","in","relativeMeasurementUnitsCoef","em","coefficients","_splitToLines","_getSizeWithRotate","axisSize","dependentSize","angleInRadian","_degreeToRadian","convertLengthToPixels","_length$match","_prepareParams","_approximateTextWidthInternal","_prepareParams2","fontData","fontMatch","_getFontData","cur","_approximateDimensionsInternal","_approximateTextHeightInternal","_getMeasurementContainer","containerElement","styleToKeyComponent","_measureDimensionsInternal","heightAcc","totalText","totalStyle","_approximateTextSizeInternal","__debugForceApproximate","approximateTextSize","taskHead","taskTail","pokeDelay","clockLast","clockNow","clockSkew","clock","setFrame","clearNow","Timer","_call","_time","_next","restart","wake","timerFlush","sleep","nap","poke","subscribers","activeSubscriptions","startTime","subscriptionID","TimerContext","getDatumKey","idx","getKeyedData","keyedData","getKeyedDataDifference","hasDifference","_difference","getChildData","getInitialTransitionState","oldChild","newChild","oldData","nextData","oldDataKeyed","nextDataKeyed","entering","exiting","getTransitionsFromChildren","old","getTransitionPropsFactory","transitionDurations","exit","load","cb","getChildOnLoad","getChildBeforeLoad","exitingNodes","getChildPropsOnExit","enteringNodes","getChildPropsOnEnter","getChildPropsBeforeEnter","getChildTransitionDuration","animationDuration","childTransitions","_animation","_animation2","getInitialChildProps","USER_PROPS_SAFELIST","exactMatch","testIfSafeProp","starterString","doesPropStartWith","isExactMatch","getSafeUserProps","propsToFilter","fromEntries","withSafeUserProps","getDataFromChildren","someChildrenAreHistograms","allChildrenAreHistograms","childBins","bins","combinedData","xAccessor","getFormattedHistogramData","getFormattedData","addBinsToParentPropsIfHistogram","datasets","childData","_stack","_group","getWidth","groupLength","seriesLength","_groupComponent$0$pro","dataLength","nestedChild","getDefaultDomainPadding","dataDomain","parentData","childScale","getChildStyle","childStyle","defaultFill","getColor","defaultColor","dataWidth","dataStyle","labelsStyle","getCategoryAndAxisStringsFromChildren","axisStrings","getStringsFromChildren","xStrings","yStrings","dataStrings","xName","yName","xPropCategories","yPropCategories","xCategories","yCategories","getLabelStyles","borderPadding","getColumn","itemsPerRow","getRow","groupData","labelStyles","symbolSpacer","column","getColumnWidths","gutterWidth","dataByColumn","lengths","getRowHeights","rowGutter","gutterHeight","dataByRow","getTitleDimensions","getTitleProps","borderProps","centerTitle","titleComponent","componentStyle","standardAnchors","getTitleStyle","yOrientation","standardPadding","getDimensions","groupedData","columnWidths","rowHeights","titleDimensions","_props2","_props2$x","_props2$y","titleOffset","gutterOffset","_getDimensions","contentHeight","contentWidth","getBorderProps","titleProps","Border","VictoryLegend","borderComponent","renderChildren","Curve","VictoryLineBase","VictoryLine","sliceStartAngle","sliceEndAngle","Slice","defaultRadius","slices","layoutFunction","getSlices","getSliceStyle","getLabelText","checkForValidText","getLabelProps","labelPosition","labelArc","arcRadius","getLabelArc","clonedArc","centroid","getLabelPosition","getBaseLabelAngle","getLabelAngle","degree","getLabelOrientation","VictoryPie","y_","disableInlineStyes","evaluatedText","getSymbol","bubbleProperty","getSize","minPadding","maxBubbleSize","minBubbleSize","zData","zMin","zMax","maxRadius","minRadius","maxArea","minArea","pointArea","getBubbleSize","VictoryScatterBase","VictoryScatter","VictorySharedEvents","sharedEventsCache","prevCacheValues","childBaseProps","getBasePropsFromChildren","parentBaseProps","_baseProps","alterChildren","childEvents","sharedEventsCacheValues","getCachedSharedEvents","evts","cacheSharedEvents","getNewChildren","parents","boundGetEvents","parentEvents","containerEvents","localEvents","getContainer","addLayoutData","firstDatasetBaseline","previousPoints","previousDatum","getTime","getY0","stackData","filterNullChildData","fillInMissingData","xMap","xKeys","xArr","indexOffset","fillData","useMemoizedProps","modifiedChildren","_child","withoutSharedEvents","setProps","colorScaleOptions","getLabels","VictoryStackBase","VictoryStack","componentConfig","getFlyoutPath","pointerWidth","centerX","centerY","pointerEdge","oppositeEdge","bottomEdge","topEdge","getHorizontalPath","rightEdge","leftEdge","getVerticalPath","Flyout","VictoryTooltip","placement","getVerticalOrientations","defaultLabelStyles","baseLabelStyle","defaultFlyoutStyles","baseFlyoutStyle","_this$getStyles","getDefaultOrientation","_this$getDimensions","flyoutHeight","flyoutWidth","evaluatedProps","flyoutDimensions","flyoutCenter","getFlyoutCenter","getDefaultAngle","flyoutExtent","constrainToVisibleArea","xSign","ySign","centerWithOffset","constrainTooltip","paddings","calculatedWidth","minWidth","calculatedHeight","_calculatedValues$dy","_calculatedValues$dx","activePoints","getLabelX","edges","gaps","flyoutComponent","pointerOrientation","getPointerOrientation","getEvaluatedProps","getFlyoutProps","renderTooltip","activateData","activate","deactivate","onMouseOver","onMouseOut","onTouchEnd","getDeps","initialDeps","depTime","debug","newDeps","dep","resultTime","depEndTime","resultEndTime","resultFpsPercentage","notUndefined","msg","targetWindow","ms","defaultKeyExtractor","defaultRangeExtractor","overscan","endIndex","observeElementRect","scrollElement","borderBoxSize","inlineSize","blockSize","addEventListenerOptions","supportsScrollend","observeElementOffset","isScrollingResetDelay","isScrolling","endHandler","measureElement","elementScroll","Virtualizer","unsubs","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","pendingMeasuredCacheIndexes","scrollRect","scrollOffset","scrollAdjustments","elementsCache","_ro","_measureElement","setOptions","opts2","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","scrollMargin","gap","indexAttribute","initialMeasurementsCache","lanes","notify","force","calculateRange","_didMount","_willUpdate","getScrollElement","_scrollToOffset","prevIsScrolling","getFurthestMeasurement","measurements","furthestMeasurementsFound","furthestMeasurements","lane","previousFurthestMeasurement","getMeasurementOptions","getMeasurements","measureElement2","key2","prevNode","resizeItem","furthestMeasurement","measuredSize","estimateSize","outerSize","findNearestBinarySearch","getIndexes","indexFromElement","attributeName","indexStr","cached","shouldAdjustScrollPositionOnItemSizeChange","getVirtualItems","indexes","virtualItems","getVirtualItemForOffset","getOffsetForAlignment","scrollSizeProp","maxOffset","getOffsetForIndex","isDynamicMode","cancelScrollToIndex","scrollToOffset","scrollToIndex","initialAlign","offsetAndAlign","latestOffset","getTotalSize","scrollToFn","getCurrentValue","useVirtualizerBase","rerender","resolvedOptions","instance2","flushSync","Open","Closed","Single","Multi","Focus","Other","Ye","OpenCombobox","CloseCombobox","GoToOption","RegisterOption","UnregisterOption","RegisterLabel","SetActivationTrigger","UpdateVirtualOptions","activeOptionIndex","domRef","Qe","comboboxState","calculateIndex","optionsRef","optionsPropsRef","static","virtual","Specific","resolveItems","resolveActiveIndex","resolveDisabled","resolveId","trigger","activationTrigger","isSelected","__demoMode","labelId","captureStackTrace","paddingBlockStart","paddingBlockEnd","env","JEST_WORKER_ID","overflowAnchor","RenderStrategy","Static","by","nullable","multiple","hold","labelRef","inputRef","buttonRef","isActive","closeCombobox","activeOption","goToOption","G","Re","registerOption","registerLabel","openCombobox","setActivationTrigger","selectActiveOption","Ae","Se","features","Hidden","closest","hidden","readOnly","ourProps","theirProps","slot","defaultTag","mt","ArrowDown","nextFrame","preventScroll","ArrowUp","Last","Escape","currentTarget","Tt","displayValue","Nothing","selectionStart","selectionDirection","Next","Previous","Home","shiftKey","First","PageUp","End","PageDown","Tab","relatedTarget","onCompositionStart","onCompositionEnd","NodeFilter","FILTER_REJECT","FILTER_SKIP","FILTER_ACCEPT","walk","visible","vt","dispose","wasMoved","onPointerEnter","onMouseEnter","onPointerMove","onMouseMove","onPointerLeave","onMouseLeave","qt","Input","Button","Label","Options","Option","cloneNode","OpenMenu","CloseMenu","GoToItem","Search","ClearSearch","RegisterItem","UnregisterItem","activeItemIndex","menuState","searchQuery","textValue","searchActiveItemIndex","Ie","itemsRef","Loose","onKeyUp","Items","Item","propsRef","ke","Empty","Active","ArrowLeft","WrapAround","Success","ArrowRight","firstOption","containsCheckedOption","change","addFlag","removeFlag","hasFlag","Description","removeAttribute","enterTo","leaveTo","enterFrom","leaveFrom","entered","transitionDuration","transitionDelay","Visible","Unmount","microTask","chains","register","unregister","onStop","appear","unmount","beforeEnter","beforeLeave","afterEnter","afterLeave","Opening","Closing","classes","Child","Root","toggleFlag","getRootNode","composed","composedPath","HTMLIFrameElement","acceptNode","createTreeWalker","SHOW_ELEMENT","nextNode","currentNode","NoScroll","Overflow","Underflow","Strict","Keyboard","Mouse","metaKey","altKey","ctrlKey","headlessuiFocusVisible","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","relativeTo","sorted","skipElements","isServer","platform","maxTouchPoints","ForwardRef","titleId","svgRef","fillRule","clipRule","composeRefs","useComposedRefs","composeContextScopes","scopes","baseScope","createScope","scopeHooks","createScope2","useScope","scopeName","overrideScopes","nextScopes","nextScopes2","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","useCallbackRef","callbackRef","useControllableState","defaultProp","uncontrolledProp","setUncontrolledProp","uncontrolledState","prevValueRef","useUncontrolledState","nextValue","value2","Presence","present","presence","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","machine","useStateMachine","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","animationName","handleAnimationStart","isPresent","node2","usePresence","only","mayWarn","isReactWarning","getElementRef","Slot","slotProps","childrenArray","slottable","isSlottable","jsx","SlotClone","childrenRef","mergeProps","Slottable","Fragment","overrideProps","slotPropValue","childPropValue","Primitive","primitive","asChild","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","createContextScopeDeps","defaultContexts","scopeContexts","defaultContext","scope","contexts","rootComponentName","BaseContext","consumerName","createContextScope","CheckboxProvider","useCheckboxContext","Checkbox","__scopeCheckbox","checkedProp","defaultChecked","onCheckedChange","checkboxProps","setButton","composedRefs","hasConsumerStoppedPropagationRef","isFormControl","setChecked","initialCheckedStateRef","jsxs","isIndeterminate","prevChecked","isPropagationStopped","BubbleInput","control","INDICATOR_NAME","CheckboxIndicator","forceMount","indicatorProps","inputProps","controlSize","inputProto","HTMLInputElement","Event","indeterminate","Indicator","$9f79659886946c16$export$e5c5a5f917a5871c","$409067139f391064$var$COLLAPSIBLE_NAME","$409067139f391064$var$createCollapsibleContext","$409067139f391064$export$952b32dcbe73087a","$409067139f391064$var$CollapsibleProvider","$409067139f391064$var$useCollapsibleContext","$409067139f391064$export$6eb0f7ddcda6131f","__scopeCollapsible","openProp","defaultOpen","onOpenChange","collapsibleProps","setOpen","contentId","onOpenToggle","prevOpen","$409067139f391064$var$getState","$409067139f391064$var$TRIGGER_NAME","$409067139f391064$export$c135dce7b15bbbdc","triggerProps","$409067139f391064$var$CONTENT_NAME","$409067139f391064$export$aadde00976f34151","contentProps","$409067139f391064$var$CollapsibleContentImpl","setIsPresent","widthRef","isOpen","isMountAnimationPreventedRef","originalStylesRef","rAF","$409067139f391064$export$be92b6f5f03c0fe9","$409067139f391064$export$41fb9f06171c75f4","$409067139f391064$export$7c6e2c02157bb7d2","hasCleanup","cleanups","DirectionContext","PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","useCollection","createCollectionScope","PROVIDER_NAME","createCollectionContext","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","ItemSlot","collectionNode","orderedNodes","createCollection","createSliderContext","createSliderScope","SliderProvider","useSliderContext","Slider","minStepsBetweenThumbs","onValueChange","onValueCommit","inverted","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","setValues","thumbs","valuesBeforeSlideStartRef","updateValues","atIndex","commit","decimalCount","getDecimalCount","snapToStep","rounder","roundValue","prevValues","nextValues","getNextSortedValues","minStepsBetweenValues","stepsBetweenValues","getStepsBetweenValues","hasMinStepsBetweenValues","hasChanged","__scopeSlider","onPointerDown","onSlideStart","closestIndex","closestDistance","getClosestValueIndex","onSlideMove","onSlideEnd","prevValue","onHomeKeyDown","onEndKeyDown","onStepKeyDown","stepDirection","multiplier","SliderOrientationProvider","useSliderOrientationContext","startEdge","endEdge","dir","slider","setSlider","rectRef","localDir","globalDir","useDirection","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","linearScale","SliderImpl","isBackKey","sliderRef","isSlidingFromBottom","setPointerCapture","pointerId","hasPointerCapture","onPointerUp","releasePointerCapture","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","SliderThumbImpl","thumbProps","totalValues","getLabel","orientationSize","thumbInBoundsOffset","halfWidth","getThumbInBoundsOffset","Track","Range","Thumb","ascendingBisect","bisectRight","descending","compare1","compare2","lo","hi","mid","e10","e5","e2","tickSpec","power","factor","i2","tickIncrement","tickStep","Color","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color_formatHex","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","Hsl","hslConvert","clamph","clampt","hsl2rgb","m1","m2","channels","displayable","formatHex8","formatHsl","prefixExponent","formatDecimal","coefficient","toExponential","toPrecision","formatRounded","formatPrefix","prefixes","grouping","thousands","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","nan","comma","formatTypes","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","formatDecimalParts","FormatSpecifier","nogamma","exponential","basis","v1","v2","v3","rgbGamma","rgbSpline","spline","genericArray","nb","na","reA","reB","am","bm","bs","one","band","ordinal","ordinalRange","pointish","bimap","d0","d1","polymap","untransform","initRange","initInterpolator","linearish","prestep","maxIter","InternMap","keyof","_intern","intern_get","intern_set","intern_delete","implicit","precisionPrefix","precisionRound","precisionFixed","timeDay","setHours","setDate","utcDay","setUTCHours","setUTCDate","unixDay","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","timeHour","utcHour","setUTCMinutes","timeInterval","floori","offseti","field","timeMinute","utcMinute","setUTCSeconds","timeMonth","setMonth","utcMonth","setUTCMonth","timeWeekday","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeYear","utcYear","years","weeks","hours","minutes","seconds","_date","dateWithMonths","dateWithDays","msToAdd","differenceInDays","dateLeft","dateRight","_dateLeft","_dateRight","compareLocalAsc","diff","subDays","amount","objectConstructor","normalizeArguments","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","defaultCountry","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","VALID_PUNCTUATION","_wrapNativeSuper","Class","_cache","_construct","Parent","ParseError","_Error","pa","pb","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","countries","typeOf","validateMetadata","setVersion","countryCode","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","_type2","Type","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","v4","getExtensionDigitsPattern","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","possibleSeparatorsNumberExtLabelNoComma","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseDigit","character","parseIncompletePhoneNumber","parsePhoneNumberCharacter","prevParsedCharacters","emitEvent","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","phone","isNumberTypeEqualTo","getPossibleCountriesForNumber","possibleCountries","_metadata","couldNationalNumberBelongToCountry","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","formattedNumber","carrierCode","internationalFormat","applyInternationalSeparatorStyle","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","addExtension","formatNationalNumber","formatRFC3966","fromCountry","fromCountryCallingCode","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatAs","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","chooseFormatForNumber","PhoneNumber","countryOrCountryCallingCode","_getCountryAndCountry","metadataJson","isCountryCode","getCountryAndCountryCallingCode","getMetadata","isNonGeographicCallingCode","phoneNumber","CAPTURING_DIGIT_PATTERN","extractNationalNumber","_extractNationalNumbe","prefixPattern","prefixMatch","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumberFromPossiblyIncompleteNumber","nationalNumberBefore","nationalNumberAfter","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","extractCountryCallingCode","isNumberWithIddPrefix","numberWithoutIDD","IDDPrefixPattern","matchedGroups","stripIddPrefix","_extractCountryCallin","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","shorterNumber","countryCallingCodeSource","_countryCallingCode","getCountryByCallingCode","nationalPhoneNumber","getCountryByNationalNumber","PLUS_SIGN","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","extractPhoneContext","isPhoneContextValid","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","_parseInput","extract","throwOnError","startsAt","_extractFormattedPhoneNumber","isViablePhoneNumberStart","withExtensionStripped","numberWithoutExtension","extractExtension","parseInput","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","exactCountry","parsePhoneNumber","hasSelectedNumberingPlan","__countryCallingCodeSource","valid","extended","possible","isSupportedCountry","parsePhoneNumberWithError","isPossiblePhoneNumber","_normalizeArguments","isPossible","withMetadataArgument","isValidPhoneNumber","isValid","isCheckBoxInput","isDateObject","isNullOrUndefined","isObjectType","getEventValue","isNameInFieldArray","getNodeParentName","isPlainObject","tempObject","prototypeCopy","isWeb","cloneObject","isFileListInstance","compact","isUndefined","isBoolean","isKey","stringToPath","tempPath","EVENTS","BLUR","FOCUS_OUT","CHANGE","VALIDATION_MODE","onSubmit","onTouched","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","getProxyFormState","formState","localProxyFormState","isRoot","defaultValues","_defaultValues","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","subscription","generateWatchOutput","_names","formValues","isGlobal","watch","fieldName","watchAll","useController","shouldUnregister","isArrayField","_name","_subjects","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","isLoading","dirtyFields","touchedFields","validatingFields","isValidating","errors","_updateFormState","_updateValid","useFormState","_registerProps","fieldState","invalid","isTouched","elm","_fields","setCustomValidity","reportValidity","_shouldUnregisterField","_options","updateMounted","mount","_updateDisabledField","Controller","appendErrors","validateAllFieldCriteria","getValidationModes","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","abortEarly","currentField","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isFunction","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","defaultReturn","getRadioValue","getValidateError","getValueAndMessage","validationData","validateField","disabledFieldNames","shouldUseNativeValidation","isFieldArray","minLength","validate","valueAsNumber","inputValue","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","unset","childObject","updatePath","isEmptyArray","createSubject","_observers","observers","isPrimitive","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","getFieldValue","selectedOptions","getResolverOptions","criteriaMode","getRuleValue","rule","ASYNC_FUNCTION","hasPromiseValidation","fieldReference","validateFunction","hasValidation","schemaErrorLookup","foundError","skipValidation","isSubmitted","reValidateMode","unsetEmptyArray","shouldFocusError","createFormControl","delayErrorCallback","submitCount","isSubmitting","isSubmitSuccessful","unMount","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldUpdateField","isPreviousDirty","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","previousFieldError","delayError","updateErrors","updatedFormState","shouldOnlyCheckValid","isFieldArrayRoot","isPromiseFunction","fieldError","getValues","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","fieldKey","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","executeSchemaAndUpdateState","shouldFocus","getFieldState","setError","currentError","currentRef","restOfErrorTree","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","radioOrCheckbox","_focusError","handleSubmit","onValid","onInvalid","onValidError","persist","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","fieldsToCheck","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","_getFieldArray","_resetDefaultValues","resetOptions","_disableForm","_setErrors","resetField","clearErrors","setFocus","shouldSelect","useForm","_formControl","_values","addPrefix","rawClassNames","insertDialCodeOnEmpty","trimNonDigitsEnd","charAfterDialCode","forceDialCode","disableDialCodeAndPrefix","defaultMask","countryGuessingEnabled","disableFormatting","dialCode","currentCountryIso2","iso2","phoneLeftSide","phoneRightSide","mask","maskSymbol","trimNonMaskCharsLeftover","maskChar","fullDialCodeMatch","phoneBeforeInput","toLocaleLowerCase","cursorPosition","phoneAfterInput","phoneAfterFormatted","cursorPositionAfterInput","deletion","overrideLastItemDebounceMS","ge","overrideLastItem","historySaveDebounceMS","disableCountryGuess","disableDialCodePrefill","setCountry","focusOnInput","handlePhoneValueChange","areaCodes","disableLazyLoading","loading","dialCodePrefix","selectedCountry","preferredCountries","onSelect","updatedAt","listItemClassName","listItemStyle","listItemFlagClassName","listItemFlagStyle","listItemCountryNameClassName","listItemCountryNameStyle","listItemDialCodeClassName","listItemDialCodeStyle","preferredListDividerClassName","preferredListDividerStyle","hideDropdown","renderButtonWrapper","buttonContentWrapperClassName","buttonContentWrapperStyle","flagClassName","flagStyle","dropdownArrowClassName","dropdownArrowStyle","rootProps","buttonClassName","buttonStyle","dropdownStyleProps","showDisabledDialCodeAndPrefix","disableFocusAfterCountrySelect","inputClassName","countrySelectorStyleProps","dialCodePreviewStyleProps","autoFocus","arcInnerRadius","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","cornerTangents","rc","ox","oy","x11","y11","x10","y10","x00","y00","d2","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","padRadius","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","oc","x32","y32","intersect","ax","ay","bx","kc","lc","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","_curve","curveRadialLinear","curveRadial","Radial","lineRadial","strings","digits","_append","appendRound","withPath","sortValues","arcs"],"sourceRoot":""}