{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/vue-plotly/dist/vue-plotly.umd.js","webpack:///./node_modules/core-js/internals/function-bind.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///../../../src/components/transitions/createTransition.ts","webpack:///../../../src/components/transitions/expand-transition.ts","webpack:///../../../src/components/transitions/index.ts","webpack:///./node_modules/core-js/modules/es.object.values.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VSheet/index.ts","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///../../../src/components/VIcon/VIcon.ts","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/mixins/delayable/index.ts","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/modules/es.string.anchor.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///../../../src/components/VOverlay/index.ts","webpack:///./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack:///./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack:///./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///../../../src/mixins/routable/index.ts","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///../../../src/mixins/stackable/index.ts","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///../../../src/components/VFileInput/VFileInput.ts","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///../../../src/mixins/measurable/index.ts","webpack:///../../../src/components/VSubheader/index.ts","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///../../../src/components/VTextField/index.ts","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///../../../src/mixins/loadable/index.ts","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/modules/es.object.is.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///../../../src/mixins/registrable/index.ts","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///../../../src/components/VChip/index.ts","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///../../../src/mixins/validatable/index.ts","webpack:///./node_modules/core-js/modules/es.string.repeat.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/modules/es.math.cbrt.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///../../../src/components/VThemeProvider/VThemeProvider.ts","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///../../../src/mixins/activatable/index.ts","webpack:///./node_modules/core-js/modules/es.reflect.construct.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///../../../src/mixins/groupable/index.ts","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../../src/directives/ripple/index.ts","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///../../src/util/mixins.ts","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///./node_modules/vuetify-loader/lib/runtime/installComponents.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/object-to-array.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///../../../src/components/VApp/VApp.ts","webpack:///../../../src/mixins/themeable/index.ts","webpack:///../../../src/mixins/detachable/index.ts","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///../../src/util/colorUtils.ts","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///../../../src/mixins/binds-attrs/index.ts","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///../../src/util/helpers.ts","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///../../../src/components/VBtn/VBtn.ts","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/create-html.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///../../../src/components/VCounter/VCounter.ts","webpack:///../../../src/components/VCounter/index.ts","webpack:///../../../src/mixins/intersectable/index.ts","webpack:///../../src/util/dom.ts","webpack:///../../../src/components/VTextField/VTextField.ts","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///../../../src/util/color/transformSRGB.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///../../../src/components/VData/VData.ts","webpack:///../../../src/mixins/menuable/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///../../../src/components/VDataIterator/VDataFooter.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/components/VDataIterator/VDataIterator.ts","webpack:///../../../../src/components/VDataTable/mixins/header.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack:///../../src/util/dedupeModelListeners.ts","webpack:///../../src/util/rebuildFunctionalSlots.ts","webpack:///../../../src/components/VDataTable/VDataTableHeader.ts","webpack:///../../../src/components/VDataTable/Row.ts","webpack:///../../../src/components/VDataTable/RowGroup.ts","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///../../../src/components/VDataTable/MobileRow.ts","webpack:///../../../src/components/VDataTable/VDataTable.ts","webpack:///../../../src/directives/intersect/index.ts","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/modules/es.string.link.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///../../../src/components/VCard/index.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/mixins/bootable/index.ts","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///../../../src/mixins/roundable/index.ts","webpack:///../../../src/directives/click-outside/index.ts","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///../../../src/mixins/proxyable/index.ts","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VBtnToggle/VBtnToggle.ts","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///../../../src/mixins/colorable/index.ts","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/string-html-forced.js","webpack:///../../../src/mixins/sizeable/index.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///../../../src/components/VCard/VCard.ts","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///../../../src/components/VLazy/VLazy.ts","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///../../../src/components/VDivider/index.ts","webpack:///../../../src/mixins/dependent/index.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///../../../src/components/VSlider/VSlider.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VInput/index.ts","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./node_modules/core-js/modules/es.string.fixed.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/modules/es.string.small.js","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.array.fill.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///../../../src/components/VChip/VChip.ts","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../../src/util/console.ts","webpack:///../../src/util/mergeData.ts","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///../../../src/directives/resize/index.ts","webpack:///./node_modules/core-js/modules/es.object.freeze.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///../../../src/mixins/returnable/index.ts","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///../../../src/mixins/toggleable/index.ts","webpack:///../src/install.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../src/locale/en.ts","webpack:///../../../src/presets/default/index.ts","webpack:///../../../src/services/service/index.ts","webpack:///../../../src/services/presets/index.ts","webpack:///../../../src/services/application/index.ts","webpack:///../../../src/services/breakpoint/index.ts","webpack:///../../../src/services/goto/easing-patterns.ts","webpack:///../../../src/services/goto/util.ts","webpack:///../../../src/services/goto/index.ts","webpack:///../../../../src/services/icons/presets/mdi-svg.ts","webpack:///../../../../src/services/icons/presets/md.ts","webpack:///../../../../src/services/icons/presets/mdi.ts","webpack:///../../../../src/services/icons/presets/fa.ts","webpack:///../../../../src/services/icons/presets/fa4.ts","webpack:///../../../../src/services/icons/presets/fa-svg.ts","webpack:///../../../../src/services/icons/presets/index.ts","webpack:///../../../src/services/icons/index.ts","webpack:///../../../src/services/lang/index.ts","webpack:///../../../src/util/color/transformCIELAB.ts","webpack:///../../../src/services/theme/utils.ts","webpack:///../../../src/services/theme/index.ts","webpack:///../src/framework.ts","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///../../../src/components/VMain/VMain.ts","webpack:///./node_modules/core-js/internals/math-sign.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///../../../src/mixins/positionable/index.ts","webpack:///./node_modules/core-js/internals/native-promise-constructor.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","$","flattenIntoArray","toObject","toLength","toInteger","arraySpeciesCreate","target","proto","flat","depthArg","O","this","sourceLen","A","root","factory","self","modules","installedModules","__webpack_require__","moduleId","i","l","m","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","0","incrementalConvexHull","orient","compareCell","compareCells","Simplex","vertices","adjacent","boundary","lastVisited","GlueFacet","cell","index","compareGlue","bakeOrient","code","push","proc","Function","join","flip","u","BAKED","Triangulation","dimension","simplices","interior","filter","tuple","Array","points","randomSearch","Error","initialSimplex","slice","initialCoords","initialCell","list","verts","j","adj","v","k","indexOf","triangles","useRandom","insert","handleBoundaryDegeneracy","point","toVisit","pop","cellAdj","neighbor","nv","vv","walk","random","initIndex","Math","outerLoop","cellVerts","prev","addPeaks","tovisit","glueFacets","indexOfN","indexOfNeg1","na","vverts","vadj","ncell","opposite","uu","nface","nptr","sort","ai","bi","cells","nc","bcell","cv","ptr","parity","tokenize","tokenizeString","str","opt","generator","tokens","concat","orientation","colormodel","rgb","min","max","fmt","suffix","rgba","hsl","hsla","createLinePlot","createBuffer","createVAO","createTexture","unpackFloat","bsearch","ndarray","shaders","createShader","createPickShader","identity","distance","sqrt","filterClipBounds","bounds","result","PickResult","tau","position","dataCoordinate","arcLength","LinePlot","gl","shader","pickShader","buffer","vao","texture","clipBounds","Infinity","vertexCount","pickId","lineWidth","dashScale","opacity","hasAlpha","dirty","pixelRatio","options","scene","attributes","location","nextPosition","color","defaultTexture","data","wrap","REPEAT","linePlot","update","isTransparent","isOpaque","pickSlots","setPickBase","id","drawTransparent","draw","camera","uniforms","model","view","projection","dashTexture","screenShape","drawingBufferWidth","drawingBufferHeight","TRIANGLE_STRIP","unbind","drawPick","connectGaps","arcLengthArray","pointArray","positions","colors","hadGap","fill_loop","acolor","bcolor","w0","isNaN","isFinite","isArray","t0","dashArray","dashes","prefixSum","unshift","set","le","setPixels","dispose","pick","selection","ti","x","dataIndex","colorscaleCalc","gd","trace","surfacecolor","vals","containerStr","cLetter","z","d3","isNumeric","NOTEDATA","text","displayLength","ts","notifierContainer","select","selectAll","enter","append","classed","notes","style","each","thisText","note","html","on","transition","killNote","lines","split","duration","delay","thisIndex","splice","remove","LINKEDFILLS","tonextx","tonexty","tonext","plotinfo","cdscatter","group","prevtrace","groupIndex","groupIndices","needsSort","prevGroupIndex","nextGroupIndex","prevUnstackedGroupIndex","stackgroup","fill","_groupIndex","cdscatterSorted","traceA","traceB","prevtraces","visible","_nexttrace","_prevtrace","_ownfill","substr","moduleType","basePlotModule","categories","meta","supplyDefaults","calc","plot","hoverPoints","selectPoints","clamp","dtype","isInt","Uint8Array","Uint8ClampedArray","type","Ctor","output","normalize","floor","wrapper","INSERT_SORT_CUTOFF","n0","insertionSort","quickSort","left","right","jptr","y","swap","move","rotate","shufflePivot","px","py","compare","comparePivot","sixth","index1","index5","index3","index2","index4","el1","el2","el3","el4","el5","less","great","tmp","pivot1X","pivot1Y","pivot2X","pivot2Y","ptr0","ptr2","ptr4","ptr5","ptr6","ptr7","i1","circle","square","diamond","cross","computeTickMarks","Axes","Lib","AXES_NAMES","centerPoint","contourLevelsFromTicks","ticks","tlevel","clevel","axesOptions","glRange","glplot","axesPixels","sceneLayout","fullSceneLayout","axes","_length","hi","lo","pixelsPerDataUnit","dataScale","abs","_input_range","range","_m","tickModeCached","tickmode","nticks","constrain","autoTicks","dataTicks","calcTicks","replace","contourLevels","assign","Calendars","regionalOptions","invalidCalendar","invalidDate","invalidMonth","invalidYear","differentCalendars","local","calendars","_localCals","CDate","calendar","year","month","day","_calendar","_year","_month","_day","_validateLevel","isValid","_exports","pad","substring","BaseCalendar","shortYearCutoff","GregorianCalendar","language","instance","toLowerCase","cal","newDate","substituteDigits","digits","digit","substituteChineseDigits","powers","localNumber","power","units","date","leapYear","epoch","formatYear","monthOfYear","weekOfYear","daysInYear","dayOfYear","daysInMonth","dayOfWeek","weekDay","extraInfo","add","offset","period","compareTo","toJD","fromJD","jd","toJSDate","fromJSDate","jsd","toString","today","_validate","Date","minMonth","minDay","epochs","monthsInYear","firstMonth","fromMonthOfYear","ord","daysInWeek","_correctAdd","_add","resyncYearMonth","yearMonths","ymd","e","hasYearZero","w","dir","valid","error","jdEpoch","daysPerMonth","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","dateFormat","firstDay","isRTL","checkDate","setHours","setMinutes","setSeconds","setMilliseconds","getHours","getFullYear","getMonth","getDate","cdate","baseCalendar","gregorian","warp","invert","applyHomography","dest","src","Xi","X","out_c","inp_c","wr","out","pt","cd","pointNumber","cdi","kerning","canvas","document","createElement","ctx","getContext","asciiPairs","createPairs","family","pairs","table","fs","threshold","fontSize","font","pair","width","measureText","kerningWidth","emWidth","leftChar","fromCharCode","rightChar","ascii","hover","makeHoverPointText","pointData","xval","yval","hovermode","stash","rArray","thetaArray","theta","scatterPointData","newPointData","subplot","isPtInside","xLabelVal","yLabelVal","Color","colorScaleAttrs","hovertemplateAttrs","baseAttrs","extendFlat","overrideAll","makeContourProjAttr","axLetter","valType","dflt","makeContourAttr","show","start","editType","end","size","project","defaultLine","usecolormap","highlight","highlightcolor","highlightwidth","attrs","arrayOk","hovertext","hovertemplate","connectgaps","colorAttr","showScaleDflt","autoColorDflt","editTypeOverride","contours","hidesurface","lightposition","lighting","ambient","diffuse","specular","roughness","fresnel","_deprecated","zauto","zmin","zmax","hoverinfo","showlegend","transforms","Plotly","register","fullLayout","labels","_subplot","ax","mockAxis","lonlat","lonLabel","tickText","c2l","latLabel","fullData","tracei","filli","tracej","xaxis","yaxis","clone","Float32Array","xmlnsNamespaces","LINE_SPACING","getSize","_selection","_dimension","node","getBoundingClientRect","FIND_TEX","convertToTspans","_context","_callback","tex","attr","MathJax","match","parent","parentNode","empty","svgClass","_promises","Promise","resolve","parseInt","config","texToSVG","_svgEl","_glyphDefs","_svgBBox","newSvg","showText","mathjaxGroup","appendChild","insertBefore","cloneNode","firstChild","height","preserveAspectRatio","overflow","g","stroke","newSvgW","newSvgH","newX","middle","textHeight","dy","transform","hasLink","buildSVGText","positionText","LT_MATCH","GT_MATCH","cleanEscapesForTex","_texString","_config","originalRenderer","originalConfig","originalProcessSectionDelay","tmpDiv","Hub","Queue","extendDeepAll","processSectionDelay","Config","messageStyle","tex2jax","inlineMath","displayAlign","menuSettings","renderer","setRenderer","randomID","randstr","visibility","Typeset","glyphDefs","log","svgBBox","TAG_STYLES","sup","sub","span","em","SHIFT_DY","RESET_DY","ZERO_WIDTH_SPACE","PROTOCOLS","NEWLINES","SPLIT_TAGS","ONE_TAG","BR_TAG","BR_TAG_ALL","STYLEMATCH","HREFMATCH","TARGETMATCH","POPUPMATCH","getQuotedMatch","_str","re","convertEntities","COLORMATCH","plainText","opts","len","allowedTags","ellipsis","eLen","oldParts","newParts","prevTag","tagType","pLen","pLen2","entityToUnicode","mu","amp","lt","gt","nbsp","times","plusmn","deg","ENTITY_MATCH","fullMatch","innerMatch","outChar","charAt","fromCodePoint","stringFromCodePoint","stringFromCharCode","containerNode","currentNode","nodeStack","currentLine","newLine","lineNode","createElementNS","svg","class","oldNodeStack","enterNode","nodeSpec","nodeType","nodeAttrs","href","popup","onclick","newNode","addTextNode","resetter","createTextNode","exitNode","innerNode","hasLines","parts","parti","tagStyle","extra","css","dummyAnchor","protocol","encodeURI","decodeURI","alignHTMLWith","_base","container","thisRect","getTop","getLeft","alignH","horizontalAlign","alignV","verticalAlign","bRect","cRect","bottom","top","lineCount","setOrGet","val","thisX","thisY","nodeName","makeEditable","context","_delegate","delegate","dispatch","handlerElement","handleClick","appendEditable","mathjaxClass","selectElementContents","_el","el","createRange","selectNodeContents","sel","window","getSelection","removeAllRanges","addRange","focus","plotDiv","div","cStyle","parseFloat","initialText","fontFamily","background","outline","margin","padding","contenteditable","_editing","textContent","edit","editDiv","event","activeElement","blur","which","cancel","input","immediate","rebind","_fullLayout","uid","splomScenes","_splomScenes","reset","first","matrix","selectBatch","unselectBatch","destroy","matrixOptions","eventData","animatable","fillText","makeHoverInfo","loc","flags","hasName","hasLocation","hasZ","hasText","hasIdAsNameLabel","nameOverride","zLabel","extraText","isInside","geo","_polygons","contains","x0","x1","xa","c2p","ct","y0","y1","ya","Drawing","DESELECTDIM","barStyle","resizeText","styleTextPoints","gTrace","di","isBlank","cont","marker","line","dashLine","dash","selectedpoints","selected","connector","lineGroupStyle","scatterAttrs","FORMAT_LINK","impliedEdits","xtype","dx","ytype","transpose","values","zsmooth","hoverongaps","xgap","ygap","zhoverformat","Registry","edits","transitionOpts","makeOnCompleteCallback","onComplete","t1","t2","raf","easeFn","ease","easing","_transitionData","_interruptCallbacks","cancelAnimationFrame","transitionInterrupt","now","requestAnimationFrame","doFrame","unsetSubplotTransform","_defs","clipId","setTranslate","setScale","_offset","traceGroups","setPointGroupScale","setTextPointsScale","hideOutsideRangePoints","updateSubplot","progress","xlen","ylen","editX","xr1","editY","yr1","viewBox","xr0","simpleMap","r2l","dx0","dx1","l2r","yr0","dy0","dy1","drawOne","skipTitle","redrawComponents","_id","xScaleFactor","yScaleFactor","clipDx","clipDy","fracDx","fracDy","plotDx","plotDy","clipRect","zoomScalePts","zoomScaleTxt","transitionComplete","aobj","_name","then","tInterp","isBuffer","obj","constructor","isSlowBuffer","readFloatLE","_isBuffer","rules","Y","selector","fullSelector","addStyleRule","createCamera","createAxes","axesRanges","createSpikes","createSelect","createFBO","drawTriangle","mouseChange","perspective","ortho","isMobile","tablet","MouseSelect","mouse","screen","dataPosition","roundUpPow10","round","base","pow","ceil","defaultBool","createScene","body","glOptions","premultipliedAlpha","antialias","preserveDrawingBuffer","accumBuffer","preferFloat","accumShader","isOrtho","cameraObject","_ortho","cameraOptions","eye","center","up","zoomMin","zoomMax","enable","disable","spikeOptions","spikes","objects","pickBufferIds","pickBufferCount","pickBuffers","pickDirty","cameraParams","viewShape","contextLost","shape","aspect","aspectRatio","pickRadius","zNear","zFar","fovy","PI","clearColor","autoResize","autoBounds","autoScale","autoCenter","clipToBounds","snapToData","onselect","onrender","oncontextloss","mouseListener","_stopped","getAspectratio","setAspectratio","aspectratio","setBounds","axisIndex","setClearColor","clearRGBA","clear","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","pickShape","resizeListener","clientWidth","clientHeight","innerWidth","innerHeight","nextWidth","nextHeight","reallocPickIds","numObjs","numPick","obj_loop","pickCount","nbuffer","checkContextLoss","isContextLost","enabled","renderPick","colorMask","depthMask","BLEND","DEPTH_TEST","depthFunc","LEQUAL","buf","begin","addEventListener","idx","removeEventListener","_mouseRotating","_prevButtons","enableMouseListeners","buttons","prevObj","change","query","objPick","coord","nBounds","prevBounds","redraw","cameraMoved","tick","obb","olo","ohi","boundsChanged","tickSpacing","calcCameraParams","axesBounds","bindFramebuffer","FRAMEBUFFER","viewport","CULL_FACE","hasTransparent","LESS","blendEquation","FUNC_ADD","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","render","maxS","schema","subplots","rangeselector","layoutAttributes","handleDefaults","counter","head","tail","openEnded","matchBeginning","fullTail","startWithPrefix","RegExp","toIndexedObject","nativeGetOwnPropertyNames","f","windowNames","getOwnPropertyNames","getWindowNames","it","pool","array","cube","bitmask","stride","scalar","pointer","delta","step","pcube","qcube","pdelta","vert","createSurfaceExtractor","VERTEX_IDS","PHASES","VERTEX_COUNT","POOL_SIZE","POINTER","TEMPORARY","permBitmask","mask","order","compileSurfaceProcedure","vertexFunc","faceFunc","phaseFunc","scalarArgs","typesig","arrayArgs","funcName","vars","args","ptrStr","stepVal","sizeVariable","cubeDelta","cubeStep","signFlag","jperm","forLoopBegin","forLoopEnd","fillEmptySlice","phaseFuncArgs","processGridCell","vertexPredicate","vertexArgs","corner","subset","edge","faceArgs","createLoop","procedureCode","mallocUint32","freeUint32","msg","arrays","arrayArguments","scalars","scalarArguments","vertex","phase","getters","nodeTextOffsetHorizontal","nodeTextOffsetVertical","nodePadAcross","sankeyIterations","forceIterations","forceTicksPerFrame","cn","sankey","sankeyLinks","sankeyLink","sankeyNodeSet","sankeyNode","nodeRect","nodeCapture","nodeCentered","nodeLabelGuide","nodeLabel","nodeLabelTextPath","histogram2dCalc","convertColumnData","clean2dArray","interp2d","findEmpties","makeBoundArray","binned","getFromId","isContour","traceIs","isHist","isGL2D","_minDtick","zIn","isArray1D","_x","_y","_z","makeCalcdata","_emptypoints","noZsmooth","_input","warn","avgdx","maxErrX","avgdy","maxErrY","maxRowLength","xIn","xArray","yIn","yArray","_extremes","findExtremes","cd0","_text","_hovertext","xCenter","yCenter","xRanges","yRanges","pts","coloring","dummyTrace","xcalendar","ycalendar","xfill","yfill","Plots","svgTextUtils","Titles","axAttrs","cleanTicks","constants","ONEAVGYEAR","ONEAVGMONTH","ONEDAY","ONEHOUR","ONEMIN","ONESEC","MINUS_SIGN","BADNUM","alignmentConstants","MID_SHIFT","CAP_SHIFT","OPPOSITE_SIDE","setConvert","autoType","axisIds","id2name","name2id","cleanId","listIds","getFromTrace","autorange","getAutoRange","coerceRef","containerIn","containerOut","extraOption","axlist","_subplots","refAttr","attrDef","coerce","coercePosition","axRef","cleanPos","pos","ensureNumber","fraction2r","cleanPosition","axIds","_redrawOneComp","moduleName","methodName","stashName","shortCircuit","method","getComponentMethod","indices","ind","getDataConversions","targetArray","d2cTarget","_categories","d2c","c2d","toNum","autoShiftNumericBins","binStart","dataMin","dataMax","edgecount","midcount","intcount","blankCount","nearEdge","dtick","dataCount","binshift","autoShiftMonthBins","stats","findExactDates","exactDays","numMonths","Number","exactYears","tickIncrement","exactMonths","nextBinStart","arrayTicks","tickvals","ticktext","ticksOut","rng","r0expanded","r1expanded","tickMin","tickMax","tickVal2l","d2l_noadd","d2l","vali","tickTextObj","getDataToCoordFunc","counterLetter","minDtick","newDiff","newFirst","allow","_forceTick0","saveRangeInitial","overwrite","axList","hasOneAxisChanged","isNew","_rangeInitial","hasChanged","saveShowSpikeInitial","allSpikesEnabled","_showSpikeInitial","showspikes","_showspikes","_cartesianSpikesEnabled","autoBin","nbins","is2d","dummyAx","aggNums","_dataSpan","c2r","tick0","size0","distinctData","distinctVals","msexp","minDiff","LN10","minSize","roundUp","stdev","binEnd","bincount","finalSize","tickFirst","prepTicks","minPx","nt","tickfont","autoTickRound","_tmin","startTick","endTick","axrev","tickVals","isDLog","xPrevious","maxTicks","minor","isAngular","_tmax","_prevDateHead","_inCalcTicks","roundBase10","roundBase24","roundBase60","roundDays","roundLog1","roundLog2","roundAngles","roundDTick","roughDTick","roundingSet","_tickexponent","_tickround","tick0ms","tick0str","tick0len","tick1len","map","r2d","maxend","rangeexp","isSIFormat","exponentformat","beyondSI","tf","fontColor","formatDate","extraPrecision","tr","hoverformat","getTickFormat","M","S","headStr","dateStr","_dateFormat","_extraFormat","splitIndex","formatLog","hideexp","tickformat","dtChar0","numFormat","mod","absP","exponentFormat","firstChar","formatCategory","tt","formatMultiCategory","cats","tt2","text2","formatLinear","showexponent","formatAngle","thetaunit","num","frac","num2frac","deg2rad","isNeg","almostEq","findGCD","findPrecision","precision","number","gcd","getBase","dateTick0","roughX2","olddtick","axSign","tType","dtSigned","incrementMonth","tickset","x2","sRound","r0","tmin","dtNum","mult","newDTick","cnt","noSuffixPrefix","arrayMode","axType","isHidden","showAttr","firstOrLast","last","tickprefix","showtickprefix","ticksuffix","showticksuffix","tickson","showdividers","inbounds","l2p","xbnd","hoverLabelText","val2","logOffScale","tx","SIPREFIXES","exponent","fmtoverride","tickRound","separatethousands","ah","_numFormat","signedExponent","dp","numSeparate","_separators","getBoundaryVals","_push","bndIndex","xb","getSecondaryLabelVals","lookup","interp","getDividerVals","current","calcLabelLevelBbox","cls","_selections","thisLabel","selectTickLabel","bb","bBox","tickDataFn","axInfo","drawDividers","dividers","layer","exit","dividercolor","crispRound","dividerwidth","transFn","path","approxTitleDepth","title","extraLines","drawTitle","titleStandoff","axId","_depth","standoff","offsetBase","linewidth","side","showticklabels","avoid","getPxPosition","tickLabels","translation","getTranslate","offsetLeft","offsetTop","propContainer","propName","placeholder","_dfltTitle","clipEnds","anyCounterAxLineAtZero","counterAxis","mainCounterAxis","_mainAxis","zeroPosition","_plots","_mainSubplot","mainplotinfo","overlays","lineNearZero","counterLetterAxes","counterAxis2","ax2","showline","tolerance","zerolinewidth","closeEnough","pos2","_mainLinePosition","_mainMirrorPosition","linePositions","_linepositions","hasBarsOrFill","_fullData","gTick","mj","axAutoMarginID","axMirrorAutoMarginID","rangeSliderAutoMarginID","makeAxisGroups","traces","groups","groupsi","xi","yi","groupj","group0","mergeAxisGroups","intoSet","fromSet","swapAxisGroup","xIds","yIds","xFullAxes","yFullAxes","layout","allAxKeys","keys","noSwapAttrs","numericTypes","keyi","xVal","yVal","allEqual","coerceLinearX","coerceLinearY","xVali","yVali","swapAxisAttrs","annotations","ann","xref","yref","swapAttrs","dfltTitle","np","nestedProperty","tickstop","stopi","convertToMs","compareLogTicks","priority","leftPriority","rightPriority","isProperStop","convert","convertFn","leftDtick","rightDtick","isProperLogStop","isLeftDtickNull","isRightDtickNull","isDtickInRangeLeft","isDtickInRangeRight","tickformatstops","dtickrange","getSubplots","subplotObj","allSubplots","cartesian","gl2d","findSubplotsWithAxis","aParts","bParts","axMatch","subplotsWithAx","sp","makeClipPaths","_hasOnlyLargeSploms","fullWidth","fullHeight","xaList","yaList","clipList","axClips","_clips","_uid","arg","_paper","xaxislayer","yaxislayer","gridlayer","zerolinelayer","_infolayer","syncOrAsync","axDone","_r","_rl","mainLinePosition","mainMirrorPosition","mainPlotinfo","mainAxLayer","_vals","mirror","_tickAngles","_prevTickAngles","llbboxes","getLabelLevelBbox","valsClipped","makeTransFn","boundaryVals","gridVals","_gridVals","dividerVals","_subplotsWith","finishedGrids","mainCounterID","gridPath","drawGrid","drawZeroLine","tickSigns","getTickSigns","tickSubplots","mirrorTickPath","fullTickPath","tickPath","mainTickPath","makeTickPath","_anchorAxis","dividerLookup","drawTicks","linepositions","spTickPath","seq","drawLabels","labelFns","makeLabelFns","bboxKey","repositionOnUpdate","secondary","hasRangeSlider","llbbox","mirrorPush","rangeSliderPush","sMirror","outsideTickLen","ticklen","automargin","domainIndices","reverse","rExtra","xr","lExtra","xl","bExtra","yb","tExtra","yt","anchor","domain","_counterDomainMin","_counterDomainMax","autoMargin","sideOpposite","main","shift","sgn","angle","ticksOnOutsideLabels","labelStandoff","labelShift","rad","cos","sin","ff","flipIt","xFn","yFn","anchorFn","heightFn","h","tickangle","crisp","tickcolor","tickwidth","counterAx","showgrid","shouldShowZeroLine","isArrayMode","grid","_gw","gridwidth","gridcolor","zl","da","db","idSort","zerolinecolor","tickAngle","prevAngle","labelsReady","positionLabels","nLines","lineHeight","anchorHeight","mjWidth","mjShift","allLabelsReady","all","newPromise","autoangle","fixLabelOverlaps","maxFontSize","lbbArray","vLen","rotate90","bBoxIntersect","gap","lbb","_redrawFromAutoMarginCount","done","anchorAxis","gs","_size","zeroline","allowAutoMargin","axGroups","v100","kernels","gaussian","exp","makeKDE","calcItem","kernel","bandwidth","factor","sum","getPositionOnKdePath","valuePx","posLetter","valLetter","pointOnPath","findPointOnPath","pathLength","posCenterPx","posOnPath0","posOnPath1","getKdeValue","valueDist","extractVal","kde","posDensityScale","Iterator","callable","autoBind","defineProperties","TypeError","__list__","__context__","__nextIndex__","_onAdd","_onDelete","_onClear","_next","__redo__","_unBind","next","_createResult","_resolve","off","forEach","redo","iterator","_supply","layoutIn","layoutOut","traceType","category","hasTraceType","supplyLayoutDefaults","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","DEFAULT_NORMALS_EPSILON","DEFAULT_FACE_EPSILON","vertexNormals","faces","specifiedEpsilon","N","normals","epsilon","v0","v1","v2","d01","m01","d21","m21","norm","faceNormals","traceIn","traceOut","handleCalendarDefaults","minRowLength","Scene2D","layoutGlobalAttrs","Cartesian","fxAttrs","getSubplotData","idRoot","idRegex","attrRegex","_has","layoutAttrOverrides","baseLayoutAttrOverrides","plot_bgcolor","hoverlabel","subplotIds","subplotId","fullSubplotData","_scene2d","graphDiv","querySelector","staticPlot","plotGlPixelRatio","calcdata","clean","newFullData","newFullLayout","oldFullData","oldFullLayout","oldSceneKeys","oldSubplot","subplotData","drawFramework","toSVG","imageData","toImage","image","_glimages","xmlns","updateFx","dragmode","sprintf","glConstants","shaderName","addLineNumbers","formatCompilerError","errLog","typeName","FRAGMENT_SHADER","longForm","shortForm","errorStrings","errors","errorString","lineNo","trim","long","short","colorscaleDefaults","defaultColor","supplyIsoDefaults","isomin","isomax","dim","capDim","showCap","sliceDim","showSlice","showSpaceframe","showSurface","showContour","prefix","projNames","axesNames","lonaxisSpan","lataxisSpan","scopeDefaults","world","lonaxisRange","lataxisRange","projType","projRotate","usa","europe","projParallels","asia","africa","clipPad","landColor","waterColor","locationmodeToLayer","sphereSVG","fillLayers","ocean","land","lakes","lineLayers","subunits","countries","coastlines","rivers","frame","layers","layersForChoropleth","layerNameToAdjective","doubleBits","SMALLEST_DENORM","UINT_MAX","nextafter","NaN","pack","solid","dot","longdash","dashdot","longdashdot","crossTraceCalc","colorbar","formatLabels","styleOnSelect","countryRegex","turfArea","turfCentroid","turfBbox","loggers","isPlainObject","polygon","countryIds","locationmodeToIdFinder","countryNameToISO3","countryName","iso3","regex","locationToFeature","locationmode","features","filteredFeatures","locationId","properties","gu","feature2polygons","feature","appendPolygon","geometry","coords","coordinates","polygons","doesCrossAntiMerdian","_pts","tester","crossAntiMeridianIndex","stitch","si","getTraceGeojson","geojson","PlotlyGeoAssets","geojsonIn","extractTraceFeature","calcTrace","featuresOut","appendFeature","fIn","featureidkey","fOut","findCentroid","featuresIn","poly","maxArea","polyi","area","default","fetchTraceGeoData","calcData","promises","fetch","url","reject","json","err","status","wait","interval","setInterval","clearInterval","computeBbox","rat","mul","muls","sign","bn2num","words","scaleAndAdd","scale","hasColorscale","calcColorscale","subTypes","hasMarkers","StringIterator","setPrototypeOf","__length__","char","charCodeAt","keyFun","repeat","descend","unwrap","__webpack_exports__","nodes","force","sx","sy","initialize","_","constant","jiggle","add_add","cover","tree","xm","ym","xp","yp","_root","leaf","_x0","_y0","_x1","_y1","addAll","xz","yz","src_data","visit","extent","src_quad","find","radius","y2","q","x3","y3","quads","d2","retainer","previous","removeAll","callback","child","visitAfter","defaultX","src_x","defaultY","src_y","quadtree","Quadtree","leaf_copy","copy","treeProto","collide_x","vx","collide_y","vy","source","collide","radii","strength","iterations","ri","ri2","prepare","quad","rj","link_find","nodeById","nodeId","src_link","links","strengths","distances","count","bias","defaultStrength","link","alpha","initializeStrength","initializeDistance","noop","Dispatch","parseTypenames","typenames","types","typename","T","taskHead","taskTail","src_dispatch","timer_frame","timeout","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","setFrame","setTimeout","clearNow","Timer","_call","_time","timer","time","restart","timerFlush","wake","nap","poke","sleep","clearTimeout","simulation_x","simulation_y","stop","initialRadius","initialAngle","src_simulation","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","fx","fy","initializeNodes","initializeForce","closest","manyBody","distanceMin2","distanceMax2","theta2","accumulate","weight","distanceMin","distanceMax","radial","radiuses","d3_force_src_x","d3_force_src_y","lookupCarpet","setContours","heatmappishCalc","a0","b0","carpet","_carpetTrace","aax","aaxis","bax","baxis","_a","_b","carpetdata","tracedata","_defaultColor","calcMarkerSize","TOO_MANY_POINTS","radialAxis","radialaxis","angularAxis","angularaxis","_theta","ppad","sizeAvg","twoProduct","robustSum","robustDiff","robustScale","NUM_EXPAND","cofactor","generateSum","expr","makeProduct","toks","determinant","makeSquare","terms","neg","posExpr","negExpr","funcArgs","inSphere0","inSphere1","inSphere2","CACHED","slowInSphere","generateInSphereTest","procArgs","linearOK","moreDates","inc","dcnt","ncnt","seen","stri","isDateTime","curvenums","curvecats","cleanNumber","multiCategory","isArrayOrTypedArray","noMultiCategory","gregorianCalendar","TaiwanCalendar","yearsOffset","_t2gYear","_g2tYear","taiwan","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","TAU","mapToEllipse","_ref","rx","ry","cosphi","sinphi","centerx","centery","approxUnitArc","ang1","ang2","tan","vectorAngle","ux","uy","acos","getArcCenter","cx","cy","largeArcFlag","sweepFlag","pxp","pyp","rxsq","rysq","pxpsq","pypsq","radicant","centerxp","centeryp","vx1","vy1","vx2","vy2","arcToBezier","_ref2","_ref2$xAxisRotation","xAxisRotation","_ref2$largeArcFlag","_ref2$sweepFlag","curves","lambda","_getArcCenter","_getArcCenter2","ratio","segments","curve","_mapToEllipse","_mapToEllipse2","_mapToEllipse3","arraysToCalcdata","binFunctions","normFunctions","doAvg","getBinSpanLabelRound","i2","pa","mainData","counterData","cumulativeSpec","cumulative","binsAndPos","calcAllAutoBins","binSpec","pos0","nonuniformBins","binEdges","bins","counts","inputPoints","total","histnorm","func","histfunc","densityNorm","rawCounterData","extremeFunc","sizeInit","binFunc","normFunc","isAvg","pr2c","r2c","roundFn","nMax","uniqueValsPerBin","leftGap","rightGap","ptNumber2cdIndex","posi","findBin","cdf","direction","currentbin","seriesLen","firstNonzero","lastNonzero","ph0","ph1","width1","tagSelected","_overlayEdgeCase","autoVals","binAttr","groupName","binOpts","_histogramBinOpts","isOverlay","barmode","cleanBound","cleanDate","setBound","newBins","allPos","isFirstVisible","has2dMap","hasHist2dContour","mainDatai","dirs","_autoBin","newBinSpec","sizeFound","handleSingleValueOverlays","traceInputBins","traceBinOptsCalc","mainStart","startIn","hasStart","startFound","traceStart","newStart","mainEnd","endIn","hasEnd","endFound","traceEnd","autoBinAttr","overlaidTraceGroup","getConnectedHistograms","pastThisTrace","singleValuedTraces","resulti","binSpeci","isSingleValued","dataVals","xid","yid","currentBin","vi","prevSum","firstHalfPoint","nextHalfPoint","prevRow","thisPt","neighborCount","newNeighborHash","foundNewNeighbors","empties","neighborHash","noNeighborList","nextRow","row","blank","rowLength","handleSampleDefaults","handleContoursDefaults","handleStyleDefaults","coerce2","Colorscale","constHalf","lineColor","cscale","extractOpts","colorscale","cdimage","imageLayer","makeTraceGroups","temp","plotGroup","imageWidth","imageHeight","isOffScreen","noImage","ipx","jpx","ipx0","ipx1","jpx0","jpx1","_scaler","fillStyle","fillRect","image3","toDataURL","getAxisGroup","Sieve","fullTraces","calcTraces","calcTracesHorz","calcTracesVert","fullTrace","barnorm","bargap","groupgap","bargroupgap","setGroupPositions","sa","excluded","included","initBase","setGroupPositionsInOverlayMode","setGroupPositionsInGroupMode","setGroupPositionsInStackOrRelativeMode","collectExtents","scalendar","hasB","hasBase","sieve","sepNegVal","overlapNoMerge","setOffsetAndWidth","sieveBars","normalizeBars","setBaseAndTop","setOffsetAndWidthInGroupMode","unhideBarsWithinTrace","stackBars","bar","isOutmostBar","_outmost","barGroupWidth","barWidthPlusGap","barWidth","offsetFromCenter","barwidth","poffset","bargroupwidth","bardelta","binWidth","applyAttributes","setBarCenterAndWidth","updatePositionAxis","distinctPositions","nTraces","overlap","groupId","alignmentGroups","_alignmentOpts","alignmentGroupOpts","alignmentgroup","nOffsetGroups","offsetGroups","_offsetIndex","newPoffset","calcTrace0","initialPoffset","_width","initialBarwidth","newBarwidth","pLetter","getAxisLetter","poffsetIsArray","barwidthIsArray","calcBar","allowMinDtick","vpad","calcBarOffset","calcBarWidth","padded","sLetter","allBaseAboveZero","tozero","isFunnel","put","inTraceSieve","sTop","sTiny","sMin","l2c","sMax","needsPadding","extents","pMin","pMax","roundFactor","p0","p1","pVal","s0","s1","fails","cellPad","columnExtentOffset","columnTitleOffset","emptyHeaderHeight","latexCheck","goldenRatio","lineBreaker","maxDimensionCount","overdrag","releaseTransitionDuration","releaseTransitionEase","scrollbarCaptureWidth","scrollbarHideDelay","scrollbarHideDuration","scrollbarOffset","scrollbarWidth","transitionDuration","transitionEase","uplift","wrapSpacer","wrapSplitCharacter","tableControlView","scrollBackground","yColumn","columnBlock","scrollAreaClip","scrollAreaClipRect","columnBoundary","columnBoundaryClippath","columnBoundaryRect","columnCells","columnCell","cellRect","cellText","cellTextHolder","scrollbarKit","scrollbar","scrollbarSlider","scrollbarGlyph","scrollbarCaptureZone","twoSum","scaleLinearExpansion","pq","bv","scales","sequential","Reds","sequentialminus","Blues","diverging","RdBu","coloraxis","_isSubplotObj","noColorAxis","barAttrs","lineAttrs","texttemplateAttrs","directionAttrs","dirTxt","measure","eventDataKeys","textinfo","extras","texttemplate","textposition","insidetextanchor","textangle","textfont","insidetextfont","outsidetextfont","constraintext","cliponaxis","increasing","decreasing","totals","offsetgroup","tubex","tubey","tubez","tubeu","traceCoordinate","tubev","tubew","divergence","handleXYDefaults","handleStackDefaults","handleMarkerDefaults","handleLineDefaults","handleLineShapeDefaults","handleTextDefaults","handleFillColorDefaults","stackGroupOpts","defaultMode","PTS_LINESONLY","gradient","dfltHoverOn","fillDflt","markerColor","hoveron","errorBarsSupplyDefaults","axis","inherit","coerceSelectionMarkerOpacity","csr","BN","cmp","1","mergeArray","customdata","mergeArrayCastPositive","symbol","markerLine","markerGradient","fontAttrs","anim","groupnorm","stackgaps","smoothing","simplify","fillcolor","symbolList","maxdisplayed","sizeref","sizemin","sizemode","unselected","colorEditType","getTopojsonFeatures","geoJsonUtils","geoUtils","scatterLayer","frontplot","gTraces","removeBADNUM","lineCoords","calcTraceToLineCoords","lineData","makePolygon","makeLine","calcPt","calcGeoJSON","geoLayout","locations","topojson","lonArray","latArray","fitbounds","bboxGeojson","lon","lonaxis","_ax","lat","lataxis","makeBubbleSizeFn","convertTextOpts","appendArrayPointValue","initContainer","makeBlank","paint","makeCircleOpts","colorFn","sizeFn","opacityFn","arrayColor","arraySize","arrayOpacity","addTraceOpacity","size2radius","makeColorScaleFuncFromTrace","mo","mo2","fns","isBADNUM","props","mcc","mc","mrc","ms","makeSelectedPointStyleFns","selectedOpacityFn","selectedColorFn","selectedSizeFn","makeSymbolGeoJSON","fillSymbol","getFillFunc","blankFillFunc","_module","pointValues","_meta","texttemplateString","_d3locale","mx","isVisible","hasFill","hasCircles","hasSymbols","circleOpts","iconSize","textOpts","choroplethAttrs","below","Template","handleDomainDefaults","defaults","subplotLayoutIn","subplotLayoutOut","subplotType","subplotAttributes","partition","ids","idsLength","baseId","newContainer","uirevision","dfltDomains","filterOps","coerceValue","operation","coercedValue","hasArrayValue","COMPARISON_OPS2","INTERVAL_OPS","SET_OPS","makeRangeSettings","makeInequalitySettings","sampleLetter","aggLetter","hasAggregationData","handleSubplotDefaults","handleTickValueDefaults","handleTickMarkDefaults","handleTickLabelDefaults","handleCategoryOrderDefaults","handleLineGridDefaults","axisNames","contIn","contOut","bgColor","combine","paper_bgcolor","sector","axName","coerceAxis","axIn","axOut","_attr","_traceIndices","_expandedIndex","dataAttr","axisName2dataArray","handleAxisTypeDefaults","axData","dfltColor","dfltFontColor","autoRange","isValidRange","cleanRange","dfltRange","coerceFont","counterclockwise","clockwise","tickSuffixDflt","outerTicks","showTickLabels","blend","showLine","showGrid","noZeroLine","undoCommands","isExecuting","execute","command","action","setCallback","callbackFunc","undo","hasUndo","hasRedo","getCommands","getPreviousCommand","getIndex","Scene","GL3D","SCENE","counterRegex","sceneIds","sceneId","fullSceneData","_scene","viewInitial","oldSceneKey","sceneNum","process","global","objectOrFunction","isFunction","_isArray","vertxNext","customSchedulerFn","asap","queue","flush","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","importScripts","MessageChannel","useNextTick","nextTick","useVertxTimer","useMutationObserver","observer","observe","characterData","useMessageChannel","channel","port1","onmessage","port2","postMessage","useSetTimeout","globalSetTimeout","attemptVertx","vertx","runOnLoop","runOnContext","onFulfillment","onRejection","_arguments","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","Constructor","promise","PENDING","FULFILLED","REJECTED","GET_THEN_ERROR","ErrorObject","selfFulfillment","cannotReturnOwn","getThen","tryThen","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_reject","_label","handleOwnThenable","handleMaybeThenable","maybeThenable","then$$","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","TRY_CATCH_ERROR","tryCatch","hasCallback","succeeded","failed","initializePromise","resolver","nextId","Enumerator","_instanceConstructor","_remaining","_enumerate","validationError","entries","race","needsResolver","needsNew","polyfill","promiseToString","cast","_eachEntry","entry","resolve$$","_then","_settledAt","_willSettleAt","state","enumerator","_setScheduler","_setAsap","_asap","versions","getPrototypeOf","d3Hierarchy","makeColorScaleFn","makePullColorFn","generateExtendedColors","ALMOST_EQUAL","sunburstExtendedColorWays","treemapExtendedColorWays","countDescendants","nChild","children","branches","leaves","_values","getId","hasIds","parents","hasValues","parent2children","refs","addToLookup","isValidKey","isValidVal","pid","label","dummyId","hasMultipleRoots","impliedRoots","hasImpliedRoot","stratify","parentId","message","hierarchy","branchvalues","partialSum","reduce","pullColor","scaleColor","hasColors","_hasColorscale","_runCrossTraceCalc","desiredType","colorWay","colorMap","dfltColorCount","pickColor","cursorset","xanchor","yanchor","alias","t3","Icons","modeBarButtons","handleCartesian","ev","button","currentTarget","astr","getAttribute","mag","r1","fixedrange","rangeInitial","rangeNow","rangeNew","_isHoriz","setAttribute","handleDrag3d","gl3d","layoutUpdate","val2d","handleCamera3d","didUpdate","getNextHover3d","_previousVal","currentSpikes","hovermodeAStr","spikeAStr","handleHover3d","handleGeo","geoIds","newScale","resetView","getNextHover","toggleHover","newHover","setSpikelineVisibility","areSpikesOn","handleMapboxZoom","mapbox","aObj","zoom","viewKeys","toImageButtonOptions","format","icon","click","notifier","isIE","filename","catch","sendDataToCloud","disk","editInChartStudio","pencil","zoom2d","zoombox","pan2d","pan","select2d","selectbox","lasso2d","lasso","zoomIn2d","zoom_plus","zoomOut2d","zoom_minus","autoScale2d","autoscale","resetScale2d","home","hoverClosestCartesian","tooltip_basic","gravity","hoverCompareCartesian","tooltip_compare","zoom3d","pan3d","orbitRotation","tableRotation","resetCameraDefault3d","resetCameraLastSave3d","movie","hoverClosest3d","toggle","zoomInGeo","zoomOutGeo","resetGeo","hoverClosestGeo","hoverClosestGl2d","hoverClosestPie","resetViewSankey","_viewInitial","resetViews","toggleSpikelines","spikeline","resetViewMapbox","zoomInMapbox","zoomOutMapbox","$reduce","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","forced","callbackfn","multiply","a00","a01","a02","a03","a10","a11","a12","a13","a20","a21","a22","a23","a30","a31","a32","a33","b1","b2","b3","getModuleCalcData","parcatsPlot","PARCATS","cdModuleAndOthers","hadTable","hasTable","_paperdiv","isBrowser","detect","supported","foo","trzy","annAttrs","templatedArray","ay","xshift","yshift","align","valign","bgcolor","bordercolor","borderpad","borderwidth","showarrow","arrowcolor","arrowhead","startarrowhead","arrowside","arrowsize","startarrowsize","arrowwidth","startstandoff","captureevents","classof","regexpExec","R","exec","from","Boolean","findMedian","genPartition","partitionStartLessThan","PARTITION_THRESHOLD","boxes","elemSize","boxPtr","aPtr","bPtr","mid","pivot","pivot0","value0","pivot1","value1","pivot2","value2","histogramAttrs","makeBinAttrs","heatmapAttrs","nbinsx","xbins","nbinsy","ybins","autobinx","autobiny","bingroup","xbingroup","ybingroup","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","axesProperties","getPlanes","splitPoly","cubeParams","m4mul","m4transpose","v4transformMat4","mvp","AxesRange3D","SCRATCH_P","SCRATCH_Q","RANGES","SCRATCH_X","params","ranges","frustum","i_loop","Q","positive","grad","vec3","vec4","GRID_TYPES","streamToTube","stream","maxDivergence","minDistance","maxNorm","velocities","divergences","vectors","previousVerts","currentVerts","intensities","previousIntensity","currentIntensity","currentVector","previousVector","facets","fwd","a1","tmp1","tmp2","tmp3","vertexIntensity","createTubes","streams","colormap","tubes","tube","newCell","findLastSmallerIndex","sampleMeshgrid","vectorField","gridInfo","meshgrid","z0","z1","x0off","x1off","y0off","y1off","z0off","z1off","mX0","mX1","mY0","mY1","mZ0","mZ1","xf","yf","zf","reversedX","reversedY","reversedZ","filled","v000","v001","v010","v011","v101","v110","v111","c00","c01","c10","c11","lerp","c0","c1","findMinSeparation","xs","minSeparation","calculateMinPositionDistance","ys","zs","zi","xSep","ySep","zSep","startingPositions","maxLength","tubeSize","absoluteTubeSize","gridFill","getVelocity","getDivergence","subtract","vz","minX","minY","minZ","maxX","maxY","maxZ","inBounds","boundsSize","maxStepSize","maxStepSizeSq","op","dv","dvLength","sqLen","squaredLength","squaredDistance","tubeScale","createMesh","createTubeMesh","crossTraceDefaults","annIn","annOut","borderColor","borderOpacity","borderWidth","showArrow","annotation","hoverText","globalHoverLabel","hoverBG","hoverBorder","contrast","unique_pred","unique_eq","unique","sorted","robustDot","planeT","plane","lerpW","wa","wb","splitPolygon","negative","classRe","functionToString","$forEach","tablePlot","TABLE","polybool","Fx","throttle","makeEventData","clearGlCanvases","redrawReglTraces","MINSELECT","filteredPolygon","polygonTester","getAxId","prepSelect","startX","startY","dragOptions","filterPoly","selectionTester","mergedPolygons","currentPolygon","searchInfo","zoomLayer","_zoomlayer","dragBBox","element","path0","pw","xaxes","ph","yaxes","allAxes","altKey","coerceSelectionsCache","BENDPX","outlines","fillRangeItems","corners","throttleID","SELECTID","searchTraces","determineSearchTraces","p2r","p2d","axValue","ascending","dataPts","lassoPoints","filtered","moveFn","selectdirection","xmin","xmax","ymin","ymax","addPt","selectionDefs","mergePolygons","multiTester","drawSelection","SELECTDELAY","thisSelection","traceSelection","traceSelections","fillSelectionItem","updateSelectedState","emit","clickFn","numClicks","evt","clickmode","clearSelectionsCache","selectOnClick","doneFn","doneFnCompleted","xAxes","yAxes","polygonOutlines","currentSelectionDef","thisTracesSelection","pointOrBinSelected","hoverData","_hoverdata","sendEvents","isHoverDataSet","clickedPtInfo","extractClickedPtInfo","isBinnedTrace","pointNumbers","isOnlyThisBinSelected","isOnlyOnePointSelected","isPointOrBinSelected","shiftKey","newPointSelectionDef","allSelectionDefs","isPointSelectionDef","newPointNumTester","pointSelectionDef","omitFirstEdge","idxWantedTrace","idxActualTrace","isRect","degenerate","testers","contained","selectingOnSameSubplot","_lastSelectedSubplot","hasModifierKey","clearSelect","xAxisIds","yAxisIds","_xaxes","_yaxes","info","createSearchInfo","sankeyInfo","paths","ppts","hoverOnBox","hoverDatum","binNumber","ptNum","ptNums","ptNumsSet","ptNumToTest","isSameTrace","tracesWithSelectedPts","fullInputTrace","_fullInput","tracePreGUI","_tracePreGUI","pointIndices","pointIndex","hasRegl","node3","nodeRangePlot3","res","difference","regions","inverted","union","zoomlayer","rationalize","handleArrayContainerDefaults","_hasNumber","_hasDelta","_hasGauge","_range","bignumberFontSize","deltaFontSize","gaugeIn","gaugeOut","axisIn","axisOut","auto","coerceGauge","gauge","coerceGaugeAxis","defaultNumberFontSize","relative","_scaleNumbers","isBullet","_isBullet","_isAngular","defaultBarThickness","valueThickness","handleItemDefaults","stepDefaults","stepIn","stepOut","steps","sizeRef","sizeMin","baseFn","baseSize","interactConstants","numStripRE","titleClass","editAttr","prop","traceIndex","containerGroup","isplaceholder","txt","editable","templateString","elShouldExist","ensureSingle","titleLayout","titleEl","scootTitle","transformVal","fontWeight","previousPromises","titleElIn","titleGroup","backside","shiftSign","titlebb","paperbb","maxshift","maxShift","avoidbb","shiftTemplate","setPlaceholder","SHOW_PLACEHOLDER","HIDE_PLACEHOLDER","allBlankCharCodes","original","locationCache","workingPath","workingTextWidth","segmentsIntersect","x4","y4","det","perpDistance2","xab","yab","llab","xac","yac","fcAB","xbc","ybc","crossProduct","segmentDistance","x12","y12","x34","y34","ll12","ll34","dist2","getTextLocation","totalPathLen","positionOnPath","textWidth","getPointAtLength","atan","pCenter","clearLocationCache","getVisibleSegment","pt0","ptTotal","pTotal","getTotalLength","getDistToPlot","distToPlot","isClosed","diff","iterationLimit","handleXYZDefaults","handleConstraintDefaults","isConstraint","convexHull1d","convexHull2d","convexHullnd","convexHull","ms2DateTime","dateTime2ms","numConstants","FP_SAFE","LOG_CLIP","fromLog","isValidCategory","toLog","clip","dt2ms","msecTenths","msRounded","ms2dt","getCategoryName","setCategoryIndex","_categoriesMap","curLength","setMultiCategoryIndex","arrayIn","arrayOut","getCategoryIndex","getCategoryPosition","p2l","p2c","d2r","l2d","d2p","r2p","r2c_just_indices","setupMultiCategory","traceIndices","matchGroups","_axisMatchGroups","axId2","ind0","ind1","rl0","rl1","r2fraction","rangeAttr","DFLTRANGEY","DFLTRANGEX","rangemode","linCenter","MIN_MS","MAX_MS","usePrivateRange","overlaying","_replotting","isTypedArray","subarray","isPtWithinRange","clearCalc","emptyCategories","found","categoriesMap","_initialCategories","sortByInitialCategories","affectedTraces","_matchGroup","locale","timeFormat","utc","separators","numberFormat","TEXTPAD","pi","tauEpsilon","Path","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","arc","ccw","cw","rect","src_path","point_x","point_y","linkSource","linkTarget","link_link","argv","curveHorizontal","linkHorizontal","dragElement","setCursor","makeDragBox","DRAGGERSIZE","initInteractions","mainplot","maindrag","onmousemove","_rehover","_hoversubplot","_lasthover","onmouseout","_dragging","unhover","showAxisDragHandles","hoverLayer","_hoverlayer","onmousedown","cursor","_draggers","az","zOld","rowlen","collen","getCollen","old2new","cleanZvalue","padOld2new","axisMapping","axMapping","traceCategories","xMap","yMap","zNew","getGraphDiv","gdElement","getElementById","isPlotDiv","HTMLElement","removeElement","elParent","removeChild","styleString","addRelatedStyleRule","styleSheet","sheet","insertRule","addRule","deleteRelatedStyleRule","ThaiCalendar","thai","Parser","DOMParser","ModeBar","graphInfo","createModeBar","modeBar","_modebardiv","_privateplot","modeBarId","className","displayModeBar","modebar","bgSelector","activecolor","needsNewButtons","hasButtons","needsNewLogo","hasLogo","displaylogo","needsNewLocale","removeAllButtons","updateButtons","watermark","logoGroup","getLogo","childNodes","updateActiveButton","_this","buttonElements","buttonsNames","buttonGroup","createGroup","buttonConfig","buttonName","createButton","createIcon","question","thisIcon","iconHeight","ascent","descent","svgNS","svgDoc","parseFromString","buttonClicked","dataAttrClicked","thisval","isToggleButton","button3","currentButtons","newplotlylogo","getBuiltIn","subtypes","lonlat2","modHalf","xy","oppAxisAttrs","helpers","rangeslider","calcAutorange","makeData","autoMarginOpts","WeakMapPoly","isValue","ensureValue","randomUniq","getIterator","forOf","toStringTagSymbol","isNative","objHasOwnProperty","iterable","WeakMap","delete","__weakMapData__","handleText","moduleHasSelected","moduleHasUnselected","moduleHasConstrain","moduleHasCliponaxis","moduleHasTextangle","moduleHasInsideanchor","handleGroupingDefaults","posAxId","alignmentOpts","alignmentIndex","offsetGroupOpts","offsetIndex","hasPathbar","hasBoth","hasInside","hasOutside","dfltFont","insideTextFontDefault","isTraceTextfontColorSet","isColorInheritedFromLayoutFont","pathbarTextFontDefault","sizes","isSize","extendDeep","colorAttrs","domainAttrs","axesAttrs","textFontAttrs","gaugeBarAttrs","thickness","items","stepsAttrs","valueformat","reference","INCREASING","SYMBOL","COLOR","DECREASING","float32","float","fract32","fract","narr","compile","CACHE","typeSig","compiled","ops","createTexture2D","linearTypes","filterTypes","wrapTypes","lazyInitLinearTypes","LINEAR","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","NEAREST","NEAREST_MIPMAP_NEAREST","LINEAR_MIPMAP_LINEAR","CLAMP_TO_EDGE","MIRRORED_REPEAT","acceptTextureDOM","HTMLCanvasElement","HTMLImageElement","HTMLVideoElement","ImageData","convertFloatToUint8","inp","reshapeTexture","maxSize","getParameter","MAX_TEXTURE_SIZE","_shape","texImage2D","TEXTURE_2D","_mipLevels","Texture2D","handle","_magFilter","_minFilter","_wrapS","_wrapT","_anisoSamples","wrapVector","wrapS","wrapT","_wrapVector","shapeVector","_shapeVector","isPacked","texSubImageArray","x_off","y_off","mip_level","cformat","ctype","mipLevels","packed","FLOAT","UNSIGNED_BYTE","LUMINANCE","ALPHA","LUMINANCE_ALPHA","RGB","RGBA","needsMip","texSubImage2D","pack_buffer","mallocFloat32","mallocUint8","pack_view","freeFloat32","freeUint8","initTexture","bindTexture","texParameteri","TEXTURE_MIN_FILTER","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","createTextureShape","maxTextureSize","getExtension","createTextureDOM","directData","createTextureArray","buf_store","malloc","buf_array","free","raw","minFilter","magFilter","mipSamples","psamples","ext","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","unit","activeTexture","TEXTURE0","ACTIVE_TEXTURE","deleteTexture","generateMipmap","heatmap","_opts","hasArrayRadius","cOpts","scl","reversescale","flipScale","scl01","color0","addOpacity","heatmapColor","zExp","sortAsc","sorterAsc","snapRatio","snapOvershoot","vAdjacent","snapClose","closeToCovering","ordinalScaleSnap","isHigh","existingRanges","overlappingExisting","aHere","aPrev","nextI","aNext","barHorizontalSetup","captureWidth","backgroundBarHorizontalSetup","setHighlight","brush","filterSpecified","sectionHeight","iNext","pixelRanges","unitToPx","getConsolidated","currentGap","unitRanges","pr","getRegion","fPix","handleHeight","clearCursor","styleHighlight","renderHighlight","tweenCallback","barToStyle","snapDuration","getInterval","active","closestInterval","intervals","pixIntervals","hoveredInterval","previousInterval","nextInterval","region","intervalPix","ordinal","unitTickvals","unitLocation","unitToPaddedPx","rangei","clickableOrdinalRange","dragstart","lThis","sourceEvent","stopPropagation","verticalPadding","unitRange","svgBrush","wasDragged","grabbingBar","pixelRange","grabPoint","barLength","stayingIntervals","multiselect","int2","startExtent","inBrushDrag","brushStartCallback","drag","newExtent","brushCallback","dragend","mousemove","grabLocation","brushClear","brushEndCallback","mergeIntervals","hasNewExtent","attachDragBehavior","preventDefault","behavior","startAsc","renderAxisBrush","axisBrush","highlightShadow","strokeWidth","strokeColor","strokeOpacity","fillColor","fillOpacity","ensureAxisBrush","axisOverlays","getBrushExtent","axisBrushMoved","dedupeRealRanges","currentInterval","makeFilter","consolidated","getBounds","makeBrush","rangeSpecified","initialRange","cleanRanges","sortedTickVals","rSnapped","relinkColorAttrs","outerCont","cbOpt","_colorAx","isAuto","autocolorscale","cbOpts","_colorAxes","bindAttribs","VAOEmulated","_elements","_attributes","_elementsType","UNSIGNED_SHORT","createVAOEmulated","elements","elementsType","drawElements","drawArrays","V8_VERSION","SPECIES","METHOD_NAME","dictionary","error2","days","shortDays","months","shortMonths","periods","dateTime","decimal","thousands","grouping","currency","dayMonth","dayMonthYear","scatterMarkerAttrs","scatterMarkerLineAttrs","q1","median","q3","lowerfence","upperfence","notched","notchwidth","notchspan","boxpoints","jitter","pointpos","boxmean","mean","sd","quartilemethod","outliercolor","outlierwidth","whiskerwidth","dup","cwiseCompiler","TEMPLATE_CACHE","GRADIENT_CACHE","EmptyProc","thisVars","localVars","centralDiff","pre","post","lvalue","rvalue","zeroOut","generateTemplate","names","generateGradient","boundaryConditions","token","handleBoundary","facet","cod","loStr","hiStr","pickStr","boundStr","bnd","outStr","cPickStr","dPickStr","aPickStr","bPickStr","sfaces","linkNames","linkArgs","bc","cached","byteLength","toByteArray","fromByteArray","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","objName","hasErrorBars","symmetric","copyAttr","inheritObj","iota","namelength","hasOnlyLines","tinycolor","isValidScale","colorKey","isArrayWithOneNumber","showscale","cmin","cmax","constantAttrs","letterAttrs","colorAx","cont2","k2","_sync","extractScale","sclNew","makeColorScaleFunc","specs","toRgb","sclFunc","_sclFunc","linear","noNumericCheck","returnArray","colorArray2rbga","colorArray","colorObj","toRgbString","function","lineString","_coords","num2bn","numer","denom","snumer","sdenom","cmpn","styleOne","attachFxHandlers","onPathbar","slices","barDifY","viewX","viewY","pathSlice","toMoveInsideSlice","strTransform","hasTransition","handleSlicesExit","makeUpdateSliceInterpolator","makeUpdateTextInterpolator","refRect","eachWidth","_entryDepth","pathIds","listPath","sliceData","packing","inner","descendants","level","getPtId","updateSlices","sliceTop","setSliceCursor","hideOnRoot","hideOnLeaves","isTransitioning","_hoverX","_hoverY","slicePath","attrTween","pt2","transitionTime","CLICK_TRANSITION_TIME","transitionEasing","CLICK_TRANSITION_EASING","_transitioning","hovered","getPtLabel","sliceTextGroup","sliceText","ensureUniformFontSize","determineTextFont","textBB","weakMap","mergeLength","isOpenSymbol","dimensionDefaults","dimIn","dimOut","dimensions","handleAxisDefaults","dimLength","showUpper","showupperhalf","showLower","showlowerhalf","showDiag","diagonal","xAxesDflt","yAxesDflt","diag","_diag","xList","yList","fillAxisStashes","counterAxId","_splomAxes","matches","mustShiftX","mustShiftY","_axesDim","i0","iN","xaId","yaId","_splomSubplots","_splomGridDflt","xside","yside","isOpen","isBubble","getShaderReference","program","createProgram","GLError","SHADER_COUNTER","ShaderReference","programs","cache","ContextCache","deleteProgram","deleteShader","compileShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","console","linkProgram","vshader","fshader","attribs","attachShader","bindAttribLocation","getProgramParameter","LINK_STATUS","getProgramInfoLog","getCache","ctxCache","vref","fref","getProgram","isShader","shaderObj","prog","isProgram","containerClassName","bgClassName","rangePlotClassName","maskMinClassName","maskMaxClassName","slideBoxClassName","grabberMinClassName","grabAreaMinClassName","handleMinClassName","grabberMaxClassName","grabAreaMaxClassName","handleMaxClassName","maskMinOppAxisClassName","maskMaxOppAxisClassName","maskColor","maskOppAxisColor","slideBoxFill","slideBoxCursor","grabAreaFill","grabAreaCursor","grabAreaWidth","handleWidth","handleRadius","handleStrokeWidth","extraPad","fromValues","tempA","tempB","cosine","ch","uniq","LiftedPoint","compareLifted","ap","bp","triangulate1D","includePointAtInfinity","lifted","triangulate","upper","dpoints","dindex","hull","arrayEditor","_shapeUpperLayer","_shapeLowerLayer","shapelayer","shapes","drawShape","mainPlot","shapeLayer","getPathString","setClipPath","shapePosition","setupDragElement","shapePath","shapeOptions","clipAxes","setClipUrl","xAnchor","yAnchor","e0","optN","optS","optW","optE","pathIn","dragMode","MINWIDTH","MINHEIGHT","xPixelSized","xsizemode","yPixelSized","ysizemode","isLine","isPath","editHelpers","modifyItem","x2p","getDataToPixel","y2p","p2x","getPixelToData","p2y","sensoryElement","obtainSensoryElement","prepFn","startDrag","endDrag","abortDrag","createLineDragHandles","minSensoryWidth","sensoryWidth","circleStyle","circleRadius","updateDragMode","tagName","clientX","clientY","getCursor","renderVisualCues","deactivateClipPathTemporarily","moveShape","resizeShape","removeVisualCues","getUpdateObj","noOp","moveX","moveY","encodeDate","movePath","newX0","newY0","newX1","newY1","newN","newS","newW","newE","renderAnchor","isNotPath","visualCues","posX","midRange","extractPathCoords","paramIsX","posY","paramIsY","roundPositionForSharpStrokeRendering","crossPath","vBarPath","hBarPath","init","x2r","y2r","shapePositionToRange","decodeDate","convertPath","xAnchorPos","yAnchorPos","rArc","rightPt","topPt","xSizemode","ySizemode","segmentRE","segment","paramNumber","segmentType","xParams","yParams","nParams","numParams","paramString","paramRE","param","micropolar","UndoManager","manager","framework","_gd","previousConfigClone","convertedInput","undoManager","_inputConfig","_container","Axis","adapter","plotly","fillLayout","isPolar","getConfig","getLiveConfig","getLiveScales","angularScale","radialScale","setUndoPoint","configClone","util","cloneJson","_configClone","_previousConfigClone","paperDiv","paper","dflts","integer","gapWithPathbar","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","internalObjectKeys","enumBugKeys","hiddenKeys","PolyBool","BuildLog","Epsilon","Intersecter","SegmentChainer","SegmentSelector","GeoJSON","buildLog","operate","poly1","poly2","seg1","seg2","comb","seg3","bl","addRegion","calculate","segments1","segments2","i3","combined","inverted1","inverted2","selectUnion","selectIntersect","intersect","selectDifference","selectDifferenceRev","differenceRev","selectXor","xor","polygonFromGeoJSON","toPolygon","polygonToGeoJSON","fromPolygon","bits","UnionFind","il","countVertices","vc","jl","cloneCells","ncells","l1","m1","l0","m0","as","bs","compareZipped","zipped","findCell","incidence","from_cells","to_cells","cl","kn","popCount","dual","vertex_count","skeleton","explode","k0","nextCombination","connectedComponents_dense","components","component_labels","ranks","connectedComponents_sparse","vj","connectedComponents","mesh3dAttrs","fromMesh3d","calcSelection","fixNum","prevGoodNum","serieslen","connectToNext","cNext","vTotal","begR","sumR","difR","drawArrowHead","drawRaw","modifyBase","annClipID","annPosPx","annGroup","annTextGroup","editTextPosition","textEvents","annotationText","annTextGroupInner","hoverOptions","hoverFont","bBoxRef","loneHover","outerContainer","loneUnhover","borderfull","annTextBG","isSizeConstrained","annTextClip","_topclips","annText","textLayout","initialEvent","fullAnnotation","drawGraphicalElements","anchor3","wholeLink","hasMathjax","anntextBB","annWidth","annHeight","outerWidth","outerHeight","shiftFraction","annotationIsOffscreen","letters","basePx","textPadShift","alignPosition","autoAlignFraction","textShift","tailRef","dimAngle","annSizeFromWidth","annSizeFromHeight","annSize","overallShift","posPx","posFraction","arrowLength","maxPx","shiftPlus","shiftMinus","xShift","yShift","texty","textx","setRect","baseTextTransform","drawArrow","headX","headY","tailX","tailY","textX","textY","rotationXYMatrix","applyTransform","apply2DTransform","applyTransform2","apply2DTransform2","xLeft","xRight","yTop","yBottom","edges","strokewidth","arrowColor","arrowSide","arrowGroup","arrow","annotationPosition","arrowDragHeadX","arrowDragHeadY","annx0","anny0","arrowDrag","annxy0","xcenter","ycenter","axref","ayref","notesBox","selectedObj","xUpdate","yUpdate","widthFraction","_xsize","_xshift","heightFraction","_ysize","_yshift","validateSymbol","registry","SymbolPolyfill","for","keyFor","subplotsDone","ip","jp","ni","nj","avgSurrounding","dxp","dxm","dap","dam","dbp","dbm","reldiff","overrelaxation","dmax","tol","resid","itermax","iter","d0","d1","j0","boundaryCnt","newVal","resolveException","is","createErrorBars","IDENTITY","ErrorBars","capSize","lineOffset","updateBounds","cz","orthoFix","pixelScaleF","LINES","FACE_TABLE","emitFace","offsets","inverse","rank","permutation","pinv","unrank","nf","transformQuat","qx","qy","qz","qw","ix","iy","iz","iw","gup","svgUtil","raiseToTop","cancelEeaseColumn","cancelTransition","prepareData","splitData","roundHalfWidth","maxLineWidth","scrollAreaBottomClipKey","columnBoundaryClipKey","specIndex","flatData","__data__","renderScrollbarKit","bypassVisibleBar","calcTotalHeight","blocks","rowBlocks","firstRowAnchor","rowsHeight","scrollbarState","totalHeight","scrollableAreaHeight","groupHeight","headerHeight","currentlyVisibleHeight","barWiggleRoom","wiggleRoom","topY","scrollY","bottomY","dragMultiplier","xPosition","columnDragInProgress","bbox","pixelVal","inverseScale","makeDragRow","origin","scrollbarScrollInProgress","renderColumnCellTree","allColumnBlock","renderColumnCells","renderColumnCell","supplyStylingValues","renderCellRect","sizeAndStyleRect","renderCellTextHolder","renderCellText","setFont","populateCellText","setCellHeightAndPositionY","splitToCells","keyWithinBlock","spec","col","column","gridPick","rowNumber","cellBorderWidth","columnWidth","atomicSelection","userSuppliedContent","stringSupplied","hasBreaks","userBrokenText","mayHaveMarkup","latex","isLatex","hasWrapSplitCharacter","textToRender","prefixSuffixedText","wrappingNeeded","wrapped","hasWrapCharacter","cellHeightMayIncrease","needsConvertToTspans","hrefPreservedText","fragments","hrefRestoredFragments","frag","fragment","renderCallback","wrapTextMaker","updateYPositionMaker","content","columnMoved","gdColumnsOriginalOrder","gdColumns","columnorder","easeColumn","cellsBlock","headerBlock","headerBlocks","auxiliaryBlocks","findPagesAndCacheHeights","scrollHeight","pages","pTop","blockIndex","block","blockRows","rows","rowHeight","allRowsHeight","pBottom","windowTop","windowBottom","updateBlockYPosition","cellsColumnBlock","page","yTranslate","conditionalPanelRerender","prevPages","allTableControlView","optionalMultiplier","optionalPosition","eventD","dd","multiplier","initialScrollY","revolverIndex","shouldComponentUpdate","currentRepaint","toRerender","getComputedTextLength","currentAddition","currentAdditionLength","separatorLength","rest","currentRow","currentRowLength","rowLengthLimit","settledY","getBlock","rowIndex","firstRowIndex","declaredRowHeight","requiredHeight","finalHeight","increase","columnCellElement","box","rectBox","currentTransform","baseVal","consolidate","yPosition","optionalWidth","rowAnchor","yOffset","getRow","rowBlock","wrappedTraceHolders","dynamic","wrappedTraceHolder","traceHolder","translateX","translateY","cvEnter","wheeling","newY","deltaY","noChange","vm","columns","movedColumn","sortableColumns","newOrder","xIndex","xScale","splitToPanels","dragHandle","headerColumnBlock","scatterGlAttrs","cartesianIdRegex","markerLineAttrs","markerAttrs","makeAxesValObject","freeLength","hoverOn","bx","by","bz","tickLen","tickWidth","tickColor","showTicks","createLines","Lines","vbo","lineVert","lineFrag","screenBox","drawLine","endX","endY","ctor","superCtor","super_","writable","configurable","TempCtor","createUniformWrapper","createAttributeWrapper","makeReflect","shaderCache","runtime","Shader","lastAttribCount","_vref","_fref","_relink","vertShader","fragShader","compareAttributes","vertSource","fragSource","newAttribCount","ACTIVE_ATTRIBUTES","oldAttribCount","enableVertexAttribArray","disableVertexAttribArray","useProgram","pvref","VERTEX_SHADER","pfref","testProgram","attributeUnpacked","attributeNames","attributeLocations","locVector","curLocation","uniformLocations","relink","getUniformLocation","vectorfield","vertexIntensityBounds","coneOffset","p2","u2","positionVectors","vectorScale","skipIt","minV","maxV","invertedMaxNorm","coneScale","coneSize","absoluteConeSize","intensity","createConeMesh","getDimIndex","visibleDims","_visibleDims","vmin","vmax","createScatter","createLine","createError","Text","prepareRegl","linkTraces","styleTextSelection","getViewport","cdata","success","regl","_glcanvas","error2d","line2d","scatter2d","fill2d","glText","textsToAdd","textsToRemove","removedTexts","textOptions","lineOptions","srcPos","firstptdef","lastptdef","errorBatch","errorXOptions","errorYOptions","markerOptions","fillOrder","fillOptions","fillData","nextTrace","nextOptions","nextPos","xx","yy","prevLinePos","hole","fillmode","selectMode","clickSelectEnabled","selPts","selIndices2selPoints","selDict","unselPts","xpx","ypx","unselOpts","markerUnselectedOptions","markerSelectedOptions","vpRange0","vpRange","bottomText","withColorscale","headerSize","_hovered","pathbar","_sankey","graph","partOfGroup","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","globalWindow","mozRequestAnimationFrame","webkitRequestAnimationFrame","forEachElement","isCollectionTyped","jQuery","Elements","getElementSize","offsetWidth","offsetHeight","setStyle","ResizeSensor","EventQueue","sizeInfo","newQueue","attachResizeEvent","resized","resizedAttached","resizeSensor","pointerEvents","zIndex","maxWidth","styleChild","expand","expandChild","shrink","shrinkChild","rafId","computedStyle","getComputedStyle","getPropertyValue","lastWidth","lastHeight","initialHiddenCheck","lastAnimationFrame","resetExpandShrink","scrollLeft","scrollTop","invisible","resetSensor","onResized","onScroll","addEvent","cb","attachEvent","elem","detach","mutations","addedNodes","childList","subtree","hasHover","matchMedia","version","userAgent","v8","INTERPTHRESHOLD","NEIGHBORSHIFTS","correctionOvershoot","maxFractionalChange","iterateInterp2d","emptyPoints","overshoot","neighborShift","neighborRow","neighborVal","neighborSum","initialVal","minNeighbor","maxNeighbor","negate","PersianCalendar","epBase","epYear","depoch","cycle","cyear","ycycle","aux1","aux2","yday","persian","jalali","PlotSchema","plotAttributes","dfltConfig","mergeTemplates","oldTemplate","newTemplate","oldKeys","mergeOne","oldVal","templater","arrayTemplater","_template","item","oldItem","newItem","defaultItems","templateitemname","getBaseKey","key2","baseKey2","walkStyleKeys","templateOut","getAttributeInfo","basePath","pathAttr","nextPath","getNextPath","nextBasePath","baseKey","_noTemplating","_isLinkedToArray","dfltDone","namedIndex","usedNames","dfltKey","arrayDefaultKey","dfltPath","pathInArray","itemPropInArray","dfltProp","templateProp","getLayoutInfo","getLayoutValObject","getTraceInfo","getTraceValObject","hasPlainObject","templateCount","makeTemplate","figure","_basePlotModules","_modules","template","traceTemplate","typeTemplates","oldTypeTemplates","oldTypeLen","typeLen","oldLayoutTemplate","oldDataTemplate","validateTemplate","figureIn","layoutTemplate","dataTemplate","errorList","layoutPaths","crawlLayoutForContainers","nextPaths","crawlLayoutTemplateForContainers","typeCount","crawlForMissingTemplates","stringifyFont","defaultChars","atlas","chars","newchars","textAlign","textBaseline","colorway","compressExpansion","attributeTextFont","attributeInsideTextFont","attributeOutsideTextFont","barcount","stylePoints","pointStyle","determineFont","stylePointsInSelectionMode","selectedPointStyle","styleTextInSelectionMode","txs","selectedFontColor","selectedTextStyle","layoutFont","textFont","barColor","getBarColor","getInsideTextFont","getOutsideTextFont","getTextFont","defaultValue","getFontValue","defaultFont","wouldFallBackToLayoutFont","attributeDefinition","attributeValue","familyValue","getValue","sizeValue","colorValue","coerceString","coerceNumber","coerceColor","sankeyCircular","justify","d3_array__WEBPACK_IMPORTED_MODULE_0__","d3_collection__WEBPACK_IMPORTED_MODULE_1__","d3_shape__WEBPACK_IMPORTED_MODULE_2__","elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3__","elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3___default","targetDepth","depth","sourceLinks","targetLinks","_typeof","ascendingSourceBreadth","ascendingBreadth","ascendingTargetBreadth","partOfCycle","circularLinkType","nodeCenter","linkSourceCenter","linkTargetCenter","defaultId","defaultNodes","defaultLinks","getNodeID","verticalMargin","baseRadius","paddingRatio","circularLinkGap","sortNodes","computeNodeLinks","identifyCircles","computeNodeValues","computeNodeDepths","selectCircularLinkTypes","computeNodeBreadths","computeLinkBreadths","linkSortingIterations","iteration","sortSourceLinks","sortTargetLinks","resolveNodeLinkOverlaps","fillHeight","addCircularPathData","circular","getCircleMargins","totalTopLinksWidth","totalBottomLinksWidth","totalRightLinksWidth","totalLeftLinksWidth","maxColumn","scaleSankeySize","currentWidth","currentHeight","newWidth","newHeight","scaleX","scaleY","sortKeys","initializeNodeBreadth","resolveCollisions","relaxLeftAndRight","thisPadding","ky","nodesLength","numberOfNonSelfLinkingCycles","columnsLength","nodeHeight","avg","avgTargetY","avgSourceY","y0cycle","y1cycle","nodeAlign","nodeWidth","nodePadding","nodePaddingRatio","circularLinkID","adjList","cycles","circularLinks","numberOfTops","numberOfBottoms","selfLinking","linkAngle","circularLinksCross","link1","link2","sourceCount","targetCount","onlyCircularLink","nodeSourceLinks","nodeTargetLinks","calcVerticalBuffer","sortLinkColumnAscending","circularPathData","verticalBuffer","bufferOverThisLink","topLinks","bottomLinks","arcRadius","leftNodeBuffer","rightNodeBuffer","sourceWidth","sourceX","targetX","sourceY","targetY","leftSmallArcRadius","leftLargeArcRadius","rightSmallArcRadius","rightLargeArcRadius","verticalFullExtent","verticalLeftInnerExtent","verticalRightInnerExtent","thisColumn","thisCircularLinkType","sameColumnLinks","sortLinkSourceYDescending","sortLinkSourceYAscending","radiusOffset","sortLinkTargetYDescending","sortLinkTargetYAscending","leftInnerExtent","rightInnerExtent","leftFullExtent","rightFullExtent","createCircularPathString","normalPath","pathString","linkColumnDistance","linkXLength","linkPerpendicularYToLinkSource","longerLink","shorterLink","heightFromY1ToPependicular","yPerpendicular","incline","linkPerpendicularYToLinkTarget","columnToTest","maxColumnToTest","numberOfColumnsToTest","B0_t","B1_t","B2_t","B3_t","py_t","linkY0AtColumn","linkY1AtColumn","adjustNodeHeight","otherNode","nodesOverlap","nodeA","nodeB","sankeyY0","sankeyY1","moveNodes","nodesSourceLinks","nodeSourceLinksLength","sameInclines","link2Adj","link1Adj","ySourceOffset","offsetFromBottom","nodesTargetLinks","nodesTargetLinksLength","yTargetOffset","minY0","maxY1","chartHeight","ASCEND","SIMPLEATTR","baseAttr","relativeAttr","compileSearch","predicate","reversed","extraArgs","useNdarray","earlyOut","compileBoundsSearch","ge","eq","convertTypedArray","isOrdinal","ses","ok","weakMapPermitHostObjects","doubleWeakMapCheckSilentFailure","HostWeakMap","navigator","testMap","testObject","freeze","gopn","defProp","isExtensible","HIDDEN_NAME_PREFIX","HIDDEN_NAME","crypto","getRandomValues","ArrayBuffer","ab","u8s","u8","isNotHiddenName","originalGetPropertyNames","getPropertyNames","oldFreeze","getHiddenRecord","oldSeal","seal","oldPreventExtensions","preventExtensions","calledAsFunctionWarningDone","OurWeakMap","calledAsFunctionWarning","get___","opt_default","hiddenRecord","has___","set___","delete___","lastIndex","constFunc","DoubleWeakMap","dset","hmap","omap","enableSwitching","dget","dhas","ddelete","permitHostObjects___","Proxy","mapLegacy","oldAttr","newAttr","_xlength","_ylength","surfaceColor","dims","contourDim","getOwnPropertyDescriptors","descriptors","formatRegExp","isString","inspect","JSON","stringify","isNull","isObject","deprecate","noDeprecation","warned","deprecated","throwDeprecation","traceDeprecation","debugEnviron","debugs","stylize","stylizeNoColor","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","hash","recurseTimes","ret","primitive","formatPrimitive","visibleKeys","isError","formatError","isRegExp","isDate","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","isNumber","desc","cur","numLinesEst","ar","isNullOrUndefined","isSymbol","objectToString","isPrimitive","debuglog","NODE_DEBUG","toUpperCase","timestamp","getMinutes","getSeconds","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","callbackify","callbackified","maybeCb","rej","promisify","promiseResolve","promiseReject","custom","solveIntersection","ratMul","ratDiv","ratSub","ratSign","rvSub","rvAdd","rvMuls","ratPerp","ba","dc","baXdc","ac","dcXac","contourAttrs","contourContourAttrs","atype","btype","autocontour","ncontours","showlines","showlabels","labelfont","labelformat","reg","compareAngle","robustProduct","testInterior","bcd","sabc","sabd","ic","abc","abd","createBackgroundCube","bg","BackgroundCube","Uint16Array","ELEMENT_ARRAY_BUFFER","normal","needsBG","POLYGON_OFFSET_FILL","polygonOffset","TRIANGLES","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","shouldUseNative","test1","test2","order2","test3","letter","symbols","to","drawModule","includeBasePlot","rs","rd","rc","rc2","ne","se","sw","nw","rt","r2","pentagon","hexagon","hexagon2","octagon","star","y5","hexagram","aPart","rp","hourglass","noDot","bowtie","needLine","noFill","asterisk","str2RGBArray","SpikeOptions","drawSides","createSpikeOptions","merge","spikecolor","spikesides","spikethickness","isIterable","histogram2dAttrs","GeoPoly","LineString","ls","eps","regionInsideRegion","pointInsideRegion","roots","addChild","forceWinding","winding","last_x","last_y","curr_x","curr_y","isclockwise","geopolys","addExterior","getInterior","barPlot","clearMinTextSize","plotConnectorRegions","cdModule","traceLayer","isHorizontal","connectors","getXY","layerClipId","plotConnectorLines","sAxis","pAxis","nextS0","nextP0","nextS1","nextP1","funnelmode","funnelgap","funnelgroupgap","hasClickToShow","sets","getToggleSets","explicitOff","onClick","toggleSets","onSet","offSet","annotationsOut","anni","showMode","pointj","toggleType","explicitOffSet","hoverLen","clicktoshow","clickData2r","_xclick","_yclick","constraintMapping","endPlus","contoursFinal","_operation","cs","pathinfo","basePathinfo","ci","crossings","starts","edgepaths","toLogRange","newType","doExtra","attrPrefix","currentVal","boxIntersectIter","bruteForce","bruteForcePartial","partial","bruteForceFull","full","sweep","BRUTE_FORCE_CUTOFF","SCAN_CUTOFF","SCAN_COMPLETE_CUTOFF","partitionInteriorContainsInterval","partitionStartEqual","partitionEndLessThanEqual","partitionContainsPoint","partitionContainsPointProper","IFRAME_SIZE","DFRAME_SIZE","INIT_CAPACITY","BOX_ISTACK","mallocInt32","BOX_DSTACK","mallocDouble","iterInit","levels","log2","maxInts","nextPow2","maxDoubles","iterPush","redStart","redEnd","blueStart","blueEnd","iptr","dptr","onePointPartial","red","redIndex","blueOffset","blue","blueId","bluePtr","blueX","red_loop","redPtr","retval","redId","onePointFull","initFull","xSize","xBoxes","ySize","yBoxes","yIndex","blueIndex","redCount","blueCount","scanComplete","scanBipartite","red0","sweepBipartite","blue0","blue1","red1","redX","sweepComplete","generateSolver","robustLinearSolve0d","robustLinearSolve1d","generateDispatch","toNumber","normalized","fromNumber","plotConnectors","isSum","waterfallmode","waterfallgap","waterfallgroupgap","boxLayoutAttrs","violinmode","boxmode","violingap","boxgap","violingroupgap","boxgroupgap","Loggers","pushUnique","ExtendModule","basePlotAttributes","baseLayoutAttributes","registerTraceModule","thisType","categoriesIn","subplotsRegistry","registerSubplot","categoryObj","allCategories","componentName","allTypes","componentsRegistry","mergeComponentAttrsToTrace","traceLayoutAttributes","bpmName","styleRules","plotType","findArrayRegexps","mergeComponentAttrsToSubplot","registerComponentModule","layoutArrayContainers","subplotName","transformType","transformsRegistry","mergeComponentAttrsToTransform","registerTransformModule","hasTransform","hasCalcTransform","calcTransform","registerLocale","baseLocale","newDict","newFormat","hasDict","hasFormat","locales","localeRegistry","localeObj","baseLocaleObj","arrayAttrRegexps","_arrayAttrRegexps","layoutArrayRegexes","componentSchema","traceAttrs","transformAttrs","subplotModule","subplotAttrs","subplotAttr","componentLayoutAttrs","getTraceType","apiMethodRegistry","collectableSubplotTypes","newModule","getModule","getTransformIndices","appVersion","hasX","hasY","_cheater","flattenVertexData","dstLength","containerArrayName","cartesianList","hasCartesianOrGL2D","itemi","hasXref","hasYref","newAxis","definePropertyModule","anObject","objectKeys","Properties","inheritColorFromMarker","markerLineColor","glslify","triVertSrc","triFragSrc","edgeVertSrc","edgeFragSrc","pointVertSrc","pointFragSrc","pickVertSrc","pickFragSrc","pickPointVertSrc","contourVertSrc","contourFragSrc","meshShader","wireShader","pointShader","pointPickShader","contourShader","getTraceColor","minRad","kink","dxRaw","dyRaw","dxy","distfn","getDistanceFunction","getClosest","xc","yc","sizeVal","sNorm","spikeDistance","xCross","polygonsIn","inside","yAvg","maxHoverDistance","pieCalc","assert","endian","isBN","_init","Buffer","wordSize","parseHex","parseBase","_initNumber","_initArray","_parseHex","_parseBase","strip","toArray","limbLen","limbPow","word","imuln","_iaddn","_expand","_normSign","zeros","groupSizes","groupBases","toBitArray","bitLength","bit","wbit","smallMulTo","carry","ncarry","rword","maxJ","groupSize","groupBase","isZero","modn","idivn","toJSON","toBuffer","toArrayLike","ArrayType","reqLength","littleEndian","andln","iushrn","clz32","_countBits","_zeroBits","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","uxor","bytesNeeded","bitsLeft","setn","iadd","isub","comb10MulTo","al0","ah0","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","bl0","bh0","bl1","bh1","bl2","bh2","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","fftm","FFTM","mulp","mulTo","makeRBT","revBin","rb","permute","rbt","rws","iws","rtws","itws","rtwdf","itwdf","rtwdf_","itwdf_","ie","ro","io","guessLen13b","odd","conjugate","normalize13b","ws","convert13b","stub","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","iushln","carryMask","newCarry","ishln","hint","extended","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","bhi","bhiBits","qj","divmod","divn","umod","divRound","dm","half","acc","egcd","B","C","D","isEven","im","isOdd","jm","_invmp","invm","bincn","ucmp","gtn","gten","gte","ltn","lten","lte","eqn","Red","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","imulK","outLen","mod3","one","nOne","lpow","inv","windowSize","wnd","currentLen","mont","resetOpts","textSelectedOptions","textUnselectedOptions","initOpts","findZeroCrossings","core","ยต","inputConfig","liveConfig","axisConfig","datum","_data","_index","dataOriginal","colorIndex","defaultColorRange","darker","strokeDash","strokeSize","isStacked","dataWithGroupId","grouped","nest","dataYStack","stacked","prevArray","yStack","sumArrays","chartCenter","highestStackedValue","arrayLast","flattenArray","DATAEXTENT","angularDataMerged","deduplicate","hasOnlyLineOrDotPlot","needsEndSpacing","useProvidedDomain","angularDomain","angularDomainStep","angularDomainWithPadding","tickCount","ticksCount","ticksStep","angularTicksStep","minorTicks","angularAxisRange","toPrecision","endPadding","doc","ownerDocument","importNode","documentElement","legendContainer","chartGroup","lineStyle","fontStyle","outlineColor","showLegend","display","datumClone","dotType","visibleInLegend","Legend","legendConfig","defaultConfig","reverseOrder","legend","legendBBox","getBBox","centeringOffset","titleBBox","gridLinesVisible","gridCircles","backgroundCircle","backgroundColor","currentAngle","tickSize","ticksSuffix","tickOrientation","angularAxisEnter","minorTickColor","tickLength","ticksText","labelOffset","labelsVisible","rewriteTicks","rightmostTickEndX","getCTM","hasGeometry","geometryContainer","geometryConfigs","geometryConfig","dB","iB","geometryConfigsGrouped","geometryConfigsGrouped2","finalGeometryConfig","angularValue","radialValue","guides","tooltipContainer","angularTooltip","tooltipPanel","radialTooltip","geometryTooltip","hasTick","angularGuideLine","mouseAngle","getMousePos","angleWithOriginOffset","convertToCartesian","angularGuideCircle","hide","newColor","textData","xClone","getinputConfig","category10","AREA","LINE","DOT","BAR","_override","_objA","_objB","_rndSnd","dataFromEquation2","_equation","_step","dataFromEquation","ensureArray","_val","_count","fillArrays","_obj","_valueNames","parse","validateKeys","objHasKeys","zip","arrayEqual","thetaRadians","_value","_digits","_referenceElement","mousePos","mouseX","mouseY","atan2","duplicatesCount","uniques","dups","duplicates","translator","sourceBranch","targetBranch","targetBranchCopy","previousValue","currentValue","PolyChart","colorScale","isStack","domainMin","pI","dataConfig","stackTop","stackedData","dotSize","getPolarCoordinates","interpolate","lineInterpolation","dotVisible","markStyle","lineSelection","angularRange","triangleAngle","startAngle","endAngle","innerRadius","outerRadius","geometryLayer","polarCoordinates","geometryType","getColorScale","category20","BarChart","AreaChart","DotPlot","flattenData","isContinuous","legendContainerGroup","svgEnter","dataNumbered","shapeGenerator","_type","squareSize","symbolTypes","colorBandWidth","legendElement","symbolType","legendAxis","textColor","tooltipEl","tooltipTextEl","backgroundEl","tooltipEnter","boxStyle","backGroundW","backGroundH","_pos","outputConfig","toTranslate","traceorder","funnels","funnelsVert","funnelsHorz","funnelnorm","minVal","maxVal","vertexShaderSource","fragmentShaderSource","maxDim","depthLimitEpsilon","maskHeight","dummyPixel","dataPixel","paletteTextureConfig","ensureDraw","read","_gl","SCISSOR_TEST","scissor","renderBlock","glAes","renderState","blockLineCount","sampleCount","rafKey","blockNumber","currentRafs","scissorX","scissorY","scissorWidth","viewBoxSize","clearOnly","drawCompleted","adjustDepth","palette","unitToColor","calcPickColor","rgbIndex","makePoints","paddedUnitValues","makeVecAttr","vecIndex","pointPairs","pad2","getAttrName","setAttributes","emptyAttributes","usage","makeItem","leftmost","rightmost","itemNumber","panelSizeX","panelSizeY","crossfilterDimensionIndex","drwLayer","constraints","canvasOverdrag","canvasWidth","canvasHeight","deselectedLinesColor","deselectedLines","itemModel","resolution","viewBoxPos","dim0A","dim0B","dim0C","dim0D","dim1A","dim1B","dim1C","dim1D","contextColor","layoutWidth","layoutHeight","scissorHeight","viewportX","viewportY","viewportWidth","viewportHeight","expandedPixelRange","dh","canvasGL","initialDims","maskTexture","isContext","isPick","paletteTexture","prevAxisOrder","profile","srcRGB","dstRGB","srcAlpha","dstAlpha","equation","cull","face","dither","loA","hiA","loB","hiB","loC","hiC","loD","hiD","dNew","viewModel","makeConstraints","limits","bitMask","prevEnd","nextRange","textureData","renderGLParcoords","panels","setChanged","panelCount","lowestX","highestX","dim0","canvasX","dim1","canvasY","nextX","readPixel","readPixels","pixelArray","meta_1","RADIUS","geomReduce","geom","calculateArea","polygonArea","ringArea","p3","lowerIndex","middleIndex","upperIndex","coordsLength","AX_ID_PATTERN","axNum","AX_NAME_PATTERN","only2d","idList","idi","sceneIds3D","zaxis","subplotLists","id1","id2","letter1","letter2","makeComputeErrorValue","dataPt","arrayminus","valMinus","computeErrorValue","computeErrorValueMinus","valueminus","scatterFormatLabels","headerGroupClassName","headerClassName","headerArrowClassName","dropdownButtonGroupClassName","dropdownButtonClassName","buttonClassName","itemRectClassName","itemTextClassName","menuIndexAttrName","autoMarginIdRoot","blankHeaderOpts","minWidth","minHeight","textPadX","arrowPadX","textOffsetX","textOffsetY","arrowOffsetX","gapButtonHeader","gapButton","activeColor","hoverColor","arrowSymbol","down","vectorizeText","getGlyph","GLYPH_CACHE","fontCache","lineSpacing","styletags","breaklines","bolds","italics","subscripts","superscripts","triSymbol","lineSymbol","bnsign","parseRect","parcats","parcatsModels","IslamicCalendar","islamic","treemapcolorway","extendtreemapcolors","crawl","objIn","objOut","valIn","valOut","nestedSchema","getNestedSchema","isInfoArray","isColorscale","isInSchema","valInPart","valOutPart","arrayItems","validate","_p","_nestedSchema","indexList","valInj","valOutj","fillLayoutSchema","dataOut","layoutSchema","traceSchema","traceLayoutAttr","dataIn","transformsIn","transformsOut","transformSchema","code2msgFunc","inBase","unused","convertPathToAttributeString","splitKey","keyMinusId","idMatch","mapboxgl","createMapboxLayer","Mapbox","_glcontainer","isStatic","createFramework","accessToken","styleObj","traceHash","layerList","belowLookup","dragging","accesstoken","updateMap","createMap","getStyleObj","Map","convertCenter","bearing","pitch","interactive","doubleClickZoom","boxZoom","attributionControl","addControl","AttributionControl","compact","_canvas","rejectOnError","initFx","once","fillBelowLookup","updateData","updateLayout","resolveOnRender","hasTraceAtTop","getBelow","val2list","traceType2orderIndex","choroplethmapbox","densitymapbox","scattermapbox","styleValuesMapbox","convertStyleVal","stylesNonMapbox","styleValueDflt","styleUrlPrefix","styleUrlSuffix","traceObj","calcDataSorted","idLoop","setCenter","setZoom","setBearing","setPitch","updateLayers","updateFramework","resize","_scrollZoom","scrollZoom","onRender","loaded","handler","mapOnErrorMsg","emitUpdate","viewNow","getView","getViewEditsWithDerived","fullLayoutNow","originalEvent","optsNow","_preGUI","getViewEdits","lngLat","lng","onClickInPanFn","clickMode","oldDragOptions","onClickInPanHandler","dragPan","pxpy","unproject","getCanvas","setOptions","getMapLayers","getStyle","addLayer","mapLayers","LngLat","mapCenter","getCenter","getZoom","getBearing","getPitch","_derived","open","high","low","close","configAttributes","plotlyServerURL","annotationTail","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","titleText","autosizable","responsive","fillFrame","frameMargins","doubleClick","doubleClickDelay","showAxisRangeEntryBoxes","showTips","showLink","linkText","noBlank","sendData","showSources","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","setBackground","topojsonURL","mapboxAccessToken","logging","notifyOnLogging","queueLength","globalTransforms","SHADERS","Pointcloud2D","offsetBuffer","pickBuffer","sizeMinCap","sizeMax","areaRatio","pointCount","pickOffset","createPointcloud2D","dataBox","visiblePointCountEstimate","pointVertex","pointFragment","pickVertex","pickFragment","addObject","removeObject","dataStraightThrough","idStraightThrough","idToIndex","Int32Array","packedId","unifiedDraw","MATRIX","PICK_VEC4","dataX","dataY","basicPointSize","pickPixelRatio","pointCloud","pointSize","centerFraction","DITHER","POINTS","pointId","dataCoord","calcHover","maxDistance","minDist","ptx","pty","dist","coordEach","bardir","createThunk","Procedure","argTypes","shimArgs","arrayBlockIndices","offsetArgs","offsetArgIndex","indexArgs","shapeArgs","debug","compileCwise","user_args","proc_args","arg_type","blockIndices","printCode","blockSize","m4interp","invert44","rotateX","rotateY","rotateZ","lookAt","translate","DEFAULT_CENTER","MatrixCameraController","initialMatrix","_components","prevMatrix","nextMatrix","computedMatrix","computedInverse","computedEye","computedUp","computedCenter","computedRadius","_limits","createMatrixCameraController","recalcMatrix","tidx","mat","comps","dt","imat","idle","lastT","setMatrix","yaw","roll","tvec","dz","setDistance","setDistanceLimits","lim","getDistanceLimits","hasColorbar","colorbarDefaults","npMaybe","parentCont","colorScaleDefaults","parentContIn","parentContOut","inTrace","thisFn","colorAxes","colorbarVisuals","minIn","maxIn","validMinMax","autoColorscaleDflt","sclIn","sclTemplate","showScale","handleABDefaults","_clipPathId","validData","coordDefaults","coordStr","coordType","isValidZ","allRowsAreArrays","oneRowIsFilled","hasOneNumber","xName","yName","handleLabelDefaults","showLines","_dfltShowLegend","pz","sc","cc","getDelay","getRedrawFunc","hasPolar","hasLegacyPolar","encodeSVG","encodeURIComponent","DOM_URL","URL","webkitURL","fixBinary","createObjectURL","blob","revokeObjectURL","createBlob","Blob","binary","atob","octetStream","IMAGE_URL_PREFIX","MSG_IE_BAD_FORMAT","initial","IntersectionObserver","isIntersecting","disconnect","leading","trailing","maxWait","modifiers","$el","$once","offsetParent","__visibility__listener__","debounce","inserted","__e","__g","F","G","W","virtual","U","valueOf","rootBounds","boundingClientRect","intersectionRect","intersectionRatio","_checkForIntersections","THROTTLE_TIMEOUT","_observationTargets","_queuedEntries","_rootMarginValues","_parseRootMargin","rootMargin","thresholds","_initThresholds","detatchEvent","host","IntersectionObserverEntry","POLL_INTERVAL","USE_MUTATION_OBSERVER","some","_registerInstance","_monitorIntersections","unobserve","_unmonitorIntersections","_unregisterInstance","takeRecords","_monitoringIntersections","_monitoringInterval","_domObserver","_rootIsInDom","_getRootRect","_rootContainsTarget","_computeTargetAndRootIntersection","_hasCrossedThreshold","_expandRectByRootMargin","padAttrs","buttonsAttrs","args2","showactive","borderLine","insertBlank","hasAnyBlanks","posAttr","newEntry","prevEntry","getInterp","pt1","subplotStackOpts","_scatterStackOpts","posj","sumj","groupOpts","valAttr","stackGroup","allPositions","_rawLength","cdj","arrayPad","ppadRaw","calcAxisExpansion","relinkPrivateKeys","toContainer","fromContainer","fromVal","toVal","minLen","platform","arch","execPath","browser","env","binding","cwd","chdir","kill","umask","dlopen","uptime","memoryUsage","uvCounters","NOT_FOUND","SUCCESS","EMPTY","IntervalTreeNode","leftPoints","rightPoints","createWrapper","rebuild","ntree","createIntervalTree","rebuildWithInterval","rebuildWithoutInterval","reportLeftRange","reportRightRange","reportRange","compareNumbers","compareBegin","compareEnd","leftIntervals","rightIntervals","centerIntervals","IntervalTree","rw","lw","queryPoint","queryInterval","tproto","Events","FROM_TL","FROM_BR","getLegendData","clickOrDoubleClick","legendItem","evtData","curveNumber","expandedIndex","frames","_frames","_group","clickVal","triggerHandler","_clickTimeout","_legendMouseDownTime","dblClickVal","drawTexts","isPieLike","isEditable","maxNameLength","_maxNameLength","textEl","ensureLength","textGap","newName","fullInput","groupbyIndices","kcont","keyedContainer","constructUpdate","targetLength","setupTraceToggle","newMouseDownTime","traceToggle","getTime","_dragged","computeTextDimensions","mathjaxNode","bw","mathjaxBB","textLines","textNode","titlePad","_titleWidth","_titleHeight","getTitleSize","computeLegendDimensions","isVertical","isGrouped","bw2","itemGap","endPad","getYanchor","isBelowPlotArea","isAbovePlotArea","_maxHeight","toggleRectWidth","_height","titleSize","tracegroupgap","_lgroupsLength","getXanchor","isLeftOfPlotArea","isRightOfPlotArea","isBeyondPlotAreaY","hw","_maxWidth","maxItemWidth","combinedItemWidth","maxRowWidth","maxGroupHeightInRow","groupOffsetX","groupOffsetY","maxWidthInGroup","offsetY","oneRowLegend","maxItemHeightInRow","offsetX","rowWidth","_effHeight","expandMargin","isRightAnchor","isCenterAnchor","isBottomAnchor","isMiddleAnchor","legendData","hiddenSlices","hiddenlabels","_topdefs","clipPath","ensureSingleById","scrollBox","scrollBar","scrollBarEnterAttrs","scrollBarColor","lx","ly","autoexpand","lx0","ly0","_scrollY","eventY0","eventY1","scrollBoxY0","scrollBarHeight","scrollBarMinHeight","scrollBarYMax","scrollBarMargin","scrollBoxYMax","scrollRatio","scrollBoxY","scrollBarWidth","scrollHandler","getScrollBarDragY","getNaturalDragY","scrollBarDrag","changedTouches","ctrlKey","scrollBoxTouchDrag","clickedTrace","scatterLineAttrs","newPlot","restyle","relayout","_guiRestyle","_guiRelayout","_guiUpdate","_storeDirectGUIEdit","react","extendTraces","prependTraces","addTraces","deleteTraces","moveTraces","purge","addFrames","deleteFrames","animate","setPlotConfig","downloadImage","templateApi","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","colorAttachmentArrays","saveFBOState","fbo","FRAMEBUFFER_BINDING","rbo","RENDERBUFFER_BINDING","TEXTURE_BINDING_2D","restoreFBOState","bindRenderbuffer","RENDERBUFFER","lazyInitColorAttachments","maxColorAttachments","MAX_COLOR_ATTACHMENTS_WEBGL","COLOR_ATTACHMENT0","NONE","throwFBOError","attachment","framebufferTexture2D","initRenderBuffer","component","createRenderbuffer","renderbufferStorage","framebufferRenderbuffer","rebuildFBO","createFramebuffer","numColors","_ext","useStencil","_useStencil","useDepth","_useDepth","colorType","_colorType","_color_rb","RGBA4","drawBuffersWEBGL","WEBGL_depth_texture","UNSIGNED_INT_24_8_WEBGL","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","DEPTH_COMPONENT","DEPTH_ATTACHMENT","_depth_rb","DEPTH_COMPONENT16","STENCIL_INDEX","STENCIL_ATTACHMENT","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","_destroyed","deleteFramebuffer","deleteRenderbuffer","Framebuffer","reshapeFBO","maxFBOSize","MAX_RENDERBUFFER_SIZE","WEBGL_draw_buffers","OES_texture_float","stencil","ternaryAxesAttrs","linecolor","titlefont","caxis","geoAxesAttrs","lightLine","scope","rotation","parallels","showcoastlines","coastlinecolor","coastlinewidth","showland","landcolor","showocean","oceancolor","showlakes","lakecolor","showrivers","rivercolor","riverwidth","showcountries","countrycolor","countrywidth","showsubunits","subunitcolor","subunitwidth","showframe","framecolor","framewidth","thisArg","targetObj","bindingValueHasChanged","changed","computeAnimateBindings","computeLayoutBindings","bindings","attrName","computeDataBindings","thisTraces","nAttr","thisPath","manageCommandObserver","commandList","onchange","_commandObserver","lookupTable","hasSimpleAPICommandBindings","check","checkEvents","_internalOn","_removeInternalListener","bindingsByValue","refBinding","computeAPICommandBindings","executeAPICommand","_method","allArgs","inCircle","testFlip","triangulation","stack","delaunayRefine","numPoints","stars","refDxy","dpdx","dpdy","offsetMultiplier","l2","offsetMultplier","defaultScale","getScale","parseScale","isValidScaleArray","highestVal","MAJOR_AXIS","MINOR_AXIS","SCREEN_AXIS","OFFSET_VEC","SHAPE","zeroVec","copyVec","vertBuffer","tickOffset","gridCount","gridOffset","vertBuf","drawAxisLine","minorAxis","majorAxis","noffset","screenAxis","drawAxisTicks","drawZero","createSlabDecomposition","createRBTree","orderSegments","SlabDecomposition","slabs","horizontal","compareHorizontal","searchBucket","lastNode","seg","IntervalSegment","closed","Event","numSegments","numEvents","events","horiz","castUp","bucket","hitNode","lastHit","lastSegment","otherHitNode","hbucket","compareInt","aw","bulletNumberDomainSize","bulletPadding","titlePadding","horizontalPadding","boxDefaults","spanmodeDflt","handlePointsDefaults","boxWidth","boxFillColor","boxLineColor","boxLineWidth","boxVisible","meanLineColor","meanLineWidth","meanLineVisible","meanline","exactEquals","isSvgPath","pathBounds","preprocessPolygon","makeSlabs","makeIntervalTree","visitInterval","intervalSearch","buildVerticalIndex","intervalTable","segs","buildSlabSearch","lastOrientation","classifyEmpty","createClassifyVertical","testVertical","createClassifyPointDegen","testNormal","loops","numLoops","vsegments","loop","numVertices","testSlab","imageDefaults","imageIn","imageOut","gdMock","axLetters","_imgIndices","addProjectionsToD3","d3_geo_projectFeature","d3_geo_projectGeometry","geometries","d3_geo_projectGeometryType","sink","d3_geo_projectObjectType","Feature","FeatureCollection","d3_geo_projectPoints","d3_geo_projectLines","d3_geo_projectPoint","d3_geo_projectLine","lineStart","d3_geo_projectNoop","lineEnd","d3_geo_projectPolygon","polygonStart","polygonEnd","holes","ring","d3_geo_projectClockwise","d3_geo_projectContains","Point","MultiPoint","MultiLineString","Polygon","MultiPolygon","Sphere","pj","xj","yj","ฮต","ฮต2","ฯ€","halfฯ€","radians","degrees","sinci","asin","projectionMutator","eckert4","ฮป","ฯ†","ฮด","cosฯ†","interrupt","lobes","forward","hemilobes","lobe","hemibounds","pointEqual","stream_","sphere","ฮป0","ฯ†0","ฯ†1","ฮป2","ฯ†2","resample","resampled","rotateStream","sphereStream","hammerAzimuthalEqualArea","azimuthalEqualArea","hammer","hammerQuarticAuthalic","hammerProjection","coefficient","kavrayskiy7","miller","mollweideBromleyฮธ","Cp","ฮธ","Cpsinฮธ","mollweideBromley","Cx","Cy","mollweide","SQRT2","naturalEarth","ฯ†4","robinsonConstants","robinson","sinusoidal","aitoff","sinciฮฑ","winkel3","sinฮป","sinฮป_2","cosฮป_2","sinฯ†","sin_2ฯ†","sin2ฯ†","cos2ฯ†","sin2ฮป_2","E","ฮดxฮดฮป","ฮดxฮดฯ†","ฮดyฮดฮป","ฮดyฮดฯ†","denominator","ฮดฮป","ฮดฯ†","innerFill","nargs","has_index","pidx","outerFill","matched","indexStr","countMatches","orders","processBlock","dtypes","carg","arrNum","offArgIndex","offArg","localStr","arrStr","reStrArr","ptrStrArr","typeSummary","summary","generateCWiseOp","blockBegin","blockEnd","loopBegin","loopEnd","loopOrders","arglist","off_arg","init_string","loopName","axisIDs","rangeSlider","rangeSliderData","_offsetShift","_rangeSliderData","bottomDepth","titleHeight","listAxes","RELATIVE_CULL_TOLERANCE","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","EventEmitter","svgToImg","emitter","Image","ieSvgError","svgBlob","h0","h1","img","isIE9orBelow","isSafari","onload","imgData","drawImage","errorMsg","onerror","cheaterslope","ascal","bscal","aval","bval","nb","adata","bdata","slope","mouseOffset","supportsPassive","coverSlip","pointerOffset","unhoverRaw","dragCover","initialTarget","rightClick","_clampFn","minDrag","_mouseDownTime","onStart","_ontouchstart","passive","ontouchstart","clampFn","onDone","onMove","MINDRAG","dxdy","_dragdata","e2","MouseEvent","createEvent","initMouseEvent","bubbles","cancelable","screenX","screenY","metaKey","relatedTarget","dispatchEvent","extractPlanes","handlePrefixSuffix","showAttrDflt","getShowAttrDflt","tickPrefix","tickSuffix","handleOtherDefaults","contColor","tickFormat","tickformatStops","inclusionAttr","tickformatstopDefaults","showAttrsAll","showAttrs","sameVal","every","valueIn","valueOut","pass","defaultMLC","noSelect","noLine","gradientType","argument","OPEN_RE","isDotSymbol","DOT_RE","heatmapHoverPoints","hoverPt","createIsosurfaceTrace","styleText","fillGroupStyle","textPointStyle","fixRegExpWellKnownSymbolLogic","requireObjectCoercible","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","nativeReplace","maybeCallNative","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","regexp","functionalReplace","fullUnicode","unicode","results","matchStr","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","capture","vertSrc","fragSrc","isosurfaceAttrs","surface","spaceframe","caps","opacityscale","flatshading","contour","scatterMapboxAttrs","choroplethLayer","backplot","bboxFeature","stronglyConnectedComponents","lowValue","scc","sccLinks","sccAdjList","strongConnect","linkCount","allLinks","adjacencyList","alphaShape","parseColorScale","str2RgbaArray","zip3","Mesh3DTrace","mesh","parseColorArray","toDataCoords","toRoundIndex","delaunayCells","delaunayaxis","hasValidIndices","createMesh3DTrace","_trace","handlePick","selectIndex","textLabel","zcalendar","alphahull","lightPosition","vertexNormalsEpsilon","vertexnormalsepsilon","faceNormalsEpsilon","facenormalsepsilon","contourEnable","contourColor","contourWidth","useFacetNormals","intensitymode","vertexcolor","vertexColors","facecolor","cellColors","meshColor","invalidArguments","invalidFormat","missingNumberAt","unknownNameAt","unexpectedLiteralAt","unexpectedText","settings","UNIX_EPOCH","SECS_PER_DAY","TICKS_EPOCH","TICKS_PER_DAY","ATOM","COOKIE","FULL","ISO_8601","JULIAN","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","monthNumbers","doubled","calculateWeek","iFormat","formatNumber","formatName","shortNames","longNames","formatMonth","localiseNumbers","formatMonthName","useLongName","localNumbers","literal","parseDate","parseMonth","doy","shortYear","getNumber","isDoubled","iValue","getMonthNumber","getName","getMonthName","checkLiteral","iSave","determineDate","dateSpec","defaultDate","currentDate","offsetString","pattern","Polar","DEFAULT_VERTEX_NORMALS_EPSILON","DEFAULT_FACE_NORMALS_EPSILON","getContour","closestPoint","SimplicialMesh","triShader","lineShader","trianglePositions","triangleIds","triangleColors","triangleUVs","triangleNormals","triangleVAO","edgePositions","edgeIds","edgeColors","edgeUVs","edgeVAO","pointPositions","pointIds","pointColors","pointUVs","pointSizes","pointVAO","contourPositions","contourVAO","triangleCount","edgeCount","contourLineWidth","contourCount","ambientLight","diffuseLight","specularLight","_model","_view","_projection","_resolution","getOpacityFromScale","genColormap","nshades","unpackIntensity","numVerts","cellIntensity","numCells","takeZComponent","createMeshShader","uv","createWireShader","createPointShader","createPointPickShader","createContourShader","createSimplicialMesh","meshTexture","vertexIds","vertexWeights","wi","pb","tPos","tCol","tNor","tUVs","tIds","ePos","eCol","eUVs","eIds","pPos","pCol","pUVs","pSiz","pIds","cellNormals","vertexUVs","cellUVs","intensityLo","intensityHi","cellIntensityBounds","meshPointSize","Uint32Array","inverseModel","kambient","kdiffuse","kspecular","eyePosition","invCameraMatrix","pickData","cellId","simplex","weights","interpIntensity","errorCoords","yh","noYS","xh","noXS","hasAnimation","keyFunc","xObj","error_x","yObj","error_y","sparse","errorbars","errorbar","vis","yerror","yw","xerror","xw","copy_ystyle","earcut","holeIndices","invSize","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","signedArea","insertNode","equals","removeNode","filterPoints","again","steiner","ear","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","zOrder","prevZ","nextZ","intersects","locallyInside","isValidDiagonal","getLeftmost","compareX","eliminateHole","findHoleBridge","hx","hy","my","tanMin","sectorContainsSector","sortLinked","numMerges","pSize","qSize","inSize","intersectsPolygon","middleInside","q2","o1","o2","o3","o4","onSegment","Node","an","deviation","trianglesArea","flatten","holeIndex","sz","handleShapeDefaults","shapeIn","shapeOut","dfltType","shapeType","xSizeMode","ySizeMode","pos2r","r2pos","attrAnchor","sizeMode","_shapeIndices","rangeToShapePosition","dflt0","dflt1","attr0","attr1","in0","in1","inAnchor","noneOrAll","IS_PURE","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","colorAttributes","asmoothing","bsmoothing","imax","jmax","f0","f1","f2","f3","ak","u3","ou","ou2","ou3","v3","ov","ov2","ov3","str2BN","createSelectBuffer","selectRange","SelectResult","SelectBuffer","_readTimeout","_readCallback","c2","c3","toMoveInsideBar","uniformText","recordMinTextSize","drawDescendants","drawAncestors","getKey","isHierarchyRoot","plotOne","findEntryWithLevel","selAncestors","selDescendants","isRoot","uniformtext","maxDepth","getMaxDepth","hasVisibleDepth","vpw","vph","barW","barH","barPad","pathbarOrigin","findClosestEdge","ref","tiling","isLeftOfRect","isRightOfRect","isBottomOfRect","isTopOfRect","prevLookupPathbar","prevLookupSlices","nextOfPrevEntry","getPrev","getOrigin","_maxDepth","_backgroundColor","_atRootLevel","cenX","cenY","viewMapX","viewMapY","barY0","barX0","viewBarX","viewBarY","xStart","limitX0","edgeshape","pathAncestor","halfH","pL","pR","pA","pB","pC","pD","pathDescendant","FILLET","hasFlag","hasBottom","hasTop","isHeader","hasRight","hasLeft","leftToRight","limY","constrained","anchorX","anchorY","interpFromParent","parentPrev","makeExitSliceInterpolator","entryPrev","prev0","getTextTransform","isEntry","cdmodule","_treemaplayer","isFullReplot","oneYear","oneMonth","oneDay","oneHour","oneMin","oneSec","biggestDigitChanged","biggestGuaranteedDigitChanged","nextDigit","didDigitChange","dateParts1","dateParts","dateParts2","disambiguateEdges","dv0","dv1","dv2","edge0","edge1","leftDigit","rightDigit","dashExclude","increment","isRightEdge","dashPos","roundedV","nextV","fromQuat","z2","yx","zx","zy","zz","wx","wy","wz","createColormap","indicies","fromrgba","torgba","nsteps","cmap","amt","rgb2hex","rgbaStr","rgb2float","dig","hex","lineColorDflt","noDash","setConvertCartesian","setConvertPolar","doAutoRange","dragBox","rad2deg","_hasClipOnAxisFalse","vangles","radialAxisAngle","clipPaths","clipIds","clipIdBase","forTraces","_polarlayer","radialTickLayout","angularTickLayout","strTickLayout","axLayout","computeSectorBBox","ax0","ay0","ax1","ay1","snapToVertexAngle","angleDist","findIndexOfMin","updateElement","strTranslate","strRotate","polarCalcData","polarLayout","generalUpdatePerTraceModule","radialLayout","angularLayout","layerNames","frontPlotIndex","layerData","isAngularAxisBelowTraces","isRadialAxisBelowTraces","xDomain","yDomain","xOffset","xLength","yLength","sectorInRad","xLength2","yLength2","xDomain2","yDomain2","sectorBBox","dxSectorBBox","dySectorBBox","arDomain","arSector","xOffset2","yOffset2","cxx","cyy","updateAngularAxis","updateRadialAxis","updateRadialAxisTitle","mockCartesianAxis","dPath","pathSubplot","bboxIndices","setRange","rl","drl","hasRoomForIt","fillViewInitialKey","setGeometry","gridPathFn","pathArc","newTickLayout","tickSign","tLayer","tLayer2","_angle","angleRad","cosa","sina","t2g","_transFn","transFn2","cosRad","sinRad","gridshape","angleDelta","isAngleInsideSector","updateAngularDrag","updateRadialDrag","updateMainDrag","MINZOOM","OFFEDGE","clampTiny","findXYatLength","findEnclosingVertexAngles","chw","cornerHalfWidth","chl","cornerLen","mainDrag","makeDragger","dimmed","lum","zb","dragOpts","xy2r","xy2a","ra2xy","pathCorner","pathSector","am","rm","pathCornerForPolygons","va0","va1","innerPts","outerPts","xy0","xy1","mperp","midPts","zoomPrep","polarLayoutNow","getLuminance","makeZoombox","makeCorners","clampAndSetR0R1","rr0","rr1","applyZoomMove","path1","cpath","transitionZoombox","updateObj","computeZoomUpdates","zoomMove","findPolygonRadius","findIntersectionXY","zoomMoveForPolygons","vangles0","vangles1","zoomDone","removeZoombox","showDoubleClickNotifier","newRng","zoomClick","dragModeNow","findPolygonOffset","rngIndex","radialDragBoxSize","ty","angle0","rbase","moveFn2","angle1","rprime","radialDrag","makeRectDragger","dvec","rvec","comp","rotateMove","rerangeMove","computeRadialAxisUpdates","dr","moduleCalcData","moduleCalcDataVisible","filterVisible","dbs","angularDragBoxSize","angularDrag","pathAnnulus","rot0","rot1","rrot1","scatterTraces","scatterPoints","scatterTextPoints","trans","trans2","isFullCircle","computeRotationUpdates","thetag","c2g","isPtInsidePolygon","isPtInsideSector","pathPolygon","pathPolygonAnnulus","formatPiePercent","vRounded","lastIndexOf","formatPieValue","getFirstFilled","castOption","itemStr","ARROWPATHS","ends","startRot","endRot","headStyle","startHeadStyle","startScale","doStart","doEnd","backOff","backoff","startBackOff","hideLine","backOffX","backOffY","startBackOffX","startbackOffY","pathlen","start0","dstart","end0","dend","shortening","drawhead","arrowHeadStyle","rot","arrowScale","noRotate","ctz","roundRat","iv","ir","ybits","lastReading","_lastValue","secondLastReading","deltaRef","lastY","relativeDelta","fromcurrent","ordering","final","columnwidth","header","bitmap","Ternary","makeFramework","aTickLayout","bTickLayout","cTickLayout","_ternarylayer","defs","layoutId","ternaryCalcData","ternaryLayout","graphSize","adjustLayout","plotbg","clipIdRelative","clipDef","clipDefRelative","plotContainer","grids","plotLayers","toplevel","whRatio","xDomainFinal","yDomainFinal","xDomainCenter","yDomainCenter","wmax","hmax","amin","bmin","yDomain0","triangleClip","triangleClipRelative","plotTransform","bTransform","bgrid","aTransform","agrid","cTransform","cgrid","drawAxes","aline","bline","cline","doTitles","titlesuffix","drawAx","apad","bpad","axLayer","counterAngle","stashKey","caRad","CLEN","BLPATH","BRPATH","TOPPATH","STARTMARKER","SHOWZOOMOUTTIP","mins0","span0","mins","dragger","clickZoomPan","plotDrag","dragDone","panPrep","makeUpdate","_mins","getAFrac","getBFrac","getCFrac","afrac","bfrac","cfrac","xSpan","dxScaled","dyScaled","minsorted","minindices","plotTransform2","mouseButtons","mouseElement","srcElement","mouseRelativeX","mouseRelativeY","handleRThetaDefaults","createGLPlot2D","createPick","createGrid","createText","createBox","GLPlot2D","gridLineEnable","gridLineWidth","gridLineColor","tickMarkLength","tickMarkWidth","tickMarkColor","tickPad","tickEnable","labelPad","labelAngle","labelEnable","labelColor","titleCenter","titleEnable","titleAngle","titleColor","zeroLineEnable","zeroLineWidth","zeroLineColor","borderLineEnable","borderLineWidth","borderLineColor","_tickBounds","static","pickDelay","_pickTimeout","_drawPick","_depthCounter","deepClone","compareTicks","setDirty","setOverlayDirty","nextDepthValue","viewPixels","zeroIntercept","drawTickMarks","scrX","scrY","pickResult","pickValue","setScreenBox","nbox","setDataBox","different","setViewBox","axisTicks","labelSize","labelFont","titleFont","addOverlay","removeOverlay","SIMPLE_PROPERTY_REGEX","NAME","VALUE","BOTH","UNSET","baseObj","keyName","valueName","baseProp","changeTypes","indexLookup","isSimpleValueProp","changeType","newValue","rename","createBoxes","Boxes","boxVert","drawBox","loX","loY","hiX","hiY","scatterPolarFormatLabels","possibleTypes","tarjan","isIndex","convertToD3Sankey","linkSpec","hasLinkColorArray","linkedNodes","componentCount","colorscales","maxNodeId","nodeCount","groupLookup","nodeIndex","groupedLinks","concentrationscale","totalCount","hasNodeColorArray","childrenNodes","circularityPresent","nodeLen","sources","targets","init2dArray","_nodes","_links","_groups","_groupLookup","GLSpikes2D","createSpikes2D","spikeEnable","spikeWidth","spikeColor","spikeCenter","centerX","centerY","ArrayIterator","kind","__kind__","prettyPrint","spacing","stepStr","sigFigs","xstr","xis","defaultTicks","ticksEqual","ticksA","ticksB","equal","IndexedObject","nativeAssign","alphabet","chr","argumentsLength","createTextElements","getText","TextElements","tickX","labelCount","textVert","textFrag","DATA_AXIS","SCREEN_OFFSET","ZERO_2","textAngle","screenScale","dataAxis","screenOffset","titleCount","titleOffset","DATA_SHIFT","DATA_SCALE","TEXT_SCALE","boundScale","dataCenter","dataWidth","viewLo","viewHi","viewScale","screenLo","screenHi","dataShift","textScale","textCoordinate","axesTicks","coordScale","coordShift","divide","images","currentPos","currentSize","newPos","newSize","createOrbitController","filterVector","mat4FromQuat","quatFromFrame","len3","len4","normalize4","al","OrbitCameraController","initQuat","initCenter","initRadius","computedRotation","quat","rr","getMatrix","uz","ul","rz","ru","fz","fu","fr","fl","fromJSON","transformMat4","pickSrc","createPickContourShader","_undefined","fixup","pcompile","makeOp","assign_ops","band","bor","bxor","lshift","rshift","rrshift","unary_ops","not","bnot","recip","binary_ops","neq","leq","geq","math_unary","math_comm","math_noncomm","any","prod","norm2squared","norm2","norminf","norm1","inf","argmin","argmax","assigns","webpackPolyfill","isPrototype","FROM_BL","plots","plotBasePlot","cleanBasePlot","OHLCattrs","boxAttrs","lineColorDefault","showLabels","globalFont","CONVERT_TO_STRING","second","codeAt","generated","originalArray","EPOCHJD","utcFormat","DATETIME_REGEXP","DATETIME_REGEXP_CN","YFIRST","isWorldCalendar","lpad","sunday","isJSDate","tzOffset","getTimezoneOffset","offsetTweak","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getMilliseconds","isWorld","isChinese","H","cDate","calInstance","isIntercalary","toMonthIndex","UTC","setUTCFullYear","getUTCMonth","getUTCDate","NINETYDAYS","THREEHOURS","FIVEMIN","includeTime","msec10","dateJD","timeMs","getUTCHours","ms2DateTimeLocal","fracMatch","modDateFormat","formatter","fracSecs","toFixed","MAXSECONDS","formatTime","timePart","timeStr","sec","secStr","extraFormat","THREEDAYS","dMonth","setUTCMonth","hiddenStore","createStore","INCREASING_COLOR","DECREASING_COLOR","baseTraceAttrs","valObjectDef","valObjectMeta","validateFunction","propMock","coerceFunction","data_array","propOut","enumerated","string","okToCoerce","strict","colorlist","isColor","subplotid","flaglist","vParts","info_array","coercePart","propPart","twoD","vNew","vOut","arrayItems2D","innerItemsOnly","attribute","propIn","dfltObj","coerceHoverinfo","moduleAttrs","valObj","_dataLength","smoDflt","usmoDflt","bnsub","trimLeft","trimRight","tinyCounter","mathRound","mathMin","mathMax","mathRandom","inputToRGB","_originalInput","_g","_roundA","_format","_gradientType","_ok","_tc_id","stringInputToObject","isValidCSSUnit","rgbToRgb","convertToPercentage","hsvToRgb","hslToRgb","boundAlpha","bound01","rgbToHsl","hue2rgb","rgbToHsv","rgbToHex","allow3Char","rgbaToHex","allow4Char","convertDecimalToHex","rgbaToArgbHex","desaturate","amount","toHsl","clamp01","saturate","greyscale","lighten","brighten","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","part","monochromatic","hsv","toHsv","modification","isDark","getBrightness","isLight","getOriginalInput","getFormat","getAlpha","RsRGB","GsRGB","BsRGB","setAlpha","toHsvString","toHslString","toHex","toHexString","toHex8","toHex8String","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","needsAlphaFormat","_applyModification","_applyCombination","fromRatio","color1","color2","mix","rgb1","rgb2","readability","isReadable","wcag2","wcag2Parms","validateWCAG2Parms","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","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","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flipped","isOnePointZero","processPercent","isPercentage","parseIntFromHex","convertHexToDecimal","matchers","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","hsva","hex3","hex6","hex4","hex8","named","parms","brackets","escape","bracket","pRE","replaceToken","refId","prevStr","replaceRef","curr","parenthesis","thicknessmode","lenmode","xpad","ypad","outlinecolor","outlinewidth","titleside","handleLonLatDefaults","isOutOfBounds","coerceEnumerated","arrayOrScalar","getLineWidth","mlw","baseAttributes","frameAttributes","animationAttributes","polarAreaAttrs","polarAxisAttrs","editTypes","IS_SUBPLOT_OBJ","IS_LINKED_TO_ARRAY","ARRAY_ATTR_REGEXPS","DEPRECATED","UNDERSCORE_ATTRS","layoutHeadAttr","basePlotModules","baseOverrides","recurseIntoValObject","valObject","newValObject","getTraceAttributes","copyBaseAttributes","copyModuleAttributes","fullAttrString","legendgroup","formatAttributes","isValObject","getLayoutAttributes","handleBasePlotModule","assignPolarLayoutAttrs","xkey","insertAttrs","getTransformAttributes","getFramesAttributes","mergeValTypeAndRole","formatArrayContainers","makeSrcAttr","role","itemName","newAttrs","valObjects","metaKeys","animation","specifiedLevel","attrString","findArrayAttributes","baseContainer","baseAttrName","arrayAttributes","isArrayStack","splittableAttr","crawlIntoTrace","astrPartial","newAstrPartial","tNum","objToString","heatmapPlot","makeCrossings","findAllPaths","emptyPathinfo","convertToConstraints","closeBoundaries","costConstants","LABELOPTIMIZER","makeBackground","plotgroup","perimeter","bggroup","bgfill","makeFills","hasFills","boundaryPath","fillgroup","fillitems","fullpath","prefixBoundary","joinAllPaths","endpt","newendpt","nexti","possiblei","addpath","startsleft","newloop","istop","isbottom","isleft","isright","smoothopen","ptNew","smoothclosed","makeLinesAndLabels","lineContainer","clipLinesForLabels","linegroup","lineClip","createLineClip","labelGroup","labelClipPathData","labelData","contourFormat","labelFormatter","dummyText","xLen","yLen","xRng","yRng","xMin","xMax","yMin","yMax","plotDiagonal","normLength","LABELDISTANCE","LABELINCREASE","calcTextOpts","LABELMIN","maxLabels","LABELMAX","findBestTextLocation","addLabelData","locationCost","halfWidth","halfHeight","normX","normY","cost","EDGECOST","ANGLECOST","labeli","dxd","dyd","sameLevel","distOffset","SAMELEVELDISTANCE","distFactor","NEIGHBORCOST","SAMELEVELFACTOR","clipGaps","clips","clipPathInfo","makeClipMask","emptyPoint","zmask","cdcontours","contourLayer","heatmapColoringLayer","cdheatmaps","leftedge","rightedge","bottomedge","topedge","fillPathinfo","makeLines","opencontourlines","pedgepaths","closedcontourlines","ppaths","formatAxis","_axis","plotBounds","INITIALSEARCHPOINTS","ITERATIONS","newLocation","newCost","MAXCOST","dxw","dxh","dyw","dyh","bBoxPts","lineClipPath","pieHelpers","parentString","isSunburst","isTreemap","_hasHoverLabel","_hasHoverEvent","onMouseOver","traceNow","ptNumber","getParent","_cast","castHoverinfo","hoverCenterX","hoverCenterY","pxmid","rInscribed","flag","valueLabel","currentPath","getPath","allPercents","insertPercent","percentParent","formatPercent","percentEntry","percentRoot","isValidTextValue","hoverItems","nameLength","hovertemplateLabels","rpx1","idealAlign","onMouseOut","noTransition","isLeaf","nextEntry","findEntryWithChild","nextLevel","typeClickEvtData","animOpts","g_ln","p_ln","lngamma","gamma","NATIVE_WEAK_MAP","objectHas","sharedKey","enforce","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","filterUnique","createParcatsModel","maxCats","createDimensionModel","dimensionInd","containerInd","displayInd","dimensionLabel","dragX","createCategoryModel","categoryInd","categoryValue","categoryLabel","valueInds","dragY","updateCategoryModel","categoryModel","valueInd","createPathModel","categoryInds","rawColor","updatePathModel","pathModel","getUniqueInfo","uniqueValues","uniqueValueCounts","uniqueValueInds","inds","uniqueVal","valInd","itemInd","uniqueCounts","validateDimensionDisplayInds","displayInds","displayindex","isRangePermutation","_displayindex","validateCategoryProperties","uniqueInfoDim","_categoryarray","_ticktext","indsSpecified","uniqueInfoDims","categoryValues","categoryorder","categoryarray","dimInd","markerColorscale","getMarkerColorInfo","tryColorscale","numValues","pathModels","categoryIndsDims","categoryIndsPath","pathColorInfo","pathKey","dimensionModels","catInd","catValue","catLabel","getPos","posAxis","hasPosArray","hasPos0","hasPosStep","pos0c","makeBins","initNestedArray","valAxis","numKey","boxVals","posArray","posDistinct","dPos","ptFilterFn","lf","uf","_hasPreCompStats","valArrayRaw","med","sortByVal","computeLowerFence","computeUpperFence","computeLowerOutlierBound","uo","computeUpperOutlierBound","computeNotchSpan","ln","un","imin","pts2","valArray","posBins","ptsPerBin","minLowerNotch","maxUpperNotch","usesExclusive","usesInclusive","lower","mci","TRACE_TO_CALC","scaleZoom","makePadFn","concatExtremes","getConstraintOpts","thisID","allAxisIds","idj","axj","doesNotConstrainRange","linkableAxes","counterAxj","thisGroup","linkableAxesNoLoops","updateConstraintGroups","constraintGroups","scaleanchor","scaleratio","groupi","keyj","thisGroupIndex","thisGroupKeys","baseScale","updateDomain","inputDomain","_inputDomain","constraintoward","matchOpts","scaleOpts","scaleanchorDflt","constrainDflt","_axisConstraintGroups","splomStash","axisID","normScale","minScale","maxScale","matchScale","normScales","hasAnyDomainConstraint","_inputRange","_constraintShrinkable","domainShrunk","rangeShrunk","rangeCenter","rangeMin","rangeMax","halfRange","outerMin","outerMax","getPad","extremes","minArray","maxArray","domainExpand","isConstrained","isView","DataView","_rowLength","len0","_constructor","arg0","argi","leni","allArray","totalLen","_requestRangeslider","rangeContainerIn","rangeContainerOut","yNames","rangemodeDflt","yAxOut","rangeMode","coerceRange","isCanvas","isElement","createCanvas","VectorMesh","triangleVectors","vector","createVectorMesh","tVec","velocity","surfaceAttrs","perStackAttrs","stackOpts","firstTrace","attrFound","traceHasAttr","isOrientation","trace2","heatmapCalc","zOut","cVals","min0","max0","isLeftAnchor","isTopAnchor","COMPARISON_OPS","CONSTRAINT_REDUCTION","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","hr","checkCollinear","modModule","twoPI","aBnds","rBnds","_path","aStart","aMid","aEnd","rStart","rEnd","isCircle","largeArc","d3_arraySlice","d3_array","d3_document","d3_documentElement","d3_window","defaultView","setProperty","d3_element_prototype","Element","d3_element_setAttribute","d3_element_setAttributeNS","setAttributeNS","d3_style_prototype","CSSStyleDeclaration","d3_style_setProperty","space","d3_ascending","d3_number","d3_numeric","d3_bisector","descending","quantile","numbers","variance","d3_bisect","d3_transposeLength","bisectLeft","bisect","bisectRight","bisector","shuffle","indexes","permutes","merged","d3_range_integerScale","d3_class","d3_Map","d3_map_proto","d3_map_zero","d3_map_escape","d3_map_unescape","d3_map_has","d3_map_remove","d3_map_keys","d3_map_size","d3_map_empty","d3_Set","d3_identity","d3_rebind","d3_vendorSymbol","d3_vendorPrefixes","prefixName","sortValues","rollup","mapType","keyValue","setter","valuesByKey","sortKey","keyMap","d3_noop","d3_dispatch","d3_dispatch_event","listeners","listenerByName","listener","d3_eventPreventDefault","d3_eventSource","d3_eventDispatch","of","thiz","argumentz","e1","requote","d3_requote_re","d3_subclass","__proto__","d3_selection","d3_selectionPrototype","d3_select","d3_selectAll","querySelectorAll","d3_selectMatches","d3_selectMatcher","Sizzle","matchesSelector","d3_selection_selector","d3_selection_selectorAll","subgroup","subnode","subgroups","d3_nsXhtml","d3_nsPrefix","xhtml","xlink","xml","d3_selection_attr","attrNull","removeAttribute","attrNullNS","removeAttributeNS","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","qualify","d3_collapse","d3_selection_classedRe","d3_selection_classes","d3_selection_classed","d3_selection_classedName","classedConstant","classedFunction","classList","d3_selection_style","styleNull","removeProperty","styleConstant","styleFunction","d3_selection_property","propertyNull","propertyConstant","propertyFunction","d3_selection_creator","namespace","namespaceURI","createNS","d3_selectionRemove","d3_selection_dataNode","d3_selection_filter","d3_selection_sortComparator","comparator","d3_selection_each","d3_selection_enter","d3_selection_enterPrototype","getAttributeNS","innerHTML","before","groupData","nodeData","updateNodes","enterNodes","exitNodes","nodeByKeyValue","keyValues","nextSibling","d3_selection_enterInsertBefore","d3_selection_on","d3_selection_onListener","d3_selection_onFilters","onRemove","onAdd","d3_selection_onFilter","upgroup","mouseenter","mouseleave","related","compareDocumentPosition","d3_event_dragSelect","d3_event_dragId","d3_event_dragSuppress","suppressClick","d3_mousePoint","d3_mouse_bug44083","ownerSVGElement","createSVGPoint","scrollX","border","ctm","getScreenCTM","pageX","pageY","matrixTransform","clientLeft","clientTop","d3_behavior_dragTouchId","identifier","touch","touches","mousedown","touchstart","subject","dragOffset","correspondingElement","dragged","dragId","dragName","dragSubject","moved","ended","dragRestore","position0","position1","ฯ„","ฯ„ฮต","d3_radians","d3_degrees","d3_sgn","d3_cross2d","d3_acos","d3_asin","d3_sinh","d3_cosh","d3_tanh","d3_haversin","ฯ","ฯ2","ฯ4","interpolateZoom","ux0","uy0","ux1","uy1","coshr0","translate0","center0","mousewheelTimer","touchtime","scaleExtent","d3_behavior_zoomInfinity","zooming","mouseup","mousedowned","d3_behavior_zoomWheel","mousewheeled","dblclicked","touchstarted","scaleTo","translateTo","zoomTo","__chart__","rescale","zoomstarted","zoomed","zoomended","location0","d3_selection_interrupt","scale0","locations0","distance0","zoomName","touchmove","touchend","relocate","started","LN2","distance1","scale1","d3_behavior_zoomDelta","deltaMode","wheelDelta","view1","d3_transitionInheritId","tween","d3_color","d3_hsl","d3_rgb_parse","d3_rgb_hsl","d3_hslPrototype","d3_hsl_rgb","m2","d3_rgb","d3_hcl","d3_lab_hcl","d3_lab","d3_rgb_lab","brighter","hcl","d3_hclPrototype","d3_hcl_lab","d3_lab_K","lab","d3_lab_X","d3_lab_Y","d3_lab_Z","d3_labPrototype","d3_lab_rgb","d3_lab_xyz","d3_xyz_rgb","d3_xyz_lab","d3_rgbNumber","d3_rgbString","d3_rgbPrototype","d3_rgb_hex","d3_rgb_parseNumber","d3_rgb_names","d3_rgb_xyz","d3_functor","d3_xhrType","response","mimeType","d3_xhr","xhr","headers","request","XMLHttpRequest","responseType","respond","d3_xhrHasResponse","load","XDomainRequest","onreadystatechange","readyState","onprogress","send","setRequestHeader","overrideMimeType","beforesend","abort","d3_xhr_fixCallback","responseText","functor","dsv","delimiter","reFormat","delimiterCode","typedResponse","formatRow","parseRows","eol","EOL","EOF","I","formatRows","fieldSet","fields","field","csv","tsv","d3_timer_queueHead","d3_timer_queueTail","d3_timer_interval","d3_timer_timeout","d3_timer_frame","d3_timer","d3_timer_step","d3_timer_mark","d3_timer_sweep","d3_format_precision","d3_formatPrefixes","d3_formatPrefix","d3_locale_numberFormat","locale_decimal","locale_thousands","locale_grouping","locale_currency","formatGroup","specifier","d3_format_re","zfill","comma","d3_format_types","d3_format_typeDefault","zcomma","fullSuffix","formatPrefix","after","toExponential","d3_time","d3_date","d3_date_utc","getDay","getUTCDay","getUTCFullYear","setDate","d3_time_prototype","setUTCDate","setDay","setUTCDay","setFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setMonth","setUTCSeconds","setTime","d3_time_interval","range_utc","d3_time_interval_utc","d3_locale_timeFormat","locale_dateTime","locale_date","locale_time","locale_periods","locale_days","locale_shortDays","locale_months","locale_shortMonths","d3_time_format","d3_time_formatPads","d3_time_formats","L","Z","d3_time_parse","localZ","d3_time_parsers","multi","d3_time_formatMulti","d3_time_periodLookup","d3_time_dayRe","d3_time_formatRe","d3_time_dayLookup","d3_time_formatLookup","d3_time_dayAbbrevRe","d3_time_dayAbbrevLookup","d3_time_monthRe","d3_time_monthLookup","d3_time_monthAbbrevRe","d3_time_monthAbbrevLookup","d3_time_formatPad","sundayOfYear","mondayOfYear","d3_time_zone","d3_time_parseWeekdayAbbrev","d3_time_parseWeekday","d3_time_parseMonthAbbrev","d3_time_parseMonth","d3_time_parseLocaleFull","d3_time_parseDay","d3_time_parseHour24","d3_time_parseDayOfYear","d3_time_parseMilliseconds","d3_time_parseMonthNumber","d3_time_parseMinutes","d3_time_parseAmPm","d3_time_parseSeconds","d3_time_parseWeekNumberSunday","d3_time_parseWeekdayNumber","d3_time_parseWeekNumberMonday","d3_time_parseLocaleDate","d3_time_parseLocaleTime","d3_time_parseYear","d3_time_parseFullYear","d3_time_parseZone","d3_time_parseLiteralPercent","years","week","weeks","d3_time_numberRe","d3_time_percentRe","d3_time_expandYear","zh","zm","formats","d3_locale_enUS","d3_adder","d3_adderSum","d3_adderTemp","av","d3_geo_streamGeometry","d3_geo_streamGeometryType","d3_geo_streamObjectType","d3_geo_streamLine","d3_geo_streamPolygon","GeometryCollection","coordinate","d3_geo_areaSum","d3_geo_area","d3_geo_centroidW0","d3_geo_centroidW1","d3_geo_centroidX0","d3_geo_centroidY0","d3_geo_centroidZ0","d3_geo_centroidX1","d3_geo_centroidY1","d3_geo_centroidZ1","d3_geo_centroidX2","d3_geo_centroidY2","d3_geo_centroidZ2","d3_geo_areaRingSum","d3_geo_areaRingStart","ฮป00","ฯ†00","cosฯ†0","sinฯ†0","nextPoint","dฮป","sdฮป","adฮป","d3_geo_cartesian","spherical","d3_geo_cartesianDot","d3_geo_cartesianCross","d3_geo_cartesianAdd","d3_geo_cartesianScale","d3_geo_cartesianNormalize","d3_geo_spherical","d3_geo_sphericalEqual","ฮป1","ฮป_","ฮป__","ฯ†__","dฮปSum","bound","ringPoint","ringStart","ringEnd","linePoint","equatorial","inflection","ฮปi","antimeridian","ฯ†i","compareRanges","withinRange","best","centroid","d3_geo_centroid","d3_geo_centroidPoint","d3_geo_centroidLineStart","d3_geo_centroidLineEnd","d3_geo_centroidRingStart","d3_geo_centroidPointXYZ","d3_geo_compose","compose","d3_true","d3_geo_clipPolygon","clipStartInside","d3_geo_clipPolygonIntersection","d3_geo_clipPolygonLinkCircular","isSubject","other","d3_geo_clip","pointVisible","clipLine","clipStart","rotatedClipStart","pointRing","d3_geo_pointInPolygon","polygonStarted","d3_geo_clipSort","pointLine","d3_geo_clipBufferListener","ringListener","ringSegments","d3_geo_clipSegmentLength1","rejoin","d3_geo_clipAntimeridian","d3_geo_clipAntimeridianLine","d3_geo_clipAntimeridianInterpolate","sฮป0","sฮป1","d3_geo_clipAntimeridianIntersect","cosฯ†1","sinฮป0_ฮป1","meridian","parallel","meridianNormal","polarAngle","point0","intersection","ฯ†arc","d3_geo_clipCircle","cr","smallRadius","notHemisphere","d3_geo_circleInterpolate","v00","point2","point1","two","n1","n2","n2n2","n1n2","n1xn2","polar","d3_geom_clipLine","d3_geo_clipExtentMAX","d3_geo_clipExtent","x__","y__","v__","x_","y_","v_","listener_","bufferListener","insidePolygon","wn","comparePoints","ca","d3_geo_conic","projectAt","d3_geo_projectionMutator","d3_geo_conicEqualArea","ฯ0","ฯ0_y","clipExtent","conicEqualArea","albers","albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","lower48Stream","alaskaStream","hawaiiStream","d3_geo_pathAreaSum","d3_geo_pathAreaPolygon","d3_geo_pathBoundsX0","d3_geo_pathBoundsY0","d3_geo_pathBoundsX1","d3_geo_pathBoundsY1","d3_geo_pathArea","d3_geo_pathAreaRingStart","x00","y00","d3_geo_pathBounds","d3_geo_pathBoundsPoint","d3_geo_pathBuffer","pointCircle","d3_geo_pathBufferCircle","pointLineStart","lineEndPolygon","pointRadius","d3_geo_lengthSum","d3_geo_pathCentroid","d3_geo_pathCentroidPoint","d3_geo_pathCentroidLineStart","d3_geo_pathCentroidLineEnd","d3_geo_pathCentroidRingStart","d3_geo_pathContext","d3_geo_resample","ฮด2","cosMinDistance","resampleRecursive","resampleNone","d3_geo_transformPoint","b00","resampleLineTo","dx2","dy2","d3_geo_pathProjectStream","d3_geo_projectionRadians","d3_geo_transform","d3_geo_projection","projectRotate","ฮดx","ฮดy","projectResample","ฮดฮณ","preclip","postclip","clipAngle","d3_geo_rotation","invalidate","d3_geo_equirectangular","d3_geo_identityRotation","d3_geo_rotationฮป","d3_geo_rotationฯ†ฮณ","d3_geo_forwardRotationฮป","cosฮดฯ†","sinฮดฯ†","cosฮดฮณ","sinฮดฮณ","sr","d3_geo_circleAngle","d3_geo_graticuleX","d3_geo_graticuleY","d3_source","d3_target","d3_geo_interpolate","cy0","sy0","cy1","sy1","kx0","ky0","kx1","ky1","projectStream","contextStream","cacheStream","methods","equirectangular","ฮ”ฮป","sinฮ”ฮป","cosฮ”ฮป","sinฯ†1","graticule","X1","X0","Y1","Y0","DX","DY","majorExtent","minorExtent","majorStep","minorStep","greatArc","source_","target_","d3_geo_length","d3_geo_lengthLineStart","d3_geo_azimuthal","azimuthal","cosฮป","sinc","cosc","d3_geo_azimuthalEqualArea","cosฮปcosฯ†","d3_geo_azimuthalEquidistant","d3_geo_conicConformal","d3_geo_mercator","d3_geo_conicEquidistant","azimuthalEquidistant","conicConformal","conicEquidistant","d3_geo_gnomonic","d3_geo_mercatorProjection","clipAuto","gnomonic","mercator","d3_geo_orthographic","orthographic","d3_geo_stereographic","d3_geo_transverseMercator","d3_geom_pointX","d3_geom_pointY","d3_geom_hullUpper","hs","d3_geom_hullOrder","stereographic","transverseMercator","flippedPoints","skipLeft","skipRight","d3_geom_polygonPrototype","d3_geom_polygonInside","d3_geom_polygonIntersect","x43","y43","ua","d3_geom_polygonClosed","d3_geom_voronoiEdges","d3_geom_voronoiCells","d3_geom_voronoiBeaches","d3_geom_voronoiFirstCircle","d3_geom_voronoiCircles","d3_geom_voronoiBeachPool","d3_geom_voronoiCirclePool","d3_geom_voronoiBeach","d3_geom_voronoiRedBlackNode","site","d3_geom_voronoiCreateBeach","beach","d3_geom_voronoiDetachBeach","d3_geom_voronoiDetachCircle","d3_geom_voronoiRemoveBeach","disappearing","lArc","iArc","nArcs","d3_geom_voronoiSetEdgeEnd","d3_geom_voronoiCreateEdge","d3_geom_voronoiAttachCircle","d3_geom_voronoiAddBeach","dxl","dxr","directrix","d3_geom_voronoiLeftBreakPoint","d3_geom_voronoiRightBreakPoint","newArc","lSite","rSite","hb","hc","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","d3_geom_voronoiCell","d3_geom_voronoiCloseCells","iHalfEdge","halfEdges","nHalfEdges","iCell","d3_geom_voronoiHalfEdge","d3_geom_voronoiCreateBorderEdge","d3_geom_voronoiHalfEdgeOrder","d3_geom_voronoiCircle","cSite","ha","d3_geom_voronoiClipEdges","d3_geom_voronoiConnectEdge","vb","fm","fb","va","d3_geom_voronoiEdge","d3_geom_voronoiRedBlackTree","d3_geom_voronoiRedBlackRotateLeft","d3_geom_voronoiRedBlackRotateRight","d3_geom_voronoiRedBlackFirst","d3_geom_voronoi","sites","d3_geom_voronoiVertexOrder","diagram","grandpa","uncle","sibling","voronoi","d3_geom_voronoiClipExtent","d3_geom_voronoiTriangleArea","d3_geom_quadtreeCompatX","d3_geom_quadtreeCompatY","d3_geom_quadtreeNode","d3_geom_quadtreeVisit","d3_geom_quadtreeFind","minDistance2","distance2","d3_interpolateRgb","ag","br","d3_interpolateObject","d3_interpolate","d3_interpolateNumber","d3_interpolateString","bm","d3_interpolate_numberA","d3_interpolate_numberB","delaunay","compat","x1_","y1_","x2_","y2_","nx","ny","insertChild","nPoint","interpolateRgb","interpolateObject","interpolateNumber","interpolateString","interpolators","d3_interpolateArray","interpolateArray","d3_ease_default","d3_ease","d3_ease_poly","d3_ease_quad","cubic","d3_ease_cubic","d3_ease_sin","d3_ease_exp","d3_ease_circle","elastic","d3_ease_elastic","back","d3_ease_back","bounce","d3_ease_bounce","d3_ease_mode","d3_ease_reverse","d3_ease_reflect","d3_ease_clamp","d3_ease_cubicInOut","d3_interpolateHcl","bh","d3_interpolateHsl","d3_interpolateLab","aa","d3_interpolateRound","d3_transform","kx","d3_transformNormalize","kz","d3_transformDot","d3_transformCombine","skew","interpolateHcl","interpolateHsl","interpolateLab","interpolateRound","d3_transformIdentity","d3_interpolateTransformPop","d3_interpolateTranslate","ta","tb","d3_interpolateRotate","ra","d3_interpolateSkew","d3_interpolateScale","ka","kb","d3_interpolateTransform","d3_uninterpolateNumber","d3_uninterpolateClamp","d3_layout_bundlePath","lca","d3_layout_bundleLeastCommonAncestor","d3_layout_bundleAncestors","ancestors","aNodes","bNodes","aNode","bNode","sharedNode","d3_layout_forceDragstart","fixed","d3_layout_forceDragend","d3_layout_forceMouseover","d3_layout_forceMouseout","d3_layout_forceAccumulate","charges","charge","pointCharge","interpolateTransform","bundle","chord","chords","sortGroups","sortSubgroups","sortChords","groupSums","subgroupIndex","dj","subindex","resort","friction","linkDistance","d3_layout_forceLinkDistance","linkStrength","d3_layout_forceLinkStrength","chargeDistance2","d3_layout_forceChargeDistance2","repulse","dw","dn","dragmove","resume","chargeDistance","neighbors","candidates","d3_layout_hierarchyRebind","d3_layout_hierarchyLinks","d3_layout_hierarchyVisitBefore","d3_layout_hierarchyVisitAfter","nodes2","d3_layout_hierarchyChildren","d3_layout_hierarchyValue","d3_layout_hierarchySort","childs","revalue","pie","d3_layout_pieSortByValue","padAngle","arcs","d3_layout_stackX","d3_layout_stackY","d3_layout_stackOut","d3_layout_stackOrderDefault","d3_layout_stackOffsetZero","series","d3_layout_stackOrders","d3_layout_stackOffsets","d3_layout_stackMaxIndex","sums","d3_layout_stackReduceSum","tops","bottoms","silhouette","wiggle","s2","s3","o0","zero","d3_layout_stackSum","d3_layout_histogramBinSturges","d3_layout_histogramBinFixed","d3_layout_histogramRange","d3_layout_packSort","d3_layout_packInsert","_pack_next","_pack_prev","d3_layout_packSplice","d3_layout_packIntersects","d3_layout_packSiblings","d3_layout_packLink","d3_layout_packPlace","isect","d3_layout_packUnlink","d3_layout_packTransform","d3_layout_treeSeparation","d3_layout_treeLeft","d3_layout_treeRight","d3_layout_treeMove","wm","wp","d3_layout_treeShift","d3_layout_treeAncestor","vim","ancestor","d3_layout_clusterY","d3_layout_clusterX","d3_layout_clusterLeft","d3_layout_clusterRight","d3_layout_treemapPadNull","d3_layout_treemapPad","d3_scaleExtent","d3_scaleRange","rangeExtent","d3_scale_bilinear","uninterpolate","d3_scale_nice","nice","d3_scale_niceStep","d3_scale_niceIdentity","histogram","frequency","valuer","ranger","binner","bin","separation","nodeSize","root0","root1","wrapTree","firstWalk","secondWalk","sizeNode","node1","siblings","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","cluster","previousNode","treemap","stickies","sticky","squarify","score","remaining","worst","stickify","rmax","rmin","padFunction","padConstant","ฯƒ","logNormal","bates","irwinHall","d3_scale_polylinear","d3_scale_linear","rangeRound","d3_scale_linearTicks","d3_scale_linearTickFormat","d3_scale_linearNice","d3_scale_linearRebind","d3_scale_linearTickRange","d3_scale_linearPrecision","d3_scale_linearFormatPrecision","d3_scale_linearFormatSignificant","d3_scale_log","niced","d3_scale_logNiceNegative","d3_scale_logFormat","d3_scale_pow","powp","d3_scale_powPow","powb","d3_scale_ordinal","rangeBand","rangePoints","rangeRoundPoints","rangeBands","outerPadding","rangeRoundBands","d3_category10","d3_category20","category20b","d3_category20b","category20c","d3_category20c","d3_scale_quantile","quantiles","invertExtent","d3_scale_quantize","d3_scale_threshold","d3_scale_identity","d3_zero","quantize","d3_svg_arcInnerRadius","d3_svg_arcOuterRadius","cornerRadius","padRadius","d3_svg_arcAuto","d3_svg_arcStartAngle","d3_svg_arcEndAngle","d3_svg_arcPadAngle","circleSegment","d3_svg_arcSweep","rc1","rc0","oc","kc","lc","t30","d3_svg_arcCornerTangents","t12","t03","ox","oy","cx0","cx1","d3_svg_line","defined","d3_svg_lineLinear","interpolateKey","tension","d3_svg_lineInterpolators","d3_svg_lineLinearClosed","d3_svg_lineStep","d3_svg_lineStepBefore","d3_svg_lineStepAfter","basis","d3_svg_lineBasis","d3_svg_lineBasisOpen","d3_svg_lineBasisClosed","d3_svg_lineBundle","cardinal","d3_svg_lineCardinal","d3_svg_lineCardinalOpen","d3_svg_lineCardinalClosed","monotone","d3_svg_lineMonotone","d3_svg_lineHermite","d3_svg_lineCardinalTangents","tangents","lp","d3_svg_lineDot4","d3_svg_lineBasisBezier3","d3_svg_lineBasisBezier","d3_svg_lineBasisBezier1","d3_svg_lineBasisBezier2","d3_svg_lineSlope","d3_svg_lineFiniteDifferences","d3_svg_lineMonotoneTangents","d3_svg_lineRadial","d3_svg_area","interpolateReverse","points0","points1","fx0","fy0","fx1","fy1","d3_svg_chordRadius","d3_svg_diagonalProjection","d3_svg_diagonalRadialProjection","d3_svg_symbolSize","d3_svg_symbolType","d3_svg_symbolCircle","projection_","d3_svg_symbols","d3_svg_symbolTan30","d3_svg_symbolSqrt3","d3_transitionId","d3_transitionNamespace","d3_transitionInherit","d3_transitionNode","d3_transition","d3_selection_interruptNS","lock","activeId","d3_transitionPrototype","d3_transition_tween","d3_transition_text","tweens","schedule","elapsed","cancelId","subnodes","nameNS","attrTweenNS","styleTween","inheritId","id0","tickFormat_","d3_svg_axisDefaultOrient","innerTickSize","outerTickSize","tickPadding","tickArguments_","tickValues","tickTransform","tickEnter","tickExit","tickUpdate","pathUpdate","lineEnter","lineUpdate","textEnter","textUpdate","d3_svg_axisX","d3_svg_axisY","d3_svg_axisOrients","tickSubdivide","xExtentDomain","yExtentDomain","xExtent","yExtent","xClamp","yClamp","resizes","d3_svg_brushResizes","brushstart","d3_svg_brushCursor","gUpdate","backgroundUpdate","redrawX","redrawY","eventTarget","event_","resizing","resizingX","resizingY","keydown","keyup","brushmove","brushend","ex","ey","keyCode","move1","extent1","extent0","d3_time_formatUtc","d3_time_formatIso","d3_time_formatIsoNative","toISOString","d3_time_scale","tickMethod","d3_time_scaleSteps","d3_time_scaleMilliseconds","d3_time_scaleDate","skip","skipped","iso","seconds","minute","minutes","hour","timezone","hours","d3_time_scaleLocalMethods","d3_time_scaleLocalFormat","d3_time_scaleUtcMethods","d3_time_scaleUtcFormat","d3_json","d3_html","selectNode","createContextualFragment","responseXML","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","src_map","src_nest","createResult","setResult","createObject","setObject","setMap","Set","zLabelVal","_indexToPoints","percentInitial","percentPrevious","percentTotal","findNearestOnAxis","generateIsoMeshes","VolumeTrace","createVolumeTrace","rawId","_meshX","_meshY","_meshZ","_Ys","_Zs","_Xs","_meshI","_meshJ","_meshK","_meshIntensity","baseFilter","calcDataFilter","isCalcData","filterFn","getCentroid","isFunctionStringTag","isV","getStackOpts","interpolateGaps","setFirstScatter","xAttr","yAttr","xValid","yValid","xId","yId","firstScatter","_firstScatter","firstScatterGroup","stackOrientation","xOptions","yOptions","markerTrans","sizeOut","stackAx","clickModule","convertCoords","visibleDflt","autorangeDflt","reverseDflt","noHover","ticksonDflt","isMultiCategory","noTickson","showDividers","excludeWrapCoord","stopG","geometryMaybeCollection","isGeometryCollection","wrapShrink","coordIndex","isFeatureCollection","isFeature","featureIndex","geomIndex","multiFeatureIndex","geometryIndex","geomType","coordReduce","initialValue","currentCoord","propEach","propReduce","currentProperties","featureEach","featureReduce","currentFeature","coordAll","geomEach","featureProperties","featureBBox","featureId","currentGeometry","flattenEach","flattenReduce","segmentEach","segmentIndex","previousCoords","previousFeatureIndex","previousMultiIndex","prevGeomIndex","featureIndexCoord","multiPartIndexCoord","currentSegment","segmentReduce","lineEach","lineReduce","findSegment","findPoint","stepAttrs","sliderDefaults","sliderIn","sliderOut","stepCount","_stepCount","visSteps","_visibleSteps","currentValueIsVisible","countTrailingZeros","ctzNumber","BINATTRS","aStr","BINDIRECTIONS","binDir","allBinOpts","histTraces","mustMatchTracesLookup","otherTracesList","orientation2binDir","getAxisType","fillBinOpts","fallbackGroupName","needsNewItem","_xautoBinFinished","_yautoBinFinished","aGroupId","binGroupFound","bingroupIn","binGroup","binGroupInDir","attrSpec","nbinsFound","_pielayer","isRat","colorAxIn","colorAxOut","coerceAx","svgAttrs","colorMix","lightFraction","gridColorDflt","gridColor","gridWidth","showGridLines","showZeroLine","wrappedWellKnownSymbolModule","scatterGeoAttrs","mapboxAttrs","npGet","curPart","allSame","curCont","propStr","indexed","propParts","badContainer","npSet","ARGS_PATTERN","isDeletable","containerLevels","toDelete","setArrayAll","checkNewContainer","joinPropStr","newPart","toAdd","containerArray","innerParts","arrayVal","allSet","thisVal","thisPropStr","deleteThis","firstPart","nextPart","_sunburstlayer","colorDflt","colorDfltRgba","opacityDflt","calculateColor","colorIn","opacityIn","colorOut","validateColor","validateOpacity","formatColor","getColor","getOpacity","colori","opacityi","isArrayColorIn","isArrayOpacityIn","globalConfig","PlotlyConfig","MathJaxConfig","skipStartupTypeset","Configured","AxesOptions","tickFont","lineEnable","lineMirror","lineTickEnable","lineTickMirror","lineTickLength","lineTickWidth","lineTickColor","gridEnable","zeroEnable","backgroundEnable","_defaultTickPad","_defaultLabelPad","_defaultLineTickLength","createAxesOptions","showbackground","backgroundcolor","makeSet","yr","xd","yd","rowFromTo","rowFrom","rowTo","headerPanel","headerCells","headerRowBlocks","revolverPanel1","revolverPanel2","fromTo","buster","Int8Array","Int16Array","Float64Array","affineHull","linearlyIndependent","nhull","piecolorway","extendpiecolors","DATE_FORMAT_LINK","handleAxisPositionDefaults","axisLayoutAttrs","SI_PREFIX","drawBulletGauge","bullet","axisLayer","gaugeBg","gaugeOutline","bulletHeight","innerBulletHeight","bulletLeft","bulletRight","drawRect","bgBullet","styleShape","fgBullet","bulletOutline","drawAngularGauge","gaugePosition","valueToAngle","arcPathGenerator","drawArc","bgArc","valueArcPathGenerator","valueArc","valueArcPath","arcTween","thresholdArc","gaugeBorder","drawNumbers","bignumberbBox","deltabBox","numbersbBox","numbersX","numbersY","numbersAlign","numbersAnchor","transitionFormat","transitionValueFormat","transitionAx","drawBignumber","bignumberAx","bignumberSuffix","bignumberPrefix","writeNumber","interpolator","transitionFmt","drawDelta","deltaAx","deltaFmt","deltaValue","deltaFormatText","numberFmt","deltaFill","_deltaLastValue","writeDelta","bignumberCenter","deltaCenter","numbersScaler","scaleRatio","_numbersTop","newAngle","zrange","axisOptions","fitTextInsideBox","fitTextInsideCircle","elRadius","textAnchor","_indicatorlayer","hasGauge","angularGauge","angularaxisLayer","bulletGauge","bulletaxisLayer","titleY","titleX","titlebBox","scatterPolarAttrs","theta0","dtheta","AxisSpikes","OUTER_FACE","INNER_FACE","lastCubeProps","outerFace","innerFace","gridAttrs","roworder","noGridCell","getAxes","gridVal","splomVal","sizeDefaults","gridIn","dfltRows","dfltColumns","hasSubplotGrid","hasXaxes","hasYaxes","isSplomGenerated","gridOut","useDefaultSubplots","_hasSubplotGrid","dfltSideX","dfltSideY","rowOrder","dfltGapX","dfltGapY","_domains","fillGridPositions","dfltGap","dfltSide","dirGap","cellDomain","cellStart","contentDefaults","subplotsOut","yPos","axisMap","_axisMap","subplotsIn","rowOut","rowIn","fillGridAxes","anchors","_anchors","axisId","iFinal","axesIn","axesAllowed","fillOneAxis","parcoords","newIndex","visibleIndices","orig","origIndex","currentIndex","sorter","currentDims","fullIndices","inputIndices","iIn","filterChanged","initialDimIndex","newRanges","newConstraints","preGUI","constraintrange","fullDimension","restyleData","axesMoved","legendLayout","isReversed","minMax","setConvertRadial","rFilter","g2c","g2p","toRadians","fromRadians","setConvertAngular","_d2c","_c2d","coord0","dcoord","rad2c","c2rad","rad2t","t2rad","rad2g","g2rad","catLen","_period","g2t","applyOrigin","tittle","clearRect","topPx","firstTop","getImageData","bottomPx","baselinePx","baseline","alphabetic","medianPx","hangingPx","hanging","ideographicPx","ideographic","capHeight","xHeight","firstBottom","overshootPx","iData","UmmAlQuraCalendar","daysCount","mcjdn","ummalqura_dat","lunation","ii","ummalqura","near","far","mappers","dict","sunburstcolorway","extendsunburstcolors","alphaComplex","circumradius","scalegroup","scalemode","spanmode","piePlot","determineInsideTextFont","layoutAreas","prerenderTitles","positionTitleOutside","formatSliceLabel","getBetween","setCoords","baseratio","h2","totalValues","sumSteps","allPoints","getPoint","hidden","lastX","rY","prevLeft","prevRight","TL","TR","BL","BR","calcPos","_funnelarealayer","textPosition","titleTextGroup","globalThis","permutationSign","visited","_120","bezierX","bezierY","quadX","quadY","quadratic","large_arc_flag","sweep_flag","recursive","rx2","ry2","f2old","x2old","y2old","degress","activeXDocument","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","contentWindow","NullProtoObject","ActiveXObject","safeToString","reNewLine","ia","Ab","Za","Bb","Cb","onDestroy","Db","$a","Eb","devicePixelRatio","extensions","optionalExtensions","Fb","restore","J","alloc","allocType","freeType","ma","eb","Ha","Ia","gb","Gb","persistentData","bufferData","Qa","bufferCount","deleteBuffer","bindBuffer","getTotalBufferSize","jb","Ra","ja","_reglType","_buffer","subdata","bufferSubData","createStream","destroyStream","getBuffer","_initBuffer","Hb","primType","vertCount","oes_element_index_uint","elementsCount","uint16","uint32","Sa","getElements","lb","Ib","Ea","mb","Ta","Jb","ob","Ja","qa","Kb","internalformat","flipY","premultiplyAlpha","compressed","unpackAlignment","colorSpace","channels","alignment","Lb","La","pixelStorei","needsFree","needsCopy","fa","ga","Ua","qb","naturalWidth","naturalHeight","sb","videoWidth","videoHeight","Ma","compressedTexSubImage2D","copyTexSubImage2D","genMipmaps","mipmapHint","mipmask","mipmap","compressedTexImage2D","copyTexImage2D","ib","anisotropic","Va","Mb","V","K","ext_texture_filter_anisotropic","refCount","bindCount","texInfo","Aa","pixels","textureCount","fast","nearest","none","rgba4","rgb565","luminance","ext_srgb","srgb","srgba","oes_texture_float","oes_texture_half_float","float16","webgl_depth_texture","webgl_compressed_texture_s3tc","webgl_compressed_texture_atc","webgl_compressed_texture_pvrtc","webgl_compressed_texture_etc1","Nb","textureFormats","oa","za","ea","maxTextureUnits","decRef","getTotalTextureSize","create2D","subimage","_texture","createCube","cubeCount","getTexture","Ob","renderbuffer","_renderbuffer","framebuffer","colorAttachments","depthStencilAttachment","stencilAttachment","depthAttachment","framebufferCount","getError","colorCount","colorTexture","colorFormat","depthTexture","depthStencilTexture","depthStencil","Wa","Na","_framebuffer","use","setFBO","ext_color_buffer_half_float","webgl_color_buffer_float","getFramebuffer","ub","divisor","Pb","maxAttributes","Record","Qb","fragId","vertId","uniformsCount","attributesCount","getActiveUniform","getActiveAttrib","getAttribLocation","getMaxUniformsCount","getMaxAttributesCount","shaderCount","Rb","framebufferWidth","framebufferHeight","Ba","Ca","Sb","def","save","cond","Oa","thisDep","contextDep","propDep","Tb","Ka","Fa","batchId","shared","invoke","attribCache","scopeAttrib","scissor_box","strings","progVar","OFFSET","ELEMENTS","isBufferArgs","primTypes","instances","Xa","compareFuncs","Ga","dst","blendFuncs","blendEquations","Pa","fail","zfail","zpass","stencilOps","Da","isStream","glTypes","drawBuffer","backBuffer","instancing","contextDynamic","needsContext","needsFramebuffer","la","isDynamic","unbox","DynamicVariable","ext_blend_minmax","angle_instanced_arrays","webgl_draw_buffers","orientationType","maxDrawbuffers","procs","Ub","define","accessor","Ya","Vb","colorBits","depthBits","stencilBits","subpixelBits","maxAnisotropic","pointSizeDims","lineWidthDims","maxViewportDims","maxCombinedTextureUnits","maxCubeMapSize","maxRenderbufferSize","maxVertexUniforms","maxVertexTextureUnits","maxVaryingVectors","maxFragmentUniforms","glsl","vendor","readFloat","npotTextureCube","int8","int16","int32","triangle","Wb","renderbufferCount","rgba16f","rgb16f","rgba32f","getTotalRenderbufferSize","never","lequal","greater","notequal","gequal","always","keep","decrement","Xb","endQueryIndex","startQueryIndex","ext_disjoint_timer_query","beginQuery","createQueryEXT","beginQueryEXT","endQuery","endQueryEXT","pushScopeStats","getQueryObjectEXT","gpuTime","getNumPendingQueries","deleteQueryEXT","refresh","opBack","opFront","cpuTime","batch","poll","clearDepth","clearStencil","getContextAttributes","framebuffer_reglType","framebufferCube","hasExtension","_refresh","timerCache","_clearTimeout","minInterval","previousOnDone","ReflectOwnKeys","Reflect","ReflectApply","receiver","ProcessEmitWarning","warning","ownKeys","NumberIsNaN","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","existing","newListener","onceWrapper","fired","removeListener","wrapFn","_onceWrap","_listeners","evlistener","unwrapListeners","arrayClone","listenerCount","spliceOne","RangeError","setMaxListeners","getMaxListeners","doError","er","addListener","prependListener","prependOnceListener","originalListener","removeAllListeners","rawListeners","eventNames","circuits","blocked","Ak","unblock","circuit","subgraph","minId","adjacencyStructureSCC","leastVertexComponent","sccs","ccs","leastVertex","vertexId","ShaderAttribute","_wrapper","_locations","_constFunc","addVectorAttribute","constFuncArgs","varNames","addMatrixAttribute","vertexAttribPointer","scratch","vertexAttrib","locs","mockGd","xLabel","yLabel","xyAttrs","copy_zstyle","xyzAttrs","error_z","hoverInfo","calcPoint","hoverPoint","yerr","yerrneg","xerr","xerrneg","scatter","scatter3d","scattergl","makeComputeError","parsed","do_convert","createShaderWrapper","perspectiveVertSrc","orthographicVertSrc","projectionVertSrc","drawFragSrc","ATTRIBUTES","pickPerspective","pickOrtho","pickProject","glyph","createPerspective","createOrtho","createProject","createPickPerspective","createPickOrtho","createPickProject","makeIncrements","nonuniform","binsToCalc","getRanges","uniqueVals","gapLow","gapHigh","xr2c","yr2c","xc2r","yc2r","xBinsAndPos","xBinSpec","xPos0","yBinsAndPos","yBinSpec","yPos0","onecol","zerocol","nonuniformBinsX","nonuniformBinsY","xEdges","yEdges","densitynorm","extremefunc","sizeinit","binfunc","normfunc","doavg","xinc","yinc","xBinSize","xBinStart","xBinEnd","yBinSize","yBinStart","yBinEnd","ipCol","uniqueValsPerX","uniqueValsPerY","xVals","yVals","xGapLow","xGapHigh","yGapLow","yGapHigh","YANGLE","HOVERARROWSIZE","HOVERTEXTPAD","HOVERFONTSIZE","HOVERFONT","HOVERMINTIME","HOVERID","axisLetter","crossAxisLetter","j1","gridlines","_gridlines","minorgridlines","_minorgridlines","boundarylines","_boundarylines","crossData","crossAxis","xcp","_xctrl","ycp","_yctrl","nea","neb","constructValueGridline","tj","pxy","dxydi0","dxydi1","dxydj0","dxydj1","xpoints","ypoints","b2j","crossLength","evalxy","dxydi","a2i","dxydj","constvar","constructArrayGridline","arraytick0","arraydtick","minorgridcount","minorgridcolor","minorgridwidth","startline","startlinecolor","startlinewidth","endline","endlinecolor","endlinewidth","annotationsDone","emitClick","stopImmediatePropagation","isAbsolute","isTotal","previousSum","hasTotals","rawS","mlc","els","unels","matrixOpts","unselectedOptions","selectedOptions","viewOpts","description","dfltX","dfltY","calcMarkerColorscale","isNonBlankString","isValidLoc","hasLocationData","scatterPlot","mlayer","rg","boxPlot","linePoints","cdViolins","violinLayer","makePath","baseTolerance","linearized","bPos","bdPos","hasBothSides","hasPositiveSide","hasNegativeSide","violins","pathPos","pathNeg","pathSel","density","posCenter","maxKDE","groupStats","_violinScaleGroupStats","maxCount","startPt","endPt","bdPosScaled","bPosPxOffset","plotBoxAndWhiskers","plotBoxMean","meanPaths","plotPoints","paste","traceAttr","cdAttr","makeCoerceHoverInfo","fillFn","fillArray","valuesuffix","arrangement","basePlotLayoutAttributes","handleTypeDefaults","handlePositionDefaults","appendList","ax2traces","xaMayHide","yaMayHide","xaMustDisplay","yaMustDisplay","yaMustNotReverse","yaMayReverse","axHasImage","noGrids","xaName","yaName","positionAxis","xNames","axNames","plotBgColor","axLayoutIn","axLayoutOut","getCounterAxes","counterAxes","getOverlayableAxes","axName2","_annIndices","_counterAxes","overlayableAxes","defaultOptions","spikedash","spikemode","spikesnap","showSpikes","rangeSliderDefaults","rangeSelectorDefaults","anchoredAxis","fixedRangeDflt","group2","layerName","getExtraText","isAll","hasLon","hasLat","lonShift","xval2","distFn","lonlatShifted","drawing","setPosition","setSize","translatePoint","translatePoints","hideOutsideRangePoint","singleLineStyle","ld","lw1","dashStyle","dlw","singleFillStyle","SYMBOLDEFS","symbolNames","symbolFuncs","symbolNeedLines","symbolNoDot","symbolNoFill","symDef","MAXSYMBOL","DOTPATH","makePointPath","symbolNumber","vbase","HORZGRADIENT","VERTGRADIENT","stopFormatter","gradientInfo","radialreversed","horizontalreversed","vertical","verticalreversed","gradientID","colorStops","fullID","stops","tc","tinyRGB","getFullUrl","className2query","_gradientUrlQueryParts","initGradients","gradientsGroup","makePointStyleFns","singlePointStyle","ms2mrc","om","perPointGradient","so","markerLineWidth","mlcc","lineScale","markerScale","mgt","gradientColor","mgc","selectedAttrs","unselectedAttrs","selectedMarker","unselectedMarker","smo","usmo","smoIsDefined","usmoIsDefined","smc","usmc","sms","usms","smsIsDefined","usmsIsDefined","makeSelectedTextStyleFns","selectedTextFont","unselectedTextFont","stc","selectedTextColorFn","mrc2","TEXTOFFSETSIGN","textPointPosition","markerRadius","numLines","extracTextFontSize","extractOption","tp","CatmullRomExp","makeTangent","prevpt","thispt","nextpt","smoothness","d1x","d1y","d2x","d2y","d1a","d2a","numx","numy","denom1","denom2","pLast","STEPPATH","hv","vh","hvh","vhv","STEPLINEAR","onestep","makeTester","testref","savedBBoxes","savedBBoxesCount","maxSavedBBoxes","nodeHash","inputText","localId","baseUrl","_exportedPlot","_baseUrl","inTester","testNode","innerBB","testRect","SCALE_RE","yScale","TEXT_POINT_LAST_TRANSLATION_RE","existingTransform","propertyKey","copyPathinfo","pi0","pi1","op0","op1","dupe_array","dupe_number","dupe","stringCoerce","toShortString","resolveMessage","defaultMessage","inputOptions","isOptional","errorMessage","SHOWISOLATETIP","itemClick","itemclick","itemDoubleClick","itemdoubleclick","attrUpdate","attrIndices","carrs","carrIdx","thisLabelIndex","hasLegendgroup","traceIndicesInGroup","nextVisibility","setVisibility","isClicked","isInGroup","notInLegend","otherState","isIsolated","updateKeys","insertUpdate","attrIndex","valueArray","lastGroupbyIndex","curState","hoverConstants","oldhoverdata","calcCommon","ptFunc","_numBoxes","literals100","operators","builtins100","literals300es","builtins300es","NORMAL","TOKEN","BLOCK_COMMENT","LINE_COMMENT","PREPROCESSOR","OPERATOR","INTEGER","IDENT","BUILTIN","KEYWORD","WHITESPACE","HEX","isnum","isoperator","allBuiltins","allLiterals","builtinsDict","literalsDict","chunk","block_comment","line_comment","preprocessor","operator","readtoken","whitespace","determine_operator","is_composite_operator","contentstr","getSubplotCalcData","MAPBOX","findAccessToken","mapboxIds","tokensUseful","tokensListed","hasOneSetMapboxStyle","wontWork","isMapboxStyle","noAccessTokenErrorMsg","missingStyleErrorMsg","multipleTokensErrorMsg","requiredVersion","wrongVersionErrorMsg","subplotCalcData","oldMapboxKeys","oldMapboxKey","subplotDiv","logo","mapboxLogo","path2","attributions","attributionGroup","attributionText","multilineAttributions","SANKEY","subplotUpdateFx","bgRect","_bgRect","newGroups","oldGroups","newGroup","findNode","hadPlot","hasPlot","circumcenter","avgDist","extendedColorWayList","hiddenLabels","_hasValues","dlabel","label0","allThisTraceLabels","isAggregated","shouldSort","extendedColorWays","colorString","cm","zminDesc","zmaxDesc","do_warp","do_warp_1","do_warp_2","do_warp_3","handleConstraintValueDefaults","zvalue","lineDfltColor","boxLayoutDefaults","plotObj","_ev","internalEv","_internalEv","_internalOnce","_removeAllInternalListeners","trigger","jQueryHandlerValue","nodeEventHandlerValue","handlers","arrayMax","maybeArray","squareStringMatrix","matrixIn","maxLen","padLen","emptyStrings","padArray","makeRowBlock","anchorToRowBlock","auxiliary","blockAnchorKeys","makeAnchorToRowBlock","rowHeights","minimumFillHeight","currentRowHeight","currentAnchor","currentBlockHeight","currentBlock","makeIdentity","currentFirstRowIndex","blockCounter","lastRowIndex","cellsValues","slicer","headerValuesIn","headerValues","groupWidth","headerRowHeights","anchorToHeaderRowBlock","uniqueKeys","columnOrder","columnWidths","totalColumnWidths","foundKey","compareOrientedCells","createTriangulation","removePair","compareLex","removeTriangle","addTriangle","ChineseCalendar","MONTH_NUMBER_REGEXP","_validateYear","monthIndex","toChineseMonth","isIntercalaryMonth","MONTH_NAME_REGEXP","monthName","MONTH_SHORT_NAME_REGEXP","monthString","intercalaryMonth","invalidIntercalaryMonth","maxMonthIndex","monthDaysTable","LUNAR_MONTH_DAYS","firstThursday","validatedYear","invalidyear","packedDate","CHINESE_NEW_YEAR","solar","toSolar","lunar","toLunar","fromString","dateString","DATE_REGEXP","resultYear","resultMonthIndex","resultCanBeIntercalaryMonth","correctedMonthIndex","chinese","yearOrDate","monthOrResult","solarDate","lunarDate","isValidYear","isValidMonth","isValidDay","chineseNewYearPackedDate","daysFromNewYear","chineseNewYearJSDate","jsDate","isIntercalaryOrResult","monthsFromNewYear","getUpdateObject","makeSelectorData","selectorKeyFunc","isActive","axisLayout","drawButtonRect","selectorLayout","getFillColor","_isActive","_isHovered","drawButtonText","getLabel","reposition","tHeight","hEff","tWidth","tLines","wEff","minButtonWidth","selectors","appendArrayMultiPointValues","percent","hoverOnBars","DIRSYMBOL","vAxis","deltaLabel","finalLabel","initialLabel","_glTrace","updateOnSelect","layerId","hr_name","NanakshahiCalendar","nanakshahi","isArguments","iteratorSymbol","autoContours","inputContours","isLonLatOverEdges","aLabel","bLabel","cLabel","axisOpts","slideBox","grabAreaMin","grabAreaMax","mouseMove","pixelMin","pixelMax","_pixelMin","_pixelMax","setDataRange","mouseUp","setPixelRange","oppAxisOpts","oppAxisRangeOpts","hw2","clampOppAxis","clampHandle","pixelMinOppAxis","d2pOppAxis","pixelMaxOppAxis","drawBg","borderCorrect","offsetShift","addClipPath","_clipId","drawRangePlot","rangePlots","isMainPlot","oppAxisName","mockFigure","isRangePlot","rangePlot","filterRangePlotCalcData","drawMasks","maskMin","maskMax","maskMinOppAxis","maskMaxOppAxis","maskOppBorder","drawSlideBox","drawGrabbers","grabberMin","grabberMax","handleFixAttrs","handleDynamicAttrs","handleMin","handleMax","grabAreaFixAttrs","keyFunction","rangeSliders","axRng","range0","range1","range0OppAxis","range1OppAxis","distOppAxis","recompose","decompose","slerp","state0","state1","quaternion","oldValue","tobj","gridline","_labels","endAnchor","isFirst","isLast","rootPosition","mouseEventOffset","getBoundingClientOffset","scatterGeoMarkerLineAttrs","createScatterPlot","DASH_PATTERNS","MARKER_SYMBOLS","calculateError","LineWithMarkers","errorBars","textMarkers","delaunayMesh","dataPoints","textLabels","constructDelaunay","filteredPoints","filteredIds","calculateErrorParams","parseAlignmentX","parseAlignmentY","calculateTextOffset","defaultAlignmentX","defaultAlignmentY","textOffset","calculateSize","sizeIn","calculateSymbol","symbolIn","formatParam","paramIn","extraFn","paramOut","convertPlotlyOptions","zc","scaleFactor","d3locale","lineDashes","scatterColor","scatterSize","scatterMarker","scatterLineWidth","scatterLineColor","scatterAngle","textSize","projectScale","projectOpacity","errorBounds","errorParams","errorColor","errorLineWidth","errorCapSize","delaunayAxis","surfaceaxis","delaunayColor","arrayToColor","createLineWithMarkers","scatterOptions","errorOptions","dashPattern","scatterOpacity","highlightScale","delaunayOptions","traceref","tracerefminus","doBind","nattribs","MAX_VERTEX_ATTRIBS","attrib","vertexAttrib1f","vertexAttrib2f","vertexAttrib3f","vertexAttrib4f","ARRAY_BUFFER","dimi","mimickAxisDefaults","axesList","helpers_1","xSum","ySum","colorBars","makeColorBarData","cbbg","cbfills","cblines","cbaxis","cbtitleunshift","cbtitle","cboutline","drawColorBar","_fillcolor","_line","_levels","_filllevels","_fillgradient","_zrange","calcOpts","moduleOpts","allowsMultiplotCbs","contName","_traceIndex","_propPrefix","colorAxOpts","titleSide","lineColormap","fillColormap","levelsIn","levelsOut","calcLevels","fillLevels","lineLevels","thickPx","thickFrac","lenPx","lenFrac","xpadFrac","yExtraPx","ypadFrac","xLeftFrac","yBottomFrac","yBottomPx","yTopPx","_lenFrac","_thickFrac","_xLeftFrac","_yBottomFrac","mockColorBarAxis","titlex","titley","autoNtick","dtFactor","dtexp","titleCont","titleOpts","dfltTitleOpts","otherClass","drawDummyTitle","drawCbTitle","drawAxis","titleTrans","mathJaxNode","lineSize","jsPlaceholder","nlines","fills","cbfill","zBounds","fillEl","cbline","positionCB","titleWidth","outerwidth","outerheight","xoffset","marginOpts","tFrac","bFrac","lFrac","rFrac","extraThickness","zr0","zr1","fillLevelsIn","cbAxisIn","cbAxisOut","mobileRE","tabletRE","BOTTOMSTART","TOPSTART","LEFTSTART","RIGHTSTART","NEWDELTA","CHOOSESADDLE","104","208","713","1114","SADDLEREMAINDER","2","4","7","8","11","13","14","scatterglPlot","sceneUpdate","subRArray","subThetaArray","markerSel","markerUnsel","textSel","textUnsel","rawx","rawy","fargs","reads","sizeLetter","percentInitialLabel","percentPreviousLabel","percentTotalLabel","colorbarOut","colorbarIn","createFilteredVector","cubicHermite","FilteredVector","velocity0","_velocity","_scratch","getZero","initState","initVelocity","initTime","steady","dcurve","derivative","stable","jump","sf","statePtr","toPosInt","validValue","arrayLike","Context","mapFn","ScrollBox","hbar","vbar","barRadius","boxL","boxR","boxT","boxB","isDown","isLeft","isRight","isUp","boxW","boxH","_box","needsHorizontalScrollBar","hbarW","hbarH","hbarL","hbarT","_hbarXMin","_hbarTranslateMax","needsVerticalScrollBar","vbarW","vbarH","vbarL","vbarT","_vbarYMin","_vbarTranslateMax","clipL","clipR","clipT","clipB","_clipRect","onBoxDrag","_onBoxDrag","_onBoxWheel","onBarDrag","_onBarDrag","translateXMax","translateYMax","convexHull2D","monotoneHull","DASHES","makeProjectionAttr","primitivesLoopSplice","inputs","isDeep","keepAllKeys","noArrayCopies","copyIsArray","allPrimitives","extendDeepNoArrays","postfix","padLeft","delim","totalDigits","handleOHLC","handleDirection","isLE","mLen","nBytes","eMax","eBias","nBits","insidetextorientation","pull","titleposition","mouseListen","buttonState","mods","alt","control","attached","updateMods","handleEvent","nextButtons","nextY","clearState","handleBlur","handleMods","handleMouseMove","handleMouseDown","handleMouseUp","attachListeners","detachListeners","ensureSingleAndAddDatum","cdSubplot","traceLayerClasses","zoomScaleQueryParts","plotMethod","zoomScale","clipOnAxisFalseQuery","clipOnAxisFalseTraces","makeSubplotData","regulars","xa2","ya2","makeSubplotLayer","xLayer","layerValue2layerClass","yLayer","hasOnlyLargeSploms","mainplotgroup","overlinesBelow","overaxesBelow","overplot","overlinesAbove","overaxesAbove","xlines","ylines","backLayer","imagelayer","purgeSubplotLayers","overlayIdsToRemove","removeSubplotExtras","subplotInfo","overlayInfo","transitionAxes","finalizeSubplots","spSVG","spAll","allX","allY","ki","pcd","oldPlots","newPlots","oldSubplotList","hadGl","hasGl","oldAxIDs","oldAxId","hadCartesian","hasCartesian","_cartesianlayer","oldSubplotId","subplotLayers","draglayer","imageRoot","canvases","canvasToImage","heatmapHover","xRange","yRange","regexpFlags","stickyHelpers","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","charsAdded","strCopy","multiline","hoverdistance","spikedistance","robustSubtract","EPSILON","ERRBOUND3","ERRBOUND4","orientation3Exact","orientation4Exact","adx","bdx","cdx","ady","bdy","cdy","adz","bdz","cdz","bdxcdy","cdxbdy","cdxady","adxcdy","adxbdy","bdxady","permanent","slowOrient","generateOrientationProc","b01","b02","b03","b04","b05","b06","b07","b08","b09","b10","b11","createView","mouseWheel","hasPassive","distanceLimits","pmatrix","keyBindingMode","enableWheel","rotateSpeed","zoomSpeed","translateSpeed","flipX","modes","ctime","sizeChanged","getMode","curUp","curEye","curCenter","setMode","_active","ncenter","neye","nup","_lastX","_lastY","_lastMods","handleInteraction","ctrl","drot","kzoom","wheelListener","shouldHide","minKey","getMinKey","minsize","pointsAccessorFunction","transformOne","srcArray","newTrace","arrayLookup","groupNameObj","transformIndex","originalPointsAccessor","groupNames","newData","arrayAttrs","styleLookup","indexCnts","suppliedName","nameformat","indexToPoints","clearExpandedTraceDefaultColors","_compareAsJSON","transformIn","transformOut","styleIn","styleOut","thisStyle","newTraces","compareOrientedCell","reduceCellComplex","detection","POLYFILL","NATIVE","describeVariables","descPart","quotedKeys","HiddenSymbol","isNativeSafe","NativeSymbol","generateName","setupStandardSymbols","setupSymbolRegistry","ignore","__description__","__name__","manage","AxisIDs","scatterCalc","expandForErrorBars","errExt","_bnds","sceneOptions","errorX","errorY","errorBarPositions","hasTooManyPoints","snap","monotoneTriangulate","makeIndex","delaunayFlip","filterTriangulation","canonicalizeEdge","compareEdge","canonicalizeEdges","getDefault","cdt2d","exterior","infinity","objPrototype","created","ie11BugWorkaround","textGet","globals","__TEXT_CACHE","shapeX","tri","fontcache","bufferSize","ew","xa0","ya0","xaHash","yaHash","xActive","yActive","allFixedRanges","hasScatterGl","hasSplom","hasSVG","updates","isMainDrag","singleEnd","recomputeAxisLists","hashValues","isDirectionActive","calcLinks","isSubplotConstrained","getDragCursor","zoomMode","zoomDragged","clearAndResetSelect","attrStr","getEndText","hAlign","vAlign","_hmpixcount","_hmlumcount","_transitioningWithDuration","noZoom","xyCorners","xCorners","yCorners","updateZoombox","zoomAxRanges","updateMatchedAxRange","dragTail","dragModePrev","isSelectOrLasso","_redrag","dragDataNow","updateSubplots","scrollViewBox","redrawTimer","REDRAWDELAY","zoomWheel","_enablescrollzoom","gbb","xfrac","yfrac","zoomWheelOneAxis","ticksAndAnnotations","axRange","doZoom","dragAxList","dxySign","dxyFraction","yStart","axArray","movedAx","newLinearizedEnd","otherEnd","axi","dZoom","newEnd","matchedAxes","constrainedAxes","xLinks","yLinks","activeAxIds","pushActiveAxIds","doubleClickConfig","plotinfos","splom","xrng","yrng","xScaleFactor2","yScaleFactor2","editX2","editY2","getShift","getLinkedScaleFactor","scaleAndGetShift","attachWheelEventHandler","dragClass","dragger3","activeVal","r0Fraction","r1Fraction","linkedAxes","axRangeLinear0","axRangeLinearSpan","linkedR0Fraction","pix","nsew","clen","xID","yID","xLinkID","yLinkID","xaHashLinked","xaxesLinked","yaHashLinked","yaxesLinked","wheelEventName","onwheel","_onwheel","onmousewheel","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","colorId","extend","updateDiff","f32","Scatter","paletteIds","markerTextures","markerCache","maxColors","tooManyColors","shaderOptions","paletteSize","scaleFract","translateFract","positionBuffer","xFract","positionFractBuffer","yFract","sizeBuffer","borderSize","colorBuffer","borderColorId","activation","drawMarker","circleOptions","drawCircle","pixelSize","_this2","_len","_key","drawItem","getMarkerDrawOptions","markerId","selectionBuffer","markerTexture","lod","markerActivation","_lod$l","_this3","_len2","_key2","ondraw","hasSize","hasColor","updateColor","_bounds","_positions","markers","markerMasks","addMarker","_id2","vp","_i2","_group2","_i3","_colorId","_i4","sdf","distArr","_i5","_i6","updatePalette","extend$1","reglScatter2d","scatter$$1","float2rat","rangeLinear","createHeatmap2D","GLHeatmap2D","weightBuffer","idBuffer","xData","yData","WEIGHTS","boundX","boundY","viewTransform","PICK_VECTOR","colorLevels","colorValues","lox","loy","hix","hiy","numX","numY","yc0","yc1","xc0","xc1","colorIdx","pieAttrs","sunburstAttrs","maxdepth","squarifyratio","depthfade","sqInit","isort","BLUE_FLAG","RED_SWEEP_QUEUE","RED_SWEEP_INDEX","BLUE_SWEEP_QUEUE","BLUE_SWEEP_INDEX","COMMON_SWEEP_QUEUE","COMMON_SWEEP_INDEX","SWEEP_EVENTS","rcount","eventLength","sqPop","sqPush","istart","iend","redOffset","redActive","blueActive","commonActive","redShift","blueShift","isRed","oidx","ensurePlainFunction","normalizeOptions","dgs","overwriteDefinition","resolveContext","yl","htx","hbg","hbc","hts","htc","htf","hnl","ht","fakeCd","pointData2","rVal","rLabel","thetaVal","thetaLabel","planarDual","numEdges","cut","noCut","nextCell","nextVertex","nextDir","nbhd","extractCycle","shouldGlue","pcycle","ncycle","LinkedList","selfIntersection","segmentNew","segmentId","myFill","above","otherFill","segmentCopy","event_root","eventCompare","p1_isStart","p1_1","p1_2","p2_isStart","p2_1","p2_2","pointsCompare","pointsSame","pointAboveOrOnLine","eventAdd","other_pt","here","isStart","eventAddSegmentStart","primary","ev_start","eventAddSegmentEnd","ev_end","eventAddSegment","eventUpdateEnd","segmentChop","eventDivide","primaryPolyInverted","secondaryPolyInverted","status_root","statusCompare","ev1","ev2","pointsCollinear","statusFindSurrounding","findTransition","checkIntersection","linesIntersect","a1_equ_b1","a2_equ_b2","a1_between","pointBetween","a2_between","alongA","alongB","isEmpty","getHead","surrounding","checkBothIntersections","eve","tempStatus","segmentUpdate","rewind","st","exists","statusRemove","b12","b20","b21","b22","createProperty","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","dimensionIn","dimensionOut","orderDefault","isValidArray","labelfontDflt","categoryfontDefault","handleTraceDefaults","CANONICAL_TICK","coptic","discworld","ethiopian","hebrew","julian","mayan","nepali","CANONICAL_SUNDAY","DFLTRANGE","UNKNOWN","d3ToWorldCalendars","worldCalFmt","modifier","directive","directiveLen","directiveObj","replacementPart","getCal","allCals","calendarObj","makeAttrs","makeTraceAttrsDescription","xAttrs","axisAttrs","histogram2d","histogram2dcontour","mesh3d","ohlc","candlestick","valuecalendar","targetcalendar","decodeFloat","UINT8_VIEW","FLOAT_VIEW","arrRange","SPLOM","passes","passId","getBox","iloy","ihiy","jlox","jhix","iitem","jitem","this$1","planned","updateItem","i$1","tracePasses","passOffset","multirange","multipadding","ih","i$2","ref$1","ref$2","passes$1","passOffset$1","firstAxis","maybeCarpet","nativeDefineProperty","Attributes","commonList","animationAttrs","currentvalue","activebgcolor","gripBgActiveColor","railBgColor","railBorderColor","railBorderWidth","minorticklen","minorTickLength","LOG_CLIP_PLUS","LOG_CLIP_MINUS","clusterStartPt","clusterEndPt","clusterHighPt","clusterLowPt","clusterHighFirst","clusterUnitVector","thisVector","clusterRefDist","clusterHighVal","clusterLowVal","clusterMinDeviation","clusterMaxDeviation","thisDeviation","latestXFrac","latestYFrac","xLog","yLog","minTolerance","pti","getPt","crossesViewport","xFrac0","yFrac0","xFrac1","yFrac1","getTolerance","nextPt","xFrac","yFrac","offScreenFraction","toleranceGrowth","ptDist","xEdge","yEdge","lastXEdge","lastYEdge","lastFarPt","edgePt","getEdgeIntersections","maxScreensAway","xEdge0","xEdge1","yEdge0","yEdge1","getLinearEdgeIntersections","ptCount","ptInt","onlyConstrainedPoint","sameEdge","getHVEdgeIntersections","ptInt1","ptInt2","getABAEdgeIntersections","limit0","limit1","ptToAlter","midShift","getClosestCorner","updateEdge","xSame","ySame","xSame2","ySame2","updateEdgesForReentry","intersections","lastPt","horizontalOrder","alo","ahi","blo","getXRange","buttonLayout","currentRange","stepmode","base2","xrange","createMatrix","visibleLength","domains","dmn","needsBaseUpdate","commonLength","selOpts","splomCalcData","plainObject","customCreate","createGeo","GEO","plotGeo","geoId","geoCalcData","_geolayer","oldGeoKeys","oldGeoKey","oldGeo","subplotLayout","supplyGl3dAxisLayoutDefaults","handleGl3dDefaults","sceneLayoutIn","sceneLayoutOut","bgColorCombined","cameraKeys","hasAspect","defaultAspectMode","aspectMode","aspectmode","fullGl3dData","getDfltFromLayout","hasNon3D","RE","SelectBox","boxBuffer","boxShader","selectBox","innerColor","outerColor","createSelectBox","boxVertex","boxFragment","screenWidth","screenHeight","numArr","scalarScalar","linearExpansionSum","eptr","fptr","ei","fi","_bv","_av","_br","_ar","q0","boxIntersectWrapper","RESULT","boxEmpty","convertBoxes","boxIntersect","redList","redIds","blueList","blueIds","appendItem","intersectFullArray","intersectBipartiteArray","arg1","arg2","meshAttrs","makeSliceAttr","makeCapAttr","_responsiveChartHandler","bundlecolors","sortpaths","plotApi","imageDataOnly","isImpliedOrValid","fullOpts","clonedGd","layoutImage","configImage","redrawFunc","urlToImageData","_carpet","ij","ab2ij","interp1d","w00","w01","interp3d","u0","u1","w000","w010","w100","w110","w001","w011","w101","w111","interpNd","isHoriz","hovermodeDflt","hoverMode","hasMapbox","hasGeo","axisConstraints","enforceAxisConstraints","cleanAxisConstraints","SVG_TEXT_ANCHOR_START","SVG_TEXT_ANCHOR_MIDDLE","SVG_TEXT_ANCHOR_END","overlappingDomain","existingX","existingY","lsInner","autosize","_hasZeroWidth","_hasZeroHeight","drawMainTitle","getLinePosition","lwHalf","_lw","lowerBackgroundIDs","backgroundIds","lowerDomains","noNeedForBg","pgNode","plotgroupBg","xLinesXLeft","xLinesXRight","xLinesYBottom","xLinesYTop","leftYLineWidth","rightYLineWidth","yLinesYBottom","yLinesYTop","yLinesXLeft","yLinesXRight","connectYBottom","connectYTop","extraSubplot","lowerBackgrounds","_bgLayer","plotClipId","plotClip","xLinePath","xLinePathFree","yLinePath","yLinePathFree","mainPath","pathFn","pathFnFree","xPath","shouldShowLinesOrTicks","findCounterAxisLineWidth","yPath","shouldShowLineThisSide","anchorAx","sideIndex","getMainTitleX","hPadShift","getMainTitleY","vPadShift","getMainTitleTextAnchor","getMainTitleDy","layoutStyles","doAutoMargin","doTraceStyle","editStyleCalls","editStyle","doColorBars","layoutReplot","doLegend","doTicksRelayout","updateGrid","doModeBar","doCamera","setViewport","drawData","cartesianIds","polarIds","_splomGrid","doAutoRangeAndConstraints","groupLoop","finalDraw","drawMarginPushers","rawError","shortMessage","longMessage","definition","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","color_formatHex","formatHex","color_formatHsl","hslConvert","formatHsl","color_formatRgb","formatRgb","color_color","rgbn","Rgb","rgbConvert","color_rgb","rgb_formatHex","rgb_formatRgb","Hsl","hsl2rgb","displayable","src_basis","basisClosed","exponential","color_hue","nogamma","src_rgb","rgbGamma","rgbSpline","spline","rgbBasis","rgbBasisClosed","numberArray","isNumberArray","genericArray","src_value","reA","reB","cssNode","cssRoot","cssView","svgNode","discrete","src_hue","skewX","parseCss","parseSvg","pxComma","pxParen","degParen","interpolateTransformCss","interpolateTransformSvg","rho","rho2","rho4","epsilon2","zoom_cosh","zoom_sinh","tanh","hsl_hsl","src_hsl","hslLong","Xn","Yn","Zn","labConvert","Lab","Hcl","hcl2lab","rgb2lrgb","xyz2lab","lab2xyz","lrgb2rgb","hclConvert","lab_lab","hcl_hcl","src_hcl","hclLong","ED","EB","BC_DA","cubehelixConvert","Cubehelix","cubehelix_cubehelix","src_cubehelix_cubehelix","cubehelixGamma","cubehelix","cosh","sinh","src_cubehelix","cubehelixLong","piecewise","samples","hoverLabelAttrs","INT_BITS","INT_MAX","INT_MIN","isPow2","log10","prevPow2","REVERSE_TABLE","tab","interleave2","deinterleave2","interleave3","deinterleave3","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","defineWellKnownSymbol","setToStringTag","HIDDEN","TO_PRIMITIVE","setInternalState","ObjectPrototype","$Symbol","$stringify","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","tag","$defineProperty","$defineProperties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","$replacer","getCubeEdges","pCubeVerts","cubeVerts","zero3","transformHg","FRUSTUM_PLANES","CUBE_EDGES","CUBE_AXIS","CUBE_RESULT","cubeEdges","farthest","cutCorner","cdOHLC","ohlcLayer","xo","yo","hoverModule","containerOrSelection","isD3Selection","castHoverOption","_coerce","supplyLayoutGlobalDefaults","inbox","quadrature","toPX","mouseWheelListen","noScroll","deltaX","deltaZ","makeColorMap","isColorbar","conePlot","Cone","ww","axisName2scaleIndex","anchor2coneOffset","tip","anchor2coneSpan","coneOpts","axisName","_normMax","meshData","_pad","createConeTrace","cone","polygonIn","polygonOut","xpyp","xstar","ystar","dsin","dcos","tanA","cotanA","del","makeRegularPolygon","makeClippedPolygon","a2xy","findXY","cycleIndex","xyN","minFn","adelta","transformForSVG","pts0","pts1","outer","chains","chainStart","first_match","matches_head","matches_pt1","second_match","next_match","chain","setMatch","chainNew","chainMatch","addToHead","grow","grow2","oppo","oppo2","chainRemoveHead","chainRemoveTail","chainClose","chainAddHead","chainAddTail","chainConnect","reverseF","reverseChain","appendChain","chainReverse","chain1","chain2","tail2","head2","chainJoin","TEMPLATEITEMNAME","templateAttrs","validItemName","lastChar","traceTemplater","traceCounts","typei","baseName","defaultsTemplate","templateItems","itemIn","templateItemName","templateItem","outi","_templateitemname","parentIn","itemOut","lengthIn","resetUpdate","updateOut","applyUpdate","updateToApply","hidesources","datarevision","editrevision","selectionrevision","nextSegmentId","curVert","segmentRemove","MayanCalendar","amod","haabMonths","tzolkinMonths","baktun","katun","forYear","haab","_toHaab","tzolkin","_toTzolkin","haabMonthName","haabMonth","haabDay","tzolkinDayName","tzolkinDay","tzolkinTrecena","arrayStr","rootContainers","regexpContainers","rootPart","maxpoints","TriangleCache","createABigTriangle","_triangleBuffer","barycentric","solve","baseframe","handleLabelsAndValues","hasLabels","hasPositive","_hasLabels","textInfo","textTemplate","titlePosition","scatterSubTypes","getButtonGroups","buttonsToRemove","buttonsToAdd","hasGL3D","hasPie","hasFunnelarea","hasGL2D","hasTernary","hasSankey","allAxesFixed","areAllAxesFixed","addGroup","commonGroup","zoomGroup","hoverGroup","resetGroup","dragModeGroup","hasNoHover","isSelectable","appendButtonsToGroups","selectable","fillCustomButton","customButtons","_modeBar","buttonGroups","convertOnSelect","LAYER_PREFIX","traceLayerPrefix","ChoroplethMapbox","sourceId","_update","optsAll","getSource","setData","_removeLayers","_addLayers","removeLayer","removeSource","choroplethMapbox","addSource","createSurfacePlot","surfaceNets","SURFACE_VERTEX_SIZE","QUAD","PERMUTATIONS","SurfacePickResult","N_COLORS","divseq","SurfacePlot","contourPickShader","contourBuffer","dynamicBuffer","dynamicVAO","objectOffset","intensityBounds","_shader","_pickShader","_coordinateBuffer","_vao","_colorMap","_contourShader","_contourPickShader","_contourBuffer","_contourVAO","_contourOffsets","_contourCounts","_vertexCount","_pickResult","_dynamicBuffer","_dynamicVAO","_dynamicOffsets","_dynamicCounts","contourTint","enableHighlight","highlightColor","highlightTint","highlightLevel","enableDynamic","dynamicLevel","dynamicColor","dynamicTint","dynamicWidth","surfaceProject","contourProject","colorBounds","_field","mallocFloat","vertexColor","ZERO_VEC","PROJECT_DATA","projections","computeProjectionData","cubeAxis","axisSquish","nclipBounds","UNIFORMS","lowerBound","upperBound","zOffset","MATRIX_INVERSE","DEFAULT_PERM","drawCore","transparent","clipClamped","projectData","PICK_UNIFORMS","handleArray","toColor","handleColor","coordinateBuffer","nparams","levelIndex","padField","dstField","srcField","srcShape","dstShape","levelsChanged","fsize","freeFloat","tick2","dfields","dxdu","dxdv","dydu","dydv","dzdu","dzdv","nz","nl","lo_intensity","hi_intensity","tverts","tptr","j_loop","vf","change_test","contourVerts","contourLevel","levelOffsets","levelCounts","edge_loop","axis_loop","iu","floatBuffer","dyanamicLevel","scratchBuffer","jx","jy","cu","scatterHover","yFracUp","textPart","_hovertitle","parcoordsPlot","hadParcoords","hasParcoords","JulianCalendar","posOffset","hasTypedArrays","DOUBLE_VIEW","UINT_VIEW","toDoubleLE","lowUintLE","highUintLE","toDoubleBE","lowUintBE","highUintBE","toDouble","writeUInt32LE","readDoubleLE","lowUint","writeDoubleLE","readUInt32LE","highUint","fraction","denormalized","hasPreCompStats","boxmeanDflt","notchedDflt","getDims","sLen","defaultOrientation","yDims","xDims","setInX","setInY","hasCategories","outlierColorDflt","lineoutliercolor","modeDflt","ORDER","ScatterMapbox","sourceIds","layerIds","setSourceData","scatterMapbox","barPointData","posVal","pRangeCalc","isClosest","isWaterfall","maxSpikeDistance","thisBarMinPos","thisBarMaxPos","minPos","maxPos","_positionFn","_minPos","_maxPos","positionFn","thisBarPositionFn","labelLabel","CopticCalendar","SUBPLOT_PATTERN","remainingCalcData","subplotX","subplotY","spmatch","Font","createRegl","createGl","fontAtlas","isObj","parseUnit","metrics","isStretchSupported","fontStretch","GlText","isRegl","charBuffer","charOffset","atlasSize","atlasDim","cols","charStep","positionOffset","normalViewport","viewportArray","baseFontSize","newAtlasChars","newFont","newFontSize","baseString","stretch","variant","fonts","fontString","textArray","textOffsets","atlasContext","baseChar","positionData","j$1","charIds","sizeData","i$3","ptr$1","count$1","j$2","prevChar","prevWidth","currWidth","prevOffset","kerning$1","maxCols","maxAtlasSize","atlasWidth","atlasHeight","atlasCanvas","alignOffset","baselineOffset","colorData","i$4","l$1","i$5","isBatch","i$6","ignoreCase","dotAll","fileSaver","_snapshotInProgress","messages","3","5","6","256","512","513","514","515","516","517","518","519","768","769","770","771","772","773","774","775","776","1024","1028","1029","1032","1280","1281","1282","1285","1286","2304","2305","2849","2884","2885","2886","2928","2929","2930","2931","2932","2960","2961","2962","2963","2964","2965","2966","2967","2968","2978","3024","3042","3088","3089","3106","3107","3317","3333","3379","3386","3408","3410","3411","3412","3413","3414","3415","3553","4352","4353","4354","5120","5121","5122","5123","5124","5125","5126","5386","5890","6401","6402","6406","6407","6408","6409","6410","7680","7681","7682","7683","7936","7937","7938","9728","9729","9984","9985","9986","9987","10240","10241","10242","10243","10497","10752","16384","32769","32770","32771","32772","32773","32774","32777","32778","32779","32819","32820","32823","32824","32854","32855","32873","32926","32928","32936","32937","32938","32939","32968","32969","32970","32971","33071","33170","33189","33306","33635","33648","33901","33902","33984","33985","33986","33987","33988","33989","33990","33991","33992","33993","33994","33995","33996","33997","33998","33999","34000","34001","34002","34003","34004","34005","34006","34007","34008","34009","34010","34011","34012","34013","34014","34015","34016","34024","34041","34055","34056","34067","34068","34069","34070","34071","34072","34073","34074","34076","34338","34339","34340","34341","34342","34373","34466","34467","34660","34661","34816","34817","34818","34819","34877","34921","34922","34930","34962","34963","34964","34965","34975","35040","35044","35048","35632","35633","35660","35661","35663","35664","35665","35666","35667","35668","35669","35670","35671","35672","35673","35674","35675","35676","35678","35680","35712","35713","35714","35715","35716","35717","35718","35719","35720","35721","35722","35724","35725","36003","36004","36005","36006","36007","36048","36049","36050","36051","36053","36054","36055","36057","36061","36064","36096","36128","36160","36161","36162","36163","36164","36168","36176","36177","36178","36179","36180","36181","36194","36336","36337","36338","36339","36340","36341","36346","36347","36348","36349","37440","37441","37442","37443","37444","thrower","ACCESSORS","argument0","argument1","TERNARY","ternaryIds","ternaryId","ternary","oldTernaryKeys","oldTernaryKey","oldTernary","EVENT_POINT","EVENT_END","EVENT_START","PartialHull","lowerIds","upperIds","compareEvent","testPoint","addPoint","hulls","findSplit","splitHulls","splitIdx","mergeHulls","mergeIdx","map1dArray","makepath","orientText","drawClipPath","clipsegments","bicubic","clipPathData","drawGridLines","lineClass","gridJoin","drawAxisLabels","labelClass","labelJoin","maxExtent","labelOrientation","labelEl","labelpadding","drawAxisTitles","labelOrientationA","labelOrientationB","aMin","aMax","bMin","bMax","ab2xy","dxyda_rough","dxydb_rough","drawAxisTitle","cdcarpet","carpetLayer","clipLayer","minorLayer","majorLayer","boundaryLayer","labelLayer","titleJoin","labelNorm","angleDiff","reverseTitle","vecNormalize","vecScale","generateContourExtractor","triangulateCube","zeroCrossings","buildSurfaceNets","cubeArgs","maskStr","extraFuncs","currentFunc","efName","denoms","crossingCount","totalCrossings","vertexStr","cStr","mesh1D","npos","ncel","dirLine","Error2D","drawErrors","errorBuffer","meshBuffer","positionFract","capOffset","drawGroup","errorCount","errorData","yPad","lightAmount","darkAmount","prevIndexToPoints","handleGeoDefaults","geoLayoutIn","geoLayoutOut","scopeParams","isAlbersUsa","_isAlbersUsa","isScoped","_isScoped","isConic","_isConic","isClipped","_isClipped","rangeDflt","dtickDflt","dfltSpans","hSpan","lonRange","latRange","lon0","lon1","projLon","centerLonDflt","centerLatDflt","centerLon","dfltProjRotate","dfltProjParallels","fitBounds","createVAONative","ExtensionShim","bindVertexArrayOES","bindVertexArray","createVertexArrayOES","createVertexArray","deleteVertexArrayOES","deleteVertexArray","SYMBOL_SIZE","SYMBOL_SDF_SIZE","SYMBOL_STROKE","gl10","containerArrayMatch","isAddVal","isRemoveVal","applyContainerArrayChanges","_nestedProperty","componentType","supplyComponentDefaults","replotLater","replot","recalc","fullVal","componentNum","objEdits","objKeys","objVal","adding","componentNums","componentArrayIn","componentArray","componentArrayFull","deletes","firstIndexChange","maxIndex","indicesToDraw","FRAGMENT","gridVert","gridFrag","tickVert","styleBox","boxSel","allBoxes","boxData","thisBox","waterfalls","waterfallsVert","waterfallsHorz","waterfallnorm","compare1st","compileConstructor","useGetters","procedure","CACHED_CONSTRUCTORS","index_str","shapeArg","strideArg","a_vars","c_vars","tShape","tStride","arrayDType","wrappedNDArrayCtor","ctor_list","setAutoType","getFirstNonEmptyTrace","calAttr","isBoxWithoutPositionCoords","getBoxPosLetter","boxPositions","isBox","isCandlestick","manageArrays","subroutines","numericNameWarningCount","numericNameWarningCountLimit","okToPlot","setPlotContext","graphWasEmpty","cleanData","cleanLayout","plotLegacyPolar","makePlotFramework","doCalcdata","clearResponsive","oldMargins","drawFrameworkCalls","cleanPlot","marginPushers","clearAutoMarginIds","marginPushersAgain","didMarginChange","positionAndAutorange","addLinks","rehover","redrag","plotDone","emitAfterPlot","opaqueSetBackground","plot3dPixelRatio","szIn","szOut","polarPlotSVG","placeholderText","setContenteditable","positivifyIndices","parentLength","positiveIndices","assertIndexArray","arrayName","checkMoveTracesArgs","currentIndices","newIndices","checkAddTracesArgs","assertExtendTracesArgs","maxPoints","maxPointsIsObject","getExtendProperties","maxp","updateProps","spliceTraces","updateArray","undoUpdate","undoPoints","concatTypedArray","arr0","arr1","newArray","remainder","both","numberOfItemsFromInsert","numberOfItemsFromTarget","targetBegin","undoArgs","undoFunc","redoFunc","redoArgs","startSequence","stopSequence","deletedTrace","sorterDes","movingTraceMap","_traces","clearPromiseQueue","coerceTraceIndices","_restyle","clearAxisTypes","fullReplot","markerSize","addAxRangeSequence","colorbars","undoit","redoit","undefinedToNull","makeNP","guiEditFlag","fullAttr","storeCurrent","arrayNew","objNew","objBoth","_guiEditing","layoutNP","cleanDeprecatedAttributeKeys","traceFlags","addToAxlist","axid","autorangeAttr","getFullTrace","doextra","hasParent","extraparam","allBins","arrayBins","vij","contFull","finalPart","prefixDot","innerContFull","impliedKey","labelsTo","valuesTo","topOrBottom","thicknorm","lennorm","swapXYData","dataArrayContainers","manageArrayContainers","oldAxisTitleRegex","colorbarRegex","oldAttrStr","newAttrStr","_relayout","axRangeSupplyDefaultsByPass","layoutstyle","axrange","rangesAltered","AX_RANGE_RE","AX_AUTORANGE_RE","AX_DOMAIN_RE","arrayEdits","axisAttr","newkey","layoutFlags","recordAlteredAxis","pleafPlus","plen","pend","pleaf","ptrunk","parentFull","vOld","oppositeAttr","_initialAutoSize","axFull","fullProp","updateValObject","finished","groupAxId","updateAutosize","oldWidth","oldHeight","plotAutoSize","traceUpdate","restyleSpecs","restyleFlags","relayoutSpecs","relayoutFlags","guiEdit","layoutUIControlPatterns","traceUIControlPatterns","findUIPattern","patternSpecs","getNewRev","revAttr","newRev","getFullTraceIndexFromUid","getTraceIndexFromUid","valsMatch","v1IsObj","v1IsArray","applyUIRevisions","oldRev","preGUIVal","newNP","layoutPreGUI","bothInheritAutorange","newRangeAccepted","axAttr","newAx","allTracePreGUI","fulli","newTracei","configChanged","oldConfig","diffConfig","skipUpdateCalc","immutable","diffLayout","newDataRevision","diffData","supplyDefaultsUpdateCalc","createTransitionData","transitionFromReact","_skipDefaults","sameTraceLength","nChanges","nChangesAnim","diffOpts","getValObject","seenUIDs","hasMakesDataTransform","getDiffFlags","oldContainer","outerparts","inArray","arrayIndex","valObjectCanBeDataArray","tickMode","canBeDataArray","wasArray","nowArray","inputKey","oldValIn","newValIn","arrayEditIndices","extraIndices","newConfig","frameOrGroupNameOrFrameList","animationOpts","_frameQueue","supplyAnimationDefaults","frameOpts","getTransitionOpts","getFrameOpts","callbackOnNthTime","_frameWaitingCnt","discardExistingFrames","onInterrupt","queueFrames","frameList","computedFrame","computeFrame","nextFrame","_lastFrameAt","_animationRaf","beginAnimationLoop","stopAnimationLoop","_currentFrame","newFrame","stringName","_timeToNext","_runningTransitions","configCounter","setTransitionConfig","allFrames","isFrameArray","isSingleFrame","frameOrName","_frameHash","currentFrame","filteredFrameList","bigIndex","insertions","_frameHashLocal","lookupName","collisionPresent","supplyFrameDefaults","revops","frameCount","_counter","modifyFrames","gd3","_toppaper","_hoverpaper","otherUids","layerBelow","_imageLowerLayer","layerAbove","_imageUpperLayer","_menulayer","attribution","tiles","tileSize","minzoom","maxzoom","styleValuesNonMapbox","layoutLayerPrefix","createWellKnownSymbol","withoutSetter","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromObject","assertSize","encoding","checked","isEncoding","actual","fromArrayLike","byteOffset","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","codePoints","bytes","checkOffset","checkInt","objectWriteUInt16","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatBE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","leadSurrogate","byteArray","nativeKeys","FAILS_ON_PRIMITIVES","ptsIn","rectFirstEdgeTest","rectContains","xmini","ycross","isSegmentBent","partParallel","segmentSquared","segmentLen","unitPerp","ptsFiltered","doneRawIndex","doneFilteredIndex","prevFilterLen","iLast","readComponents","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","boundFunction","findIndex","lineColorFn","lineWidthFn","fc","opacitySetting","deprecationWarning","domainAttr","mergeAttrs","nonCommonAttrs","commonAttrs","tickorientation","endpadding","keepRest","toList","occupied","aliases","extractContour","ndsort","contourAlgorithm","getDimension","getSigns","vertexSigns","getEdges","maxEdges","ePtr","nedges","getCrossingWeights","signs","edata","getCascade","lastV","unpackEdges","vcascade","uedges","uweights","closestPointToTriangle","xformMatrix","projectVertex","barycentricCoord","closestPointToPickLocation","pixelCoord","simplex2D","closestIndex","closestDist","DIMENSION","AXIS","VISIT","FLIP","ELEM_SIZE","RED_START","RED_END","RED_BOXES","RED_INDEX","RED_PTR","BLUE_START","BLUE_END","BLUE_BOXES","BLUE_INDEX","BLUE_PTR","RETVAL","INNER_LABEL","ARGS","generateBruteForce","redMajor","redLoop","blueLoop","bruteForcePlanner","codeStr","vec","plotinfoproxy","boxCalc","silvermanRule","ssd","iqr","calcBandwidth","calcSpan","spanOut","spanIn","spanTight","spanLoose","calcSpanItem","spanMin","spanMax","violinScaleGroupStats","scaleGroup","PIXELS_PER_INCH","getSizeBrutal","getPropertyInPX","testDIV","defaultCanvas","defaultContext","shim","nullObject","polyProps","validTypes","invert2","invert3","invert4","createSurface","homography","SurfaceTrace","contourStart","contourEnd","contourSize","minValues","maxValues","dataScaleX","dataScaleY","refineData","isColormapCircular","getXat","getYat","getZat","_interpolatedZ","xRatio","yRatio","shortPrimes","getPow","getFactors","smallestDivisor","leastCommonMultiple","arrayLCM","calcXnums","nums","totalDist","calcYnums","highlyComposites","MIN_RESOLUTION","MAX_RESOLUTION","insertIfNewLevel","createSurfaceTrace","estimateScale","resSrc","resDst","refineCoords","scaleW","scaleH","padWidth","padHeight","padImg","scaledImg","setContourLevels","newLevels","useNewLevels","needsUpdate","allLevels","rawCoords","highlightEnable","contourParams","supportsTransparency","getFilterFunc","targetCalendar","isOperationIn","d2cValue","preservegaps","getTargetArray","_arrayAttrs","attrTargetCalendar","initFn","filterFunc","originalArrays","forAllAttrs","passed","lineLayerMaker","findExtreme","fixExtremes","dimensionExtent","toText","texts","domainScale","unitVal","domainToPaddedUnitScale","padFraction","ordinalScale","unitToColorScale","colorTuples","polylinearUnitScales","someFiltersActive","deselectedLineColor","labelangle","labelSide","labelside","rangeFont","rangefont","canvasPixelRatio","rowContentWidth","colCount","tickDistance","callbacks","unitPad","_unitToPaddedPx","domainToPaddedUnit","specifiedConstraint","filterRangeSpecified","filterRange","brushMove","focusLayer","filtersActive","contextShown","contextLayer","truncatedValues","makeTickItem","sortTickItem","tickItems","visibleIndex","linePickActive","pickLayer","invScale","styleExtentTexts","axisExtentText","parcoordsInteractionState","calcTilt","updatePanelLayout","yAxis","calcAllTicks","linearFormat","extremeText","isTop","glContainer","glLayers","lastHovered","lineLayer","pixel","controlOverlay","parcoordsControlView","wantedTickCount","sdom","axisHeading","axisTitle","tilt","axisTitleOffset","axisExtent","axisExtentTop","axisExtentOffset","axisExtentTopText","axisExtentBottom","axisExtentBottomText","convertTickWidth","_minDiff","_xcalc","wHover","hasTextArray","hasHovertextArray","cPrev","oi","li","ohlcTracesOnThisXaxis","xcalc","cartesianConstants","xclick","yclick","handleAnnotationCommonDefaults","handleAnnotationDefaults","clickToShow","arrowPosDflt","arrowPosAttr","aaxRef","aDflt","xClick","yClick","frameAttrs","commandModule","positionPlayWithData","pathname","search","redrawText","resolveLastResize","_redrawTimer","_resolveResize","oldchanged","autoplay","linkContainer","toolspan","spacespan","sourcespan","PLOTLYENV","BASE_URL","hiddenformDiv","hiddenform","hiddenformInput","graphJson","submit","d3FormatKeys","extraFormatKeys","getTraceUids","prevFullInput","oldFullInput","thisFullInput","oldLen","seenUids","setUid","tryUid","newUid","emptySubplotLists","getFormatObj","formatKeys","formatDone","formatObj","includeFormat","formatFinished","formatKey","formatj","en","getFormatter","fillMetaTextHelpers","meta4data","findMainSubplot","isX","mainSubplotID","nextBestMainSubplotID","anchorID","counterIDs","counterPart","makesData","applyTransforms","initMargins","_pushmargin","_pushmarginIds","newLayout","oldCalcdata","_traceWord","_mapboxAccessToken","_initialAutoSizeIsDone","sanitizeMargins","missingWidthOrHeight","initialAutoSize","_visibleModules","splomAxes","splomSubplots","_traceUids","_globalTransforms","supplyDataDefaults","splomXa","splomYa","_hasPlotType","supplyLayoutModuleDefaults","crossTraceDefaultsFuncs","funci","_hasCartesian","_hasGeo","_hasGL3D","_hasGL2D","_hasTernary","_hasPie","linkSubplots","uids","oldTrace","_hasCalcTransform","oldArrayVal","hasInfoLayer","oldLoop","oldUid","oldSubplots","newSubplots","newSubplotList","mainAx","subplotSort","locateColorAttrs","_colorAttrs","origprop","visibleModules","colorCnt","pushModule","_transformModules","carpetIndex","carpetDependents","supplyTraceDefaults","sdInvisible","expandedTraces","expandedTrace","fullExpandedTrace","_expandedInput","carpetAxis","optsOut","supplyAnimationFrameDefaults","supplyAnimationTransitionDefaults","frameIn","frameOut","traceInIndex","attri","supplyTransformDefaults","transformModules","transformList","isFirstStage","doLaterStages","_dataTemplate","uniformtextMode","modebarDefaultColor","maxHeight","widthHasChanged","heightHasChanged","transitionData","clearThrottle","fid","undoqueue","undonum","styleModules","correction","plotWidth","plotHeight","pushMargin","pushMarginIds","ml","mr","mt","k1","pushleft","pushbottom","pl","newL","newR","ft","newB","newT","maxNumberOfRedraws","marginKeys","_transition","aborted","executeCallbacks","flushCallbacks","executeTransitions","numCallbacks","numCompleted","makeCallback","completeTransition","runFn","interruptPreviousTransitions","prepareFn","transitionStarting","margin0","margin1","dataonly","useDefaults","stripObj","fit","operations","oldName","frameName","destIndex","frameLookup","framePtr","frameStack","frameNameStack","extendLayout","extendTrace","recomputeFrameHash","extendObjectWithContainers","containerPaths","containerProp","containerVal","srcProp","destProp","srcContainer","destContainer","expandedObj","expandObjectPaths","containerObj","srcObj","destTrace","srcTrace","destLayout","srcLayout","transitionedTraces","axEdits","dataLength","traceIdx","axisAttrRe","traceTransitionOpts","hasAxisTransition","axisTransitionOpts","allTraceIndices","transitionTraces","_numViolins","_piecolormap","_sunburstcolormap","_treemapcolormap","_funnelareacolormap","cauto","transformCalci","calci","isContainer","setupAxisCategories","doCrossTraceCalc","sortAxisCategoriesByValue","sortAxisCategoriesByValueRegex","zMapCategory","counterAxLetter","xCategorical","yCategorical","aggFn","aggregator","categoriesValue","cat","catIndex","currentDimensionIndex","associatedXAxisID","mapping","_categoriesValue","categoriesAggregatedValue","_categoriesAggregatedValue","spType","spInfo","traceHashOld","moduleNameOld","fakeCalcTrace","fakeTrace","had","handleHoverLabelDefaults","STATIC_CANVAS","STATIC_CONTEXT","glPlot3d","createPlot","passiveSupported","str2RGBAarray","showNoWebGlMsg","svgContainer","clientRect","oldEventData","lastPicked","pdata","hoverinfoParts","isHoverinfoAll","vectorTx","uLabel","vLabel","wLabel","normLabel","divergenceLabel","drawAnnotations","tryCreatePlot","glplotOptions","staticMode","initializeGLPlot","initializeGLCamera","isCameraChanged","getCamera","isAspectChanged","relayoutCallback","saveLayout","recoverContext","make4thDimension","sceneContainer","plotArgs","convertAnnotations","cameraData","tryRecover","axisProperties","computeTraceBounds","computeAnnotationBounds","getCameraArrays","getLayoutCamera","sceneData","axisType","glplotLayout","dataBounds","traceIds","traceIdLoop","sceneBounds","axisDataRange","axisTypeRatios","objBounds","_lowerLogErrorBound","axesScaleRatio","axisRatio","axisAutoScaleFactor","userRatio","containerStyle","newOrtho","oldOrtho","cameraNestedProp","cameraDataLastSave","same","aspectData","aspectNestedProp","aspectDataLastSave","cameraChanged","aspectChanged","cameraFullNP","aspectFullNP","fullCamera","zUp","dataURL","createImageData","putImageData","ascendingComparator","ascendingBisect","array_array","src_max","valueof","src_mean","src_min","src_sum","zmin0","zmax0","zRange","gridLightness","mat4","fromRotationTranslation","zoomstartStyle","zoomendStyle","createGeoZoom","zoomConstructor","zoomScoped","zoomClipped","zoomNonClipped","initZoom","sync","userOpts","fullNp","fitScale","handleZoomstart","handleZoom","midPt","syncCb","handleZoomend","mouse0","rotate0","lastRotate","zoomPoint","mouse1","rotate1","didZoom","INSIDETOLORANCEPXS","outside","d3eventDispatch","zoomOn","_rotate","quaternionFromEuler","between","rotateBetween","newEuler","eulerFromQuaternion","rotateAngles","unRoll","euler","phi","sinLambda","cosLambda","sinPhi","cosPhi","sinGamma","cosGamma","halfgamma","ptRotated","rotateCartesian","newYaw1","newYaw2","newPitch1","newPitch2","dist1","angleDistance","yaw0","pitch0","yaw1","pitch1","dYaw","angleMod","dPitch","angleRads","vectorOut","HebrewCalendar","_leapYear","yearType","adjYear","_delay1","_delay2","present","showaxeslabels","noRoomForHeader","allData","minVisibleDepth","maxVisibleDepth","_maxVisibleLayers","prevEntryId","getRefRect","probability","SPLITTER","abig","bbig","err1","err2","err3","PREFERRED_STRING","closestPoint2d","V0","V1","V2","sqrDistance","tmp0","invDet","createPolar","oldIds","mustCleanScene","plotGroups","quadrants","hasOutsideText","cxFinal","cyFinal","outerCircle","px0","outerArc","px1","rim","determineOutsideTextFont","transformOutsideText","transformInsideText","textPosAngle","textXY","getCoords","rCenter","computeTransform","yLabelMin","yLabelMid","yLabelMax","labelExtraX","labelExtraY","finish","positionTitleInside","scootLabels","plotTextLines","traceBbox","lineStartX","lineStartY","textLinePath","finalX","yFromX","yNet","fullLayout2","percentLabel","hoverLabel","customColor","dummyTitle","titleBox","textDiameter","halfAngle","halfangle","midAngle","midangle","isTangential","isRadial","startangle","stopangle","allTransforms","considerCrossing","isCrossing","dStart","dStop","closestEdge","calcTanTransform","calcRadTransform","calcMaxHalfSize","calcRCenter","calcRotate","getInscribedRadiusFraction","plotSize","maxPull","topMiddle","getMaxPull","applyAspectRatio","getTitleSpace","pieBoxHeight","xHalf","yHalf","equatorFirst","farthestX","farthestY","xDiffSign","yDiffSign","thisQuad","oppositeQuad","wholeSide","thisQuadOutside","firstOppositeOutsidePt","topFirst","bottomFirst","scootOneLabel","prevPt","xBuffer","otherPt","otherOuterY","otherOuterX","newExtraX","prevOuterY","thisInnerY","thisOuterY","thisSliceOuterY","newExtraY","scaleGroups","groupScale","currentCoords","angleFactor","firstPt","hasLabel","hasValue","hasPercent","makeTemplateVariables","ptTx","cosA","sinA","midX","midY","noCenter","NepaliCalendar","daysPerYear","NEPALI_CALENDAR_DATA","month_number","nepaliYear","nepaliMonth","nepaliDay","gregorianDayOfYear","nepaliMonthToCheck","nepaliYearToCheck","_createMissingCalendarData","gregorianYear","gregorianDate","dayOfFirstJanInPaush","daysSinceJanFirstToEndOfNepaliMonth","nepaliDayOfMonth","tmp_calendar_data","nepaliYearToCreate","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","bgVert","bgFrag","VertexAttribute","VAONative","_attribs","_useElements","a2o","systems","stretches","variants","fams","verify","system","naiveFallback","__global__","absolutize","compress","NUM_EXPANDED","compileDeterminant","doBreak","broken","getIndices","sortedArray","getSortFunc","arrayOld","DensityMapbox","densityMapbox","topojsonUtils","topojsonFeature","getTopojsonName","getTopojsonPath","topojsonName","vendors","caf","frameDuration","_now","cp","cancelled","boxLine","meanLineStyle","m4FromQuat","AxisIds","cleanAxRef","cleanTitle","titleContainer","rewireAttr","oldAttrName","newAttrName","oldAttrSet","newAttrSet","cleanFinanceDir","dirContainer","dirName","commonPrefix","name1","name2","show1","show2","cleanTextPosition","emptyContainer","innerStr","xaxis1","yaxis1","scene1","axisAttrRegex","polarAttrRegex","ternaryAttrRegex","sceneAttrRegex","isdate","islog","autotick","cameraposition","annotationsLen","shapesLen","yeColor","reversescl","containerName","highlightWidth","increasingShowlegend","decreasingShowlegend","increasingName","decreasingName","filtersrc","prevStyles","styleKeys","copyYstyle","hoverInfoParts","traceIndicesOut","pLength","pLastIsNumber","contPath","ATTR_TAIL_RE","attrParent","sceneName","typeAttr","getSubplot","isTraceInSubplots","newDistance","passVal","getPointKey","pointVal","getPointData","keyVal","pointKeyMap","methodNames","PlotlyLocales","Snapshot","zref","INSERTION_SORT_THRESHOLD","getMallocFree","mallocUint16","freeUint16","mallocInt8","freeInt8","mallocInt16","freeInt16","freeInt32","freeDouble","createInsertionSort","allocator","scratch_shape","dataRead","dataWrite","createQuickSort","labelCounter","ele_size","toPointer","cacheLoop","ptrs","usePivot","lexicoLoop","cleanUp","compareSwap","a_id","b_id","lbl","moveElement","swapElements","tripleSwap","swapAndDecrement","storePivot","mem_dest","pivot_dest","doSort","walkPointer","compileSort","scratch_stride","nprod","sortArgs","edgeToAdjacency","createPointCloudRenderer","Pointcloud","pickXData","pickYData","pointcloudOptions","sizemax","pointcloud","createPointcloud","traceCoord","pickXYData","updateFast","userBounds","xbounds","ybounds","markerSizeMin","markerSizeMax","arearatio","copyArgArray","queueObj","queueIndex","undoQueue","sequence","inSequence","beginSequence","calls","plotDo","SHARED","perm","dfactorial","TIME_FORMAT_LINK","cheatertype","labelprefix","labelsuffix","titleoffset","attributeText","attributeTextPosition","getKeyFunc","dirSign","bartraces","isBar","shouldDisplayZeros","adjustPixel","pointGroup","bars","roundWithLine","expandToVisible","fixpx","styleFns","appendBarText","hasClipOnAxisFalse","appendTextNode","textSelection","getTextPosition","inStackOrRelativeMode","insideTextFont","outsideTextFont","barHeight","textHasSize","fitsInside","fitsInsideIfRotated","fitsInsideIfShrunk","toMoveOutsideBar","getRotateFromAngle","getRotatedTextSize","absSin","absCos","isEnd","toRight","toLeft","textpad","extrapad","calcTexttemplate","calcTextinfo","vLetter","formatLabel","percenTotalLabel","nPercent","hasMultiplePercents","svgSdf","convertStyle","convertTextStyle","convertTextSelection","convertMarkerStyle","convertMarkerSelection","overlay","convertErrorBarStyle","textfontIn","textpositionIn","textPos","tfc","tfs","tff","fonti","optsIn","multiSymbol","multiColor","multiLineColor","multiOpacity","multiSize","multiLineWidth","borderColors","getSymbolSdf","markerSizeFunc","borderSizes","sizeTotal","SYMBOL_SDF","SYMBOL_SVG_CIRCLE","symbolPath","symbolSdf","symbolFunc","isDot","convertLinePositions","midPtX","midPtY","hasNaN","convertErrorBarPositions","convertOneAxis","computeError","pOffset","eOffset","minShoe","maxHat","dl","lv","shoe","hat","convertTextPosition","markerOpts","fontOpts","hSign","vSign","xPad","markerStyle","markerSelection","RED","BLACK","RBNode","_color","repaint","recount","RedBlackTree","_compare","doVisitFull","doVisitHalf","doVisit","RedBlackTreeIterator","_stack","n_stack","d_stack","pp","ppp","at","last_ptr","iproto","swapNode","fixDoubleBlack","defaultCompare","cstack","getTilingMethod","treemapSquarify","treemapBinary","treemapDice","treemapSlice","treemapSliceDice","flipTree","swapXY","tile","paddingInner","paddingLeft","paddingRight","paddingTop","paddingBottom","defaultSeparation","meanX","meanXReduce","maxYReduce","leafLeft","leafRight","eachAfter","hierarchy_count","eachBefore","leastCommonAncestor","valued","defaultChildren","computeHeight","node_copy","copyData","enclose","circles","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","encloseBasis1","r21","r3","place","siblings_Node","packEnclose","sj","sk","optional","required","constantZero","defaultRadius","src_pack","radiusLeaf","packChildren","translateChild","treemap_round","dice","src_partition","positionNode","keyPrefix","preroot","ambiguous","defaultParentId","src_stratify","nodeKey","nodeByKey","tree_defaultSeparation","nextLeft","nextRight","moveSubtree","executeShifts","nextAncestor","TreeNode","treeRoot","treemap_slice","squarifyRatio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","src_treemap","paddingStack","paddingOuter","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","sliceDice","treemap_resquarify","resquarify","_squarify","STASHATTR","NO_CURSOR","savedCursor","classes","edgeVal2","boundaryMax","boundaryMin","contoursValue","includeGL3D","renderableValuePresent","ownTrace","traceId","makeTranslucent","makeTextContrasty","relatedLinks","relatedNodes","nodeHoveredStyle","linkHoveredStyle","nodeNonHoveredStyle","linkNonHoveredStyle","visitNodes","tinyColorAlpha","labelOpts","linkSelect","linkHover","sourceLabel","targetLabel","concentrationLabel","incomingLabel","outgoingLabel","linkHoverFollow","anchorIndex","flow","hoverCenter","hoverCenterPosition","valueFormat","valueSuffix","labelConcentration","tooltips","tooltip","linkUnhover","nodeSelect","nodeHover","nodeHoverFollow","rootBBox","boundingBox","hoverCenterX0","hoverCenterX1","tinyColorHue","nodeUnhover","linkEvents","follow","nodeEvents","monotoneConvexHull2D","convexHullnD","ich","aff","front","npoints","invPermute","boxHoverPoints","closePtData","violinLineAttrs","hasHoveronViolins","hasHoveronKDE","closeData","closeBoxData","hoverOnBoxes","vVal","kdePointData","vValPx","kdeVal","pOnPath","paOffset","paLength","spikePosAttr","hoverOnPoints","violinLine","distRatio","IsosurfaceTrace","beginVertextLength","allXs","allYs","allZs","allVs","activeFill","surfaceFill","spaceframeFill","drawingSurface","drawingSpaceframe","numFaces","Xs","Ys","Zs","_gridFill","_minValues","_maxValues","vMin","_vMin","vMax","_vMax","findVertexId","beginGroup","emptyVertices","addVertex","addFace","setFill","createOpenTri","xyzv","styleIncludes","mapValue","drawTri","allXYZVs","allABCs","openTri","pnts","drawQuad","abcd","makeTri","drawTetra","calcIntersection","pointOut","pointIn","inRange","almostInFinalRange","vErr","getXYZV","indecies","MAX_PASS","tryCreateTri","nPass","tryDrawTri","interpolated","tryCreateTetra","p4","addCube","p000","p001","p010","p011","p100","p101","p110","p111","addRect","previousResult","begin2dCell","p00","p01","p10","p11","beginSection","distRatios","makeSection","rX","rZ","begin3dCell","cellStyle","draw2dX","draw2dY","draw2dZ","draw3d","drawSpaceframe","drawSurface","drawSectionX","drawSectionY","drawSectionZ","insertGridPoints","drawAll","activeStyle","surfacePattern","surfaceCount","setupMinMax","preRes","activeMin","activeMax","exactIndices","ceilIndices","cap","connectorVisible","defaultFillColor","connectorLineWidth","cBase","DOUBLEQUOTE_REGEX","DUMMY_SUB","DUMMY_REGEX","htmlEntityDecode","hiddenDiv","replaced","xmlEntityEncode","toppaper","topGroups","topGroup","queryParts","XMLSerializer","serializeToString","traceOpts","layoutOpts","traceEditTypeFlags","layoutEditTypeFlags","falseObj","overrideContainers","overrideOne","editTypeParts","scatterglAttrs","MIN","createWave","minOpacity","fmtColor","colorstring","robustDotProduct","EXISTS","annAutorange","apos","aref","padplus","padminus","headSize","headPlus","headMinus","startHeadSize","startHeadPlus","startHeadMinus","extremeArrowHead","ppadplus","ppadminus","annotationList","sArray","pArray","barPolarCd","rAxis","aAxis","newRange","minmin","maxmax","axReverse","minpt","maxpt","minbest","maxbest","toZero","nonNegative","axLen","minSpan","mbest","getMaxPad","maxPad","rangeEnd","extrappad","_concat","collapseMinArray","collapseMaxArray","axeRangeOpts","dmin","ppadiplus","ppadiminus","isLog","hasArrayOption","vpadLinearized","makePadAccessor","vpadplus","vpadminus","collapseOpts","addItem","goodNumber","iMax","newPad","collapseArray","lessOrEqual","greaterOrEqual","atLeastAsExtreme","includeThis","clipAtZero","trimLeaves","e2a","live","dead","npositions","__TYPEDARRAY_POOL","UINT8","UINT16","UINT32","BIGUINT64","INT8","INT16","INT32","BIGINT64","DOUBLE","DATA","UINT8C","BUFFER","hasUint8C","hasBigUint64","BigUint64Array","hasBigInt64","BigInt64Array","POOL","freeArrayBuffer","log_n","freeTypedArray","mallocArrayBuffer","mallocUint8Clamped","mallocBigUint64","mallocBigInt64","mallocDataView","mallocBuffer","freeBigUint64","freeBigInt64","freeFloat64","freeUint8Clamped","freeDataView","freeBuffer","mallocFloat64","clearCache","scatterStyle","styleTrace","AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","CPV","KHM","CMR","CAN","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COK","CRI","CIV","HRV","CUB","CUW","CYP","CSK","CZE","COD","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","DDR","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","ANT","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","KOR","MDA","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","THA","MKD","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","TZA","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","YMD","YUG","ZMB","EAZ","ZWE","objPropertyIsEnumerable","defVal","compareFn","simplifyPolygon","errorWeight","perim","minArea","outv","computeWeight","heapSwap","heap","heapWeight","heapParent","heapDown","tw","heapCount","heapUp","heapPop","heapUpdate","hmin","tortoiseHare","nh","tin","tout","cin","cout","calcXPaddingOptions","calcPaddingOptions","calcYPaddingOptions","isYAxis","axisDirectionReverted","beforePad","afterPad","shapeBounds","paramsToUse","convertVal","drawnParam","drawn","shapeList","vx0","vy0","performPlot","viewModels","createParcatsViewModel","layerSelection","traceEnter","pathsSelection","pathSelection","pathSelectionEnter","stylePathsNoHover","svgD","compareRawColor","mouseoverPath","mouseoutPath","clickPath","dimensionsSelection","dimensionSelection","categorySelection","categoryGroupEnterSelection","styleCategoriesNoHover","bandSelection","catViewModel","bands","bandsSelectionEnter","bandModel","parcatsViewModel","styleBandsNoHover","paperColor","catInRightDim","catModel","categorylabelfont","mouseoverCategoryBand","mouseoutCategory","dragDimensionStart","dragDimension","dragDimensionEnd","numDims","leftDimInd","hoverinfoItems","stylePathsHover","buildPointsArrayForPath","buildConstraintsForPath","pathCenterX","pathCenterY","hoverX","graphDivBBox","leftXs","dimWidths","leftDim","rightDim","topYs","prob","countLabel","probabilityLabel","hovertextParts","getTraceIndex","styleCategoryHover","styleBandsHover","bandsSelection","selectPathsThroughCategoryBandColor","catBandViewModel","allPaths","categoryViewModel","pathViewModel","styleForCategoryHovermode","bandElement","bandSel","bvm","styleForColorHovermode","bandViewModel","catPaths","emitPointsEventCategoryHovermode","eventName","emitPointsEventColorHovermode","createHoverLabelForCategoryHovermode","hoverLabelIdealAlign","rectSelection","rectBoundingBox","dimensionModel","createHoverLabelForDimensionHovermode","allHoverlabels","bandNode","createHoverLabelForColorHovermode","bandBoundingBox","bandColorCount","catCount","pColorAndCat","pCatGivenColor","pColorGivenCat","categorycount","colorcount","bandcolorcount","dragDimensionDisplayInd","initialDragDimensionDisplayInds","dragHasMoved","dragCategoryDisplayInd","catMouseX","catMouseY","initialDragCategoryDisplayInds","potentialClickBand","dragDimInd","prevDimInd","nextDimInd","dragCategory","categoryY","catDisplayInd","dimCategoryViews","catAbove","catBelow","prevDimension","nextDimension","updateDimensionViewModels","updatePathViewModels","updateSvgCategories","updateSvgPaths","traceInd","finalDragDimensionDisplayInds","anyDimsReordered","initDimDisplay","finalDimDisplay","anyCatsReordered","finalDragCategoryDisplayInds","initCatDisplay","sortedCategoryModels","newCategoryArray","newCategoryLabels","allTraces","dimLabelSelection","catLabelSelection","newAnchor","wrappedParcatsModel","parcatsModel","figureWidth","figureHeight","traceWidth","traceHeight","traceX","traceY","pathShape","buildSvgPath","leftXPositions","pathYs","pathHeight","curvature","refInterpolator","xRefPoints1","xRefPoints2","dimensionViewModels","nextYPositions","catToDisplayIndPerDim","dimToDisplayInd","displayToDimInd","pathDisplayCategoryInds","dimensionInds","sortArray1","sortArray2","pathViewModels","pathNumber","dimDisplayInd","catViewModle","numBands","lastCatBand","bandY","currentBand","dimensionsIndInfo","dimModel","createDimensionViewModel","dimDx","dimX0","dimX","categoryLabelPad","dimWidth","numDimensions","nextCatHeight","nextCatModel","nextCat","numCats","catSpacing","nextCatY","categoryIndInfo","var1Name","var2Name","arrayVarNames","colLen","col1","col2","textCol","hasColumnText","hoverTextCol","hasColumnHoverText","col1dv","col1vals","col2dv","col2vals","newArrays","after2before","arrayVarName","arrayVar","_after2before","coallesceUniforms","makeVector","makeGetter","makePropSetter","vidx","enumerateIndices","tprefix","makeSetter","storeProperty","processObject","coallesced","variable","_zlength","vPos","hPos","xInc","yInc","anchorVals","MapboxLayer","idSource","idLayer","sourceType","layerType","convertOpts","iconsize","placement","convertSourceOpts","sourcetype","sourceOpts","sourceattribution","needsNewImage","updateImage","needsNewSource","updateSource","updateLayer","needsNewLayer","updateStyle","_below","convertedOpts","sourcelayer","getLayer","mapboxLayer","cleanOne","valTrim","rgbStr","cstr","bcflat","fcflat","el0","findCategories","cloneLayoutOverride","tileClass","override","keyIsAxis","graphObj","oldData","oldLayout","axesImageOverride","linetickenable","plotTile","td","defaultLayout","fastTwoSum","NASHORN_BUG","buttonAttrs","xAxisMatch","yAxisMatch","JITTERCOUNT","JITTERSPREAD","cdbox","boxLayer","wdPos","bdPos0","bdPos1","whiskerWidth","lcenter","posc","pos1","posw0","posw1","posm0","posm1","useExtremes","seedPseudoRandom","gPoints","newJitter","typicalSpread","minSpread","spreadLimit","jitterFactors","maxJitterFactor","pmin","pmax","jitterFactor","jitterOffset","pseudoRandom","sl","sh","thunkName","string_typesig","shapeLengthConditions","shapeConditions","thunk","dcubicHermite","dh00","dh10","dh01","dh11","ti2","h00","h10","h01","h11","Axes2DOptions","AXES","createAxes2D","axTitle","axMirror","hasAxisInDfltPos","hasAxisInAltrPos","hasSharedAxis","mirrorLines","mirrorTicks","getLabelPad","getTickPad","getTickMarkLength","axSide","DiscworldCalendar","dow","century","centuries","20","21","runtimeUniforms","runtimeAttributes","GL_TO_GLSL_TYPES","GL_TABLE","getType","typeNames","tn","numUniforms","ACTIVE_UNIFORMS","numAttributes","TAG","parentOut","constraintRange","dimensionsIn","fontDflt","xctrl","yctrl","nea1","neb1","IS_RIGHT","memo","createTextSprites","VERTEX_SIZE","TextSprites","tryVectorizeText","pixelScale","alignDir","alignOpt","drawLabel","autoContour","missingEnd","aFrom","propertyNames","propertyName","ensure","arcToCurve","makeControlPoints","inferCubicControlPoint","p2e0","p2e1","xe","ye","je","xej","yej","zVal","v0In","dvIn","numbricks","isArrayOfTwoItemsOrMore","sizex","sizey","sizing","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","forceStringMethod","stringMethod","regexMethod","Camera2D","lastInputTime","lastPos","boxEnabled","boxInited","boxStart","boxEnd","dragStart","mouseContainer","unSetAutoRange","getSubplotConstraint","calcDataBox","updateRange","setRanges","smallDx","smallDy","dydx","panning","handleAnnotations","path2DSupported","parsePath","drawPath","bitmapSdf","pathSdf","viewbox","strokeStyle","isPath2DSupported","path2d","Path2D","setTransform","cutoff","idata","$map","tickmodeDefault","hoverSplit","getClosestPoint","hoverPseudoDistance","spikePseudoDistance","minAttr","maxAttr","centerShift","shiftPos","displayHalfWidth","hoverHalfWidth","pseudoDistance","xSpike","cdIndex","hoverParts","usedVals","valPx","getLabelLine","textParts","FaceIndex","constraint","classifyFaces","indexCells","locate","filterCells","isCat","dtickNum","getMarchingIndex","mi","startIndices","ystartIndices","twoWide","fadedColor","calcOneAxis","calcCoord","baseExtremes","Geo","hasChoropleth","basePaths","dataPaths","getProjection","projLayout","dummyFn","maxAngle","fitExtent","makeGraticule","oppRng","coordFn","makeRangeBox","lat0","lat1","dlon4","geoPromises","needsTopojson","topojsonNameNew","fetchTopojson","topojsonPath","hasInvalidBounds","updateProjection","saveViewInitial","updateBaseLayers","updateDims","choropleth","axLon","axLat","midLon","midLat","lonHalfSpan","latHalfSpan","rangeBox","attrToUnset","centerPx","isAxisLayer","isLineLayer","isFillLayer","allLayers","hFrameWidth","zoomReset","lonlatPx","hideShowPoints","createBackground","getCubeProperties","Ticks","copyVec3","tickAlign","labelAlign","_firstInit","_lines","_background","OffsetInfo","primalOffset","primalMinor","mirrorOffset","mirrorMinor","parseOption","cons","nextTicks","NUMBER","BOOLEAN","STRING","ticksUpdate","labelUpdate","LINE_OFFSET","computeLineOffset","dualOffset","dualMinor","CUBE_ENABLE","DEFAULT_PARAMS","ALIGN_OPTION_AUTO","PRIMAL_MINOR","MIRROR_MINOR","PRIMAL_OFFSET","cubeEnable","enableAlign","hv_ratio","alignTo","solveTickAlignments","major","roundingError","lessThan","greaterThan","linelow","binSize","valsIn","errDiff","dlow","dhigh","rounded","sortFn","notOrdered","notReversed","pairOrder","markerSymbols","menuDefaults","menuIn","menuOut","buttonDefaults","buttonIn","buttonOut","calcSDF","INF","intData","CanvasRenderingContext2D","gridOuter","gridInner","edt","edt1d","axisLineGridAttr","axisTickAttrs","radialAxisAttrs","angularAxisAttrs","mockAnnAxes","_xa","_pdata","_ya","anns","makeScaler","_sArray","ck","yrange","processPixels","cleanPSLG","toPolygonCrappy","TAG_bold","CHR_bold","TAG_italic","CHR_italic","TAG_super","CHR_super0","CHR_super","TAG_sub","CHR_sub0","CHR_sub","parseTag","TAG_CHR","opnTag","clsTag","nOPN","nCLS","isRecursive","remainingStr","transformPositions","getPixels","rawString","allStyles","xPos","zPos","allTexts","numberOfLines","nDone","writeBuffer","getTextFontSize","changeStyle","oldStyle","newStyle","ctxFont","oldIndex_Sub","newIndex_Sub","oldSub","newSub","oldIndex_Super","newIndex_Super","oldSuper","newSuper","wasBold","is_Bold","wasItalic","is_Italic","xCut","yCut","doSimplify","processPixelsImpl","polyline","nresult","nloops","nloop","fontVariant","unquote","globalKeywords","systemFontKeywords","fontWeightKeywords","fontStyleKeywords","fontStretchKeywords","splitBy","parseFont","parseLineHeight","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedPath","resolvedAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","extname","startDot","startPart","preDotState","computeControlPoints","createSplineEvaluator","createIDerivativeEvaluator","createJDerivativeEvaluator","amax","bmax","arange","brange","atol","btol","isOccluded","i2a","j2b","ij2ab","i2c","extrapolate","iex","jex","der","dadi","dbdj","dxyda","dxydb","plus","minus","createViewController","createTurntable","createOrbit","ViewController","controllers","_controllerNames","_controllerList","_mode","turntable","COMMON_METHODS","orbit","argNames","getDistance","src_transform","topology","src_bbox","bboxPoint","bboxGeometry","feature_feature","feature_object","transformPoint","stitchedArcs","fragmentByStart","fragmentByEnd","emptyIndex","fg","gf","meshArcs","extractArcs","geomsByArc","extract0","extract1","extract2","extract3","geoms","planarRingArea","mergeArcs","polygonsByArc","extract","src_neighbors","indexesByArc","ik","quantizePoint","quantizeGeometry","untransform","hasInstance","unscopables","paren","separator","cleanParts","beginPath","TOTALS_COLOR","rMax","prevLookup","rpx0","y2rpx","rx2px","getTargetX","getTextXY","getTargetY","nextX1ofPrevEntry","parentChildren","interpX0X1FromParent","textPosAngleFn","rpx1Fn","x0Fn","x1Fn","scaleFn","rotateFn","_rCenterFn","rCenterFn","xmid","addPercent","percentParentLabel","percentEntryLabel","percentRootLabel","worker","workerBundleString","sharedChunk","workerUrl","p1x","p1y","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","_mult","_div","rotateAround","_rotateAround","matMult","_matMult","_unit","perp","_perp","_round","distSqr","angleTo","angleWith","angleWithSep","setItem","removeItem","msRequestAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","resolveURL","hardwareConcurrency","API_URL","FEEDBACK_URL","REQUIRE_ACCESS_TOKEN","ACCESS_TOKEN","MAX_PARALLEL_IMAGE_REQUESTS","testSupport","_transformRequestFn","_customAccessToken","_createSkuToken","tokenExpiresAt","_skuToken","_skuTokenExpiresAt","_isSkuTokenExpired","transformRequest","normalizeStyleURL","_makeAPIURL","normalizeGlyphsURL","normalizeSourceURL","authority","normalizeSpriteURL","normalizeTileURL","canonicalizeTileURL","canonicalizeTileset","decodeURIComponent","anonId","pendingRequest","getStorageKey","btoa","fetchEventData","localStorage","getItem","saveEventData","processRequests","postEvent","EVENTS_URL","sdkIdentifier","sdkVersion","skuId","userId","vt","queueRequest","skuToken","postMapLoadEvent","postTurnstileEvent","lastSuccess","tokenU","et","ot","caches","statusText","Headers","Response","ReadableStream","ut","Unknown","Style","Source","Tile","Glyphs","SpriteImage","SpriteJSON","WorkerGlobalScope","referrer","AbortController","Request","credentials","signal","arrayBuffer","xt","actor","withCredentials","getResponseHeader","bt","requestParameters","cacheControl","expires","_t","wt","At","kt","St","_oneTimeListeners","fire","listens","_eventedParent","_eventedParentData","setEventedParent","zt","$version","$root","light","sprite","glyphs","source_vector","scheme","xyz","tms","source_raster","raster","source_raster_dem","terrarium","source_geojson","maximum","minimum","clusterRadius","clusterMaxZoom","clusterProperties","lineMetrics","generateId","source_video","video","urls","source_image","hillshade","layout_background","layout_fill","expression","parameters","layout_circle","layout_heatmap","layout_line","butt","bevel","miter","requires","layout_symbol","uppercase","lowercase","layout_raster","layout_hillshade","filter_operator","in","geometry_type","categorical","function_stop","expression_name","let","var","case","coalesce","ln2","typeof","boolean","collator","accumulated","upcase","downcase","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","paint_hillshade","paint_background","It","__line__","Ct","Bt","Et","Mt","Pt","Tt","Vt","Ft","Ot","Lt","Dt","Ut","Rt","jt","qt","Nt","Kt","itemType","Zt","Xt","Gt","Jt","parseCSSColor","Ht","Yt","sensitivity","Intl","Collator","resolvedLocale","resolvedOptions","$t","fontStack","Wt","sections","Qt","te","ee","serialize","expectedType","evaluate","eachChild","possibleOutputs","ae","oe","ue","parseColor","pe","featureState","formattedSection","_parseColorCache","ce","_evaluate","definitions","overloads","ve","checkSubtype","he","caseSensitive","diacriticSensitive","fe","de","me","boundExpression","_parse","typeAnnotation","outputs","be","we","Ae","ke","Se","ze","Ie","Ce","Be","Ee","Me","Pe","Te","Ve","Fe","Oe","Le","De","Ue","Re","interpolation","qe","interpolationFactor","controlPoints","Ne","Ke","Ze","Xe","inputType","cases","otherwise","outputIndex$1","Ge","Je","He","Ye","lhs","rhs","hasUntypedArgument","$e","We","Qe","nr","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","ur","lr","vr","gr","heatmapDensity","lineProgress","isSupportedScript","Ar","_warningHistory","_evaluator","_defaultValue","_enumValues","kr","Sr","enum","formatted","evaluateWithoutErrorHandling","zr","_styleExpression","isStateDependent","Ir","zoomStops","interpolationType","Cr","Br","_parameters","_specification","Er","valueSpec","objectElementValidators","styleSpec","objectKey","Mr","arrayElementValidator","Pr","Tr","Vr","expressionContext","propertyType","Fr","Or","deserialize","Lr","Dr","Rr","Ur","jr","Kr","qr","Nr","Zr","Xr","Gr","Jr","Hr","Yr","$r","Wr","Qr","rn","nn","paintProperty","layoutProperty","sn","pn","hn","bboxes","_insertReadonly","_forEachCell","_insertCell","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","yn","mn","writeable","klass","omit","shallow","vn","_classRegistryKey","gn","$name","xn","bn","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","An","Sn","zn","In","Cn","Bn","En","Mn","Pn","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","isLoaded","Tn","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","Vn","specification","isDataDriven","possiblyEvaluate","Fn","transitioned","Ln","untransitioned","On","_properties","defaultTransitionablePropertyValues","setValue","getTransition","setTransition","Dn","prior","defaultTransitioningPropertyValues","jn","Un","defaultPropertyValues","Rn","isConstant","constantOr","defaultPossiblyEvaluatedValues","qn","Nn","overrides","Kn","_calculate","Gn","overridableProperties","Jn","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","getPaintProperty","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","Hn","Int8","Uint8","Int16","Uint16","Int32","Uint32","Float32","_structArray","_pos1","_pos2","_pos4","_pos8","$n","isTransferred","capacity","Wn","members","BYTES_PER_ELEMENT","Qn","_trim","bytesPerElement","_refreshViews","reserve","emplaceBack","emplace","ui","gi","anchorPointX","anchorPointY","sourceLayerIndex","bucketIndex","signedDistanceFromAnchor","anchorPoint","Ai","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","crossTileID","Si","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","textBoxScale","radialTextOffset","Ii","Ci","getoffsetX","Bi","tileUnitDistanceFromAnchor","Ei","getx","gety","gettileUnitDistanceFromAnchor","Mi","Pi","Ti","Vi","Fi","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","vertexOffset","primitiveOffset","primitiveLength","vaos","simpleSegment","Oi","Li","getPositions","Di","Ui","uniform1i","Ri","uniform1f","ji","uniform2f","qi","uniform3f","Ni","uniform4f","Ki","Zi","uniformMatrix4fv","Gi","Ji","uniformNames","defines","setConstantPatternPositions","populatePaintArray","updatePaintArray","upload","setUniforms","getBinding","Hi","patternPositions","patternTo","patternFrom","tlbr","Yi","paintVertexAttributes","paintVertexArray","paintVertexBuffer","createVertexBuffer","$i","useIntegerZoom","Wi","zoomInPaintVertexArray","zoomOutPaintVertexArray","patterns","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","Qi","binders","cacheKey","_buffers","_featureMap","_bufferOffset","createDynamic","populatePaintArrays","updatePaintArrays","getPaintVertexBuffers","getUniforms","updatePatternPaintBuffers","programConfigurations","needsUpload","composite","loadGeometry","overscaling","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","hypot","createBucket","queryRadius","queryIntersectsFeature","cameraToCenterDistance","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","no","vo","fo","oo","co","ao","ho","eo","po","go","bo","_o","wo","Ao","patternDependencies","ko","So","patternFeatures","indexArray2","addFeatures","indexBuffer2","zo","Io","Co","Bo","Eo","Mo","_pbf","_geometry","_keys","readFields","Po","readVarint","To","readSVarint","toGeoJSON","Vo","Fo","_features","Oo","readString","readDouble","readVarint64","readBoolean","Lo","Do","VectorTile","VectorTileFeature","VectorTileLayer","Uo","Ro","jo","qo","No","Ko","Zo","Xo","Jo","Go","Ho","Yo","$o","Wo","Qo","addLine","scaledDistance","totalDistance","mapbox_clip_start","clipEnd","mapbox_clip_end","updateDistance","addCurrentVertex","addHalfVertex","es","_updateGradient","gradientTexture","os","ss","us","ps","toLocaleUpperCase","toLocaleLowerCase","horizontalOnly","sectionIndex","ds","fromFeature","verticalizePunctuation","positionedGlyphs","getMaxScale","getSection","getSectionIndex","getCharCode","advance","As","9","10","12","32","vs","badness","priorBreak","ks","Ss","layoutSize","minZoom","maxZoom","Is","uSize","uSizeT","Cs","Bs","getSizeData","evaluateSizeForFeature","evaluateSizeForZoom","SIZE_PACK_FACTOR","Es","Ms","Ps","Ts","Vs","dynamicLayoutVertexArray","opacityVertexArray","placedSymbolArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","Fs","collisionVertexArray","collisionVertexBuffer","Os","collisionBoxArray","hasPaintOverrides","textSizeData","iconSizeData","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","Rs","collisionBox","collisionCircle","glyphOffsetArray","lineVertexArray","symbolInstances","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","allowVerticalPlacement","addToLineVertexArray","addSymbols","glyphOffset","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","textCircles","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasCollisionBoxData","hasCollisionCircleData","addIndicesForPlacedTextSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","sortFeatures","featureSortOrder","MAX_GLYPHS","addDynamicAttributes","Ls","Ds","runtimeType","getOverride","hasOverride","Us","_setPaintOverrides","hasPaintOverride","_interpolationType","js","qs","Ns","Ks","implementation","renderingMode","prerender","painter","Gs","Js","paddedRect","Hs","displaySize","haveRenderCallbacks","addImages","iconPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","$s","Ws","Qs","tu","eu","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","isSizePowerOfTwo","nu","au","Bytes","su","realloc","lu","writeVarint","pu","writeSVarint","hu","writeBoolean","yu","writeFixed32","du","writeSFixed32","writeFixed64","vu","writeSFixed64","xu","bu","Varint","Fixed64","Fixed32","readMessage","readFixed32","readSFixed32","readFixed64","readSFixed64","readBytes","readPackedVarint","readPackedSVarint","readPackedBoolean","readPackedFloat","readPackedDouble","readPackedFixed32","readPackedSFixed32","readPackedFixed64","readPackedSFixed64","writeTag","writeString","writeBytes","writeRawMessage","writeMessage","writePackedVarint","writePackedSVarint","writePackedBoolean","writePackedFloat","writePackedDouble","writePackedFixed32","writePackedSFixed32","writePackedFixed64","writePackedSFixed64","writeBytesField","writeFixed32Field","writeSFixed32Field","writeFixed64Field","writeSFixed64Field","writeVarintField","writeSVarintField","writeStringField","writeFloatField","writeDoubleField","writeBooleanField","_u","wu","Au","ku","Su","zu","_triggered","_channel","Iu","mapId","tasks","taskQueue","cancelCallbacks","invoker","receive","Cu","targetMapId","sourceMapId","getWorkerSource","Bu","setSouthWest","setNorthEast","_ne","Eu","_sw","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","toBounds","Mu","Pu","Tu","Vu","Fu","Ou","Lu","fromLngLat","toLngLat","toAltitude","meterInMercatorCoordinateUnits","Du","ju","getTilePoint","Uu","canonical","Ru","overscaledZ","scaledTo","isChildOf","isLessThan","unwrapTo","overscaleFactor","toUnwrapped","qu","_unpackTerrarium","_unpackMapbox","_idx","backfillBorder","Nu","Ku","_stringToNumber","_numberToString","encode","decode","Zu","_vectorTileFeature","Xu","Gu","stateChanges","deletedStates","updateState","removeFeatureState","getState","initializeTileState","setFeatureState","coalesceChanges","Ju","tileID","grid3D","featureIndexArray","Hu","Yu","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","cameraQueryGeometry","loadMatchingFeature","pixelPosMatrix","bucketLayerIDs","intersectionZ","lookupSymbolFeatures","hasLayer","$u","uses","buckets","expirationTime","hasSymbolBuckets","expiredRequestCount","Wu","Qu","registerFadeDuration","timeAdded","fadeEndTime","wasRequested","loadVectorData","hasData","unloadVectorData","latestFeatureIndex","latestRawTileData","justReloaded","imageAtlas","glyphAtlasImage","imageAtlasTexture","glyphAtlasTexture","unloadDEMData","dem","neighboringTiles","getBucket","queryRenderedFeatures","querySourceFeatures","_geojsonTileLayer","clearMask","maskedBoundsBuffer","maskedIndexBuffer","setMask","patternsLoaded","setExpiryData","getExpiryTimeout","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","boxStartIndex","_addLineCollisionCircles","boxEndIndex","ol","_down","ll","_up","peek","murmur3","murmur2","vl","compositeTextSizes","_l","compareText","Actor","AlphaImage","CanonicalTileID","CollisionBoxArray","DEMData","DataConstantProperty","DictionaryCoder","EXTENT","ErrorEvent","EvaluationParameters","Evented","FeatureIndex","FillBucket","FillExtrusionBucket","ImageAtlas","ImagePosition","LineBucket","LngLatBounds","MercatorCoordinate","ONE_EM","OverscaledTileID","Point$1","ProgramConfiguration","Protobuf","RGBAImage","RequestManager","ResourceType","SegmentVector","SourceFeatureState","StructArrayLayout1ui2","StructArrayLayout2i4","StructArrayLayout2ui4","StructArrayLayout3ui6","StructArrayLayout4i8","SymbolBucket","Texture","Transitionable","Uniform1f","Uniform1i","Uniform2f","Uniform3f","Uniform4f","UniformColor","UniformMatrix4f","UnwrappedTileID","ValidationError","WritingMode","ZoomHistory","asyncAll","bezier","bindAll","cacheEntryPossiblyAdded","getActor","clearTileCache","clone$1","create$1","create$2","createCommonjsModule","createExpression","createLayout","createStyleLayer","deepEqual","emitValidationErrors","endsWith","enforceCacheSizeLimit","evaluateRadialOffset","evented","featureFilter","filterObject","fromRotation","getAnchorAlignment","getAnchorJustification","getArrayBuffer","getJSON","getReferrer","getVideo","muted","onloadstart","crossOrigin","isChar","isMapboxURL","keysDifference","makeRequest","mapObject","mercatorXfromLng","mercatorYfromLat","mercatorZfromAltitude","mvt","parseGlyphPBF","pbf","performSymbolLayout","tilePixelRatio","iconsNeedLinear","compositeIconSizes","layoutTextSize","layoutIconSize","textMaxSize","sdfIcons","plugin","polygonIntersectsPolygon","potpack","rasterBoundsAttributes","refProperties","registerForPluginAvailability","pluginURL","completionCallback","setCacheLimits","setRTLTextPlugin","sphericalToCartesian","symbolSize","transformMat3","uniqueId","validateCustomStyleLayer","validateLight","validateStyle","vectorTile","warnOnce","webpSupported","keyCache","_layerConfigs","_layers","familiesBySource","showCollisionBoxes","collectResourceTiming","returnDependencies","stacks","icons","glyphMap","iconMap","glyphPositions","getEntriesByName","mark","clearMarks","clearMeasures","_marks","rawData","Performance","layerIndex","loading","loadTile","resourceTiming","reloadTile","reloadCallback","abortTile","removeTile","rawImageData","FLATTENING","POLAR_RADIUS","_feature","tags","rawGeometry","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","within","trees","cluster_id","point_count","point_count_abbreviated","promoteId","transformed","numSimplified","numFeatures","tileCoords","timeEnd","indexMaxZoom","indexMaxPoints","splitTile","_geoJSONIndex","getTile","_cluster","getClusters","_limitZoom","getChildren","getLeaves","_appendLeaves","_addTileFeatures","getClusterExpansionZoom","_map","loadGeoJSON","loadData","_pendingCallback","abandoned","_pendingLoadDataParams","_loadData","superclusterOptions","geojsonVtOptions","clusterId","getClusterChildren","getClusterLeaves","layerIndexes","workerSourceTypes","workerSources","demWorkerSources","registerWorkerSource","registerRTLTextPlugin","setReferrer","setLayers","getLayerIndex","removedIds","loadDEMTile","getDEMWorkerSource","removeDEMTile","loadWorkerSource","loadRTLTextPlugin","reduceRight","isSealed","isFrozen","Worker","terminate","webGLContextAttributes","failIfMajorPerformanceCaveat","probablySupportsContext","supportsContext","disableDrag","enableDrag","userImage","TouchEvent","touchPos","mouseButton","InstallTrigger","callbackDispatchedThisFrame","requestors","atlasImage","setLoaded","_notify","addImage","removeImage","listImages","getImages","getPixelSize","getPattern","_updatePatternAtlas","atlasTexture","beginFrame","requestManager","localIdeographFontFamily","setURL","getGlyphs","requests","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","_transitionable","setLight","getLight","getDash","addDash","workerPool","actors","currentActor","acquire","vector_layers","vectorLayers","vectorLayerIds","broadcast","release","validateBounds","dispatcher","reparseOverscaled","_loaded","_options","_collectResourceTiming","dataType","_tileJSONRequest","_requestManager","tileBounds","_getMapId","sourceDataType","hasTile","_refreshExpiredTiles","unloadTile","roundZoom","getTileTexture","extTextureFilterAnisotropic","extTextureFilterAnisotropicMax","saveTileTexture","needsHillshadePrepare","_getNeighboringTiles","backfilled","demTexture","_removed","_resourceTiming","workerOptions","_updateWorkerData","_finishLoading","setCoordinates","_boundsArray","boundsBuffer","boundsSegments","triggerRepaint","play","pause","seek","seekable","currentTime","paused","_hasInvalidDimensions","_playing","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","getFeatureState","_getAndRemoveByKey","getAndRemove","setMaxSize","dynamicDraw","unbindVAO","bindElementBuffer","DYNAMIC_DRAW","STATIC_DRAW","bindVertexBuffer","enableAttributes","setVertexAttribPointers","setDefault","stencilMask","ALWAYS","stencilFunc","KEEP","stencilOp","STENCIL_TEST","depthRange","ZERO","blendColor","BACK","cullFace","CCW","frontFace","extVertexArrayObject","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","colorAttachment","ReadOnly","ReadWrite","disabled","depthFail","blendFunction","Replace","unblended","alphaBlended","backCCW","stencilTest","depthTest","cullFaceSide","MAX_TEXTURE_MAX_ANISOTROPY_EXT","extTextureHalfFloat","setCullFace","setDepthMode","setStencilMode","setColorMode","_sourceLoaded","_paused","reload","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_coveredTiles","_shouldReloadOnResume","_loadTile","_abortTile","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","_tileLoaded","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","updateCacheSize","handleWrapJump","_prevLng","used","getVisibleUnwrappedCoordinates","coveringTiles","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_addTile","_fadeDuration","_removeTile","releaseSymbolFadeTiles","clearTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","workers","workerCount","setFilter","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setSprite","setGlyphs","boxCells","circleCells","xCellCount","yCellCount","circleKeys","boxKeys","boxUid","circleUid","labelPlaneMatrix","glCoordMatrix","signedDistanceFromCamera","useVertical","notEnoughRoom","needsFlipping","tileDistance","prevTileDistance","lastSegmentViewportDistance","keysLength","_insertBoxCell","insertCircle","_insertCircleCell","_query","hitTest","_queryCircle","_queryCellCircle","hitTestCircle","_circleAndRectCollide","_circlesCollide","_convertToXCellCoord","_convertToYCellCoord","ignoredGrid","pitchfactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","placeCollisionBox","projectAndGetPerspectiveRatio","perspectiveRatio","isInsideGrid","offscreen","isOffscreen","approximateTileDistance","placeCollisionCircles","projectAnchor","cameraDistance","projectPoint","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","placed","skipFade","crossSourceCollisions","maxGroupID","collisionGroups","ID","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","prevPlacement","placedOrientations","placeLayerTile","placeLayerBucket","attemptAnchorPlacement","radialOffset","prevAnchor","markUsedJustification","markUsedOrientation","commit","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","symbolFadeChange","hasTransitions","stillRecent","setStale","_currentTileIndex","_seenCrossTileIDs","continuePlacement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","indexedSymbolInstances","getScaledCoordinates","findMatches","maxCrossTileID","generate","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","crossTileIDs","maxBucketInstanceId","bucketsInCurrentPlacement","pruneUnusedLayers","glyphManager","lineAtlas","crossTileSymbolIndex","_order","sourceCaches","_resetUpdates","_rtlTextPluginCallback","_validateLayer","loadURL","_request","_load","loadJSON","stylesheet","_spriteRequest","_serializeLayers","_updatedSources","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updatedPaintProps","setState","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getFilter","_flattenAndSortRenderedFeatures","addSourceType","getSourceType","setSourceType","workerSourceURL","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getResource","fragmentSource","vertexSource","prelude","backgroundPattern","clippingMask","heatmapTexture","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","hillshadePrepare","lineGradient","linePattern","lineSDF","symbolIcon","symbolSDF","boundProgram","boundLayoutVertexBuffer","boundPaintVertexBuffers","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","boundDynamicVertexBuffer2","freshBind","currentNumAttributes","fixedUniforms","binderUniforms","tileZoom","u_image","u_texsize","u_scale","u_fade","u_pixel_coord_upper","u_pixel_coord_lower","LINE_STRIP","u_matrix","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_pixels_to_tile_units","u_overscale_factor","u_color","u_intensity","u_color_ramp","moving","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_maxzoom","u_ratio","u_units_to_pixels","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_texture","u_gamma_scale","u_is_halo","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","colorModeForRenderPass","depthModeForSublayer","rotating","buffers","uniformValues","atlasInterpolation","isSDF","hasHalo","stencilModeForClipping","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","TEXTURE1","coveringZoomLevel","debugBuffer","tileBorderIndexBuffer","debugSegments","renderPass","programConfiguration","HALF_FLOAT_OES","viewportBuffer","viewportSegments","opaquePassEnabledForLayer","depthRangeFor3D","stencilModeFor3D","isPatternMissing","tileExtentBuffer","tileExtentSegments","setCustomLayerDefaults","customLayerMatrix","setBaseState","_tileTextures","setup","numSublayers","depthEpsilon","depthRboNeedsClear","emptyProgramConfiguration","depthRbo","stencilClearMode","nextStencilID","currentStencilSource","_renderTileClippingMasks","_tileClippingMaskIDs","NOTEQUAL","EQUAL","_showOverdrawInspector","CONSTANT_COLOR","currentLayer","opaquePassCutoff","renderLayer","showOverdrawInspector","showTileBoundaries","setupOffscreenDepthRenderbuffer","maxValidLatitude","_renderWorldCopies","_minZoom","_maxZoom","setMaxBounds","_center","_fov","_unmodified","_posMatrixCache","_alignedPosMatrixCache","renderWorldCopies","worldSize","fov","unmodified","_calcMatrices","rotationMatrix","_zoom","zoomFraction","_constrain","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pointLocation","pixelMatrixInverse","pixelMatrix","getMaxBounds","lngRange","alignedProjMatrix","projMatrix","mercatorMatrix","_constraining","getCameraPoint","_updateHash","_updateHashUnthrottled","addTo","_onHashChange","getHashString","jumpTo","history","replaceState","getCanvasContainer","_defaultPrevented","defaultPrevented","lngLats","_delta","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","isEnabled","_enabled","isZooming","_zooming","_aroundCenter","around","onWheel","WheelEvent","DOM_DELTA_LINE","_lastWheelEventTime","_timeout","_onTimeout","_lastWheelEvent","_start","_frameId","_cancelRenderFrame","_finishTimeout","_around","_aroundPoint","_requestRenderFrame","_onScrollFrame","_targetZoom","_startZoom","_easing","_smoothOutEasing","_prevEase","getContainer","_clickTolerance","clickTolerance","onMouseDown","_onMouseMove","_onKeyDown","_onMouseUp","_startPos","_lastPos","_fireEvent","_finish","fitScreenCoordinates","_button","_bearingSnap","bearingSnap","_pitchWithRotate","pitchWithRotate","_unbind","_deactivate","_startTime","_eventButton","_onBlur","_inertia","_prevPos","_lastMoveEvent","_onDragFrame","_drainInertiaBuffer","_normalizeBearing","_inertialRotate","resetNorth","noMoveStart","rotateTo","_onMove","onTouchStart","_onTouchEnd","_mouseDownPos","_inertialPan","panBy","delayEndEvents","easeTo","_tapped","_tappedPoint","_resetTapped","onDblClick","_onZoomEnd","disableRotation","_rotationDisabled","enableRotation","_startVec","_startAround","_gestureIntent","_onEnd","_getTouchEventData","_lastTouchEvent","_onTouchFrame","_startScale","_startBearing","snapToNorth","dragRotate","keyboard","touchZoomRotate","_moving","panTo","zoomIn","zoomOut","resetNorthPitch","cameraForBounds","_cameraForBoxAndBearing","_fitInternal","flyTo","prefersReducedMotion","_normalizeCenter","_rotating","_pitching","_prepareEase","_easeEndTimeoutID","_ease","_fireMoveEvents","_afterEase","speed","screenSpeed","maxDuration","isEasing","_easeFrameId","_onEaseFrame","_onEaseEnd","_easeStart","_easeOptions","_renderFrameCallback","getDefaultPosition","_innerContainer","_updateAttributions","_updateEditLink","_updateData","_updateCompact","_editLink","styleOwner","styleId","_hash","rel","customAttribution","owner","_attribHTML","_updateLogo","_logoRequired","mapbox_logo","_queue","_cleared","_currentlyRunning","run","trackResize","refreshExpiredTiles","maxTileCacheSize","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","_trackResize","_crossSourceCollisions","_crossFadingFactor","_renderTaskQueue","_controls","_mapId","maxBounds","_setupContainer","_setupPainter","_onWindowOnline","_onWindowResize","fitBoundsOptions","_localIdeographFontFamily","logoPosition","_controlPositions","removeControl","_containerDimensions","_resizeCanvas","setMinZoom","getMinZoom","setMaxZoom","getRenderWorldCopies","setRenderWorldCopies","getMaxZoom","isMoving","isRotating","delegates","mouseout","_delegatedListeners","_diffStyle","_updateStyle","_updateDiff","isStyleLoaded","areTilesLoaded","hasImage","loadImage","_canvasContainer","_detectMissingCSS","_missingCSSCanary","_contextLost","_contextRestored","_controlContainer","_frame","_styleDirty","_sourcesDirty","_render","_placementDirty","_repaint","loseContext","_showTileBoundaries","_vertices","_setCacheLimits","showCompass","showZoom","visualizePitch","_zoomInButton","_createButton","_zoomOutButton","_compass","_compassArrow","_updateZoomButtons","_rotateCompassArrow","_handler","_anchor","_draggable","draggable","_element","_defaultMarker","_popup","setDraggable","_onMapClick","_addDragHandler","_onUp","getLngLat","_lngLat","setLngLat","getElement","setPopup","togglePopup","getPopup","getOffset","setOffset","_positionDelta","isDraggable","positionOptions","enableHighAccuracy","maximumAge","trackUserLocation","showUserLocation","_setupUI","permissions","geolocation","_geolocationWatchID","clearWatch","_userLocationDotMarker","_onSuccess","_lastKnownPosition","_watchState","_geolocateButton","_updateMarker","_updateCamera","_dotElement","longitude","latitude","accuracy","geolocateSource","_onError","_clearWatch","_timeoutId","_setup","watchPosition","getCurrentPosition","setUnit","_fullscreen","_fullscreenchange","_className","_checkFullscreenSupport","_changeIcon","fullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","webkitFullscreenEnabled","_fullscreenButton","_updateTitle","_onClickFullscreen","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","closeButton","closeOnClick","_onClickClose","_trackPointer","_content","trackPointer","setText","setDOMContent","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","_createContent","_closeButton","_tip","NavigationControl","GeolocateControl","ScaleControl","FullscreenControl","Popup","Marker","clearStorage","objIsPrototypeOf","isPrototypeOf","nullDesc","isNullBase","nullPolyfill","tmpObj1","tmpObj2","not_string","not_bool","not_type","not_primitive","numeric_arg","not_json","modulo","key_access","index_access","sprintf_format","sprintf_parse","vsprintf","parse_tree","pad_character","pad_length","is_positive","tree_length","param_no","pad_char","sprintf_cache","_fmt","arg_names","SyntaxError","field_list","replacement_field","field_match","_v","_w","processGrid","startx","starty","startz","slen","_startsX","_startsY","_startsZ","normMax","normMin","zMax","zMin","_slen","_xbnds","_ybnds","_zbnds","filledX","filledY","filledZ","firstX","firstY","firstZ","lastZ","getArray","getVals","getDir","arrK","arrJ","arrI","nk","arbitrary","_j","_k","dirK","dirJ","dirI","q000","q001","q010","q100","createPlot2D","createOptions","updateRefs","stopped","lastButtonState","isMouseOver","aticks","bticks","liveCanvas","updateSize","pickCanvas","pixelWidth","pixelHeight","xaxisName","yaxisName","xaIn","yaIn","curTicks","updateTraces","mockGraphDiv","domainX","domainY","xr2l","yr2l","xl2r","yl2r","emitPointAction","nextSelection","eventType","lastPickResult","traceUid","screenCoord","hoverFormatter","concentrationscalesDefaults","Out","hoverlabelDefault","nodeIn","nodeOut","coerceNode","defaultNodePalette","linkIn","linkOut","coerceLink","dfltArrangement","defaultLinkColor","baseOpts","hasArrayBase","basej","calculateAxisErrors","_lowerErrorBound","calculateErrors","aggregations","funcmode","aggAttrs","aggregateOneArray","groupings","aggregation","targetNP","conversions","getAggregateFunction","sortCalc","maxCnt","counti","total2","arrayAttrArray","aggregationOut","aggregationsIn","aggregationsOut","coercei","enabledi","groupArray","newGrouping","locationmodeDflt","locationMode","parseValues","ldata","ccol","vcalendar","bnadd","eyex","eyey","eyez","upx","upy","upz","centerz","defaultColumnOrder","specifiedColumnOrder","truncated","oneStepped","parentObjIn","parentObjOut","previousContOut","omega","cosom","sinom","Heatmap","zData","convertColorscale","createHeatmap","rowLen","colorOptions","barHover","hovermplate","groupClassName","inputAreaClass","railRectClass","railTouchRectClass","gripRectClass","tickRectClass","inputProxyClass","labelsClass","labelGroupClass","currentValueClass","railHeight","railRadius","railWidth","railBorder","railInset","stepInset","gripRadius","gripWidth","gripHeight","gripBorder","gripBorderWidth","gripBorderColor","gripBgColor","labelPadding","minorTickOffset","currentValuePadding","currentValueInset","planarGraphToPolyline","makeArray","makeArrayOfArrays","t00","t10","t11","containment","loopVertices","pmc","fadj","edgeAdjacency","internalVertices","sharedBoundary","nnbhr","scatterMapboxHoverPoints","carpetFont","baseHues","isShort","isRGB","saturation","lightness","brightness","MAX_VALUE","overrideCursor","YA_RADIANS","YFACTOR","YSHIFTX","YSHIFTY","_hover","noHoverEvent","overlayedSubplots","xaArray","yaArray","supportsCompare","spId","xvalArray","yvalArray","itemnum","curvenum","subploti","closedataPreviousLength","searchData","spikePoints","hLinePoint","vLinePoint","hasOneHorizontalTrace","hasUserCalledHover","dbb","pointerX","pointerY","ySpike","newPoints","newPoint","newPointNum","cleanPoint","closestPoints","tmpPoint","closestVPoints","closestVPt","fillSpikePoint","closestHPoints","closestHPt","selectClosestPoint","pointsData","thisSpikeDistance","resultPoint","spikelineOpts","oldspikepoints","_spikepoints","newspikepoints","tmpHPointData","tmpHPoint","tmpVPointData","tmpVPoint","spikesChanged","createSpikelines","newhoverdata","rotateLabels","commonLabelOpts","hoverLabels","createHoverText","hoverAvoidOverlaps","alignHoverText","hoverChanged","xvals","yvals","multiHover","hoverItem","container3","outerContainer3","tooltipSpacing","lastBottomY","EXTRA_STRING_REGEX","commonAttr","outerContainerBB","outerTop","showCommonLabel","traceHoverinfo","allHaveZ","commonLabel","lpath","ltext","commonBgColor","commonStroke","contrastColor","commonLabelFont","tbb","topsign","leftsign","lty","ltx","dummy","dummyBB","textClip","numsColor","nameColor","hovertemplateString","tx2","tx2width","tx2height","t2bb","anchorStartOK","anchorEndOK","hty","txTotalWidth","ty0","txwidth","txHalfWidth","overflowR","overflowL","axKey","donepositioning","topOverlap","bottomOverlap","sumdp","nummoves","nLabels","pointgroups","constrainGroup","grp","minPt","maxPt","deleteCount","axIsX","posref","g0","g1","horzSign","alignShift","txx","tx2x","getVal","calcKey","traceKey","xeText","yeText","infomode","showY","showX","hLinePointX","hLinePointY","ySnap","xBase","xEndSpike","dfltHLineColor","yMode","yThickness","yColor","xAcross0","xAcross1","vLinePointX","vLinePointY","xSnap","yBase","yEndSpike","dfltVLineColor","xMode","xThickness","xColor","yAcross0","yAcross1","oldPt","newPt","legendTraceCount","legendReallyHasATrace","defaultOrder","defaultYAnchor","itemsizing","saveLink","canUseSaveLink","objectUrl","msSaveBlob","download","Line2D","createShaders","dashMult","maxPatternLength","precisionThreshold","maxLines","drawMiterLine","miterMode","miterLimit","dashSize","drawRectLine","lineTop","aCoord","bCoord","aCoordFract","bCoordFract","aColor","bColor","prevCoord","nextCoord","drawFill","dashLength","lastId","bounds$1","boundsW","boundsH","rangeW","rangeH","dashData","l$2","i$7","c$1","d3_collection_src","weightedSource","weightedTarget","src_sankey","maxPaddedSpace","relaxRightToLeft","relaxLeftToRight","maxNodePadding","horizontalSource","horizontalTarget","sankeyLinkHorizontal","exprs","setPositionOffset","orientations","violinList","getPolygonizer","createMSTable","createCellPolygonizer","maxCellSize","tables","generateCase","alg","valueToString","makeReflectTypes","useIndex","handleTernaryDefaults","ternaryLayoutIn","ternaryLayoutOut","letterUpper","makePathFn","_a0","_a1","vaBar","cdbar","barLayer","rp0","rp1","thetag0","thetag1","rg1","thetagMid","colLength","transposeRagged","maxlen","zlen","yTranspose","translationMatrix","xys","createTurntableController","rotateM","normalize3","dot3","clamp1","findOrthoPair","TurntableController","computedRight","computedAngle","computedToward","maxDist","toward","ctheta","stheta","cphi","sphi","zAxis","dphi","droll","noSnap","ushift","vshift","ez","cf","tz","angleState","lastTheta","lastPhi","dataArrays","arraysToFill","dataArray","fillArray1","fillArray2","displaySum","normSum","hasBars","shouldBeGapless","gappedAnyway","usedSubplots","Grid","tickShader","compareTickNum","X_AXIS","Y_AXIS","SCR_OFFSET","TICK_SCALE","viewWidth","viewHeight","xTicksOffset","yTicksOffset","xEnd","xCount","yEnd","yCount","tickScale","OFFSET_X","OFFSET_Y","gridTicks","localTicks","m44","heatmapStyle","isConstraintType","colorLines","colorFills","firstFill","stylePie","pieCastOption","CST_MARKER_SIZE","CST_LINE_WIDTH","CST_MARKER_LINE_WIDTH","MAX_LINE_WIDTH","MAX_MARKER_LINE_WIDTH","getGradientDirection","constantItemSizing","boundLineWidth","cst","styleLines","dMod","tMod","showFill","showGradientLine","showGradientFill","fillGradient","markersOrText","anyFill","anyLine","pathStart","this3","minExtend","showMarkers","boundVal","attrIn","arrayToValFn","valToBound","pickFirst","dEdit","tEdit","ptgroup","styleWaterfalls","ptsData","styleBars","styleBarLike","styleFunnels","barpath","styleBoxes","styleCandles","styleOHLC","stylePies","stylePieLike","styleFunnelareas","d0Mod","styleSpatial","useGradient","traceGroup","markerOffsetY","clonePlot","cheaterBasis","arrayMinmax","calcGridlines","calcLabels","calcClipPath","smoothFill2dArray","avals","bvals","isBicubic","SUPPORTED_TYPES","GLBuffer","updateTypeArray","dataLen","makeScratchTypeArray","STREAM_DRAW","ndt","carpetAttrs","startLineColor","startLineWidth","showStartLine","endLineColor","endLineWidth","showEndLine","ouu2","autoMarginId","sliderOpts","makeSliderData","contOpts","sliderData","findDimensions","sliderLabels","maxLabelWidth","labelHeight","stepOpts","_dims","inputAreaWidth","outerLength","inputAreaStart","inputAreaLength","textableInputLength","availableSpacePerLabel","computedSpacePerLabel","labelStride","currentValueMaxWidth","currentValueHeight","currentValueTotalHeight","currentValueMaxLines","dummyGroup","curValPrefix","drawCurrentValue","curValSize","drawSlider","sliderGroup","drawRail","drawLabelGroup","drawTouchRect","drawGrip","setGripPosition","valueOverride","curVal","grip","attachGripEvents","labelItems","labelSteps","normalizedValueToPosition","handleInput","normalizedPosition","doTransition","quantizedPosition","quantizedIndex","setActive","doCallback","previousActive","slider","interaction","_nextMethod","_nextMethodRaf","$gd","getSliderOpts","positionToNormalizedValue","isMajor","computeLabelSteps","_invokingCommand","computedLength","sliders","clearSlider","sliderGroups","gSlider","createFills","traceJoin","fillJoin","cdscatterAll","selectMarkers","errorBarGroup","ownFillEl3","ownFillDir","thispath","thisrevpath","prevRevpath","prevPolygons","_prevRevpath","_nextFill","pathfn","revpathbase","revpathfn","thisPolygons","revpath","_ownFill","isEnter","lineJoin","clearFill","_prevPolygons","clipUrl","visFilter","visFilterWithGaps","gapFilter","hideFilter","hasNode","markerFilter","textFilter","showFilter","isInferZero","_needsCull","mnum","tnum","inboxFn","_cdi","segseg","ratCmp","ratToFloat","ratVec","boundRat","boundEdges","boundPoints","getCrossings","edgeBounds","getTJunctions","vertBounds","cutEdges","floatPoints","junctions","useColor","ratPoints","crossing","ef","junction","dedupPoints","floatBounds","noDupes","compareLex2","compareLex3","dedupEdges","preRound","snapRound","tjunctions","prevEdges","augEdges","modified","perspectiveMatrix","tmpVec4","pdum3","vec4multMat4","mat3from4","mat4x4","scale2","dragOne","splomGrid","makeGridData","fullView","lcolor","lwidth","gridBatches","zScale","lgroupToTraces","lgroups","hasOneNonBlankGroup","slicesShown","lgroupi","addOneItem","legendGroup","uniqueGroup","lgroup","labelj","ltraces","lgroupsLength","JUNK","invertPermutation","dfltAnchor","dfltDomain","dfltPosition","createTable","chull","constructVertex","constructCell","opts1","funnelareacolorway","extendfunnelareacolors","gl3dAxisAttrs","makeCameraVector","boxList","pointList","shownPts","boxdv","dPos0","numTotal","groupFraction","groupGapFraction","pushplus","pushminus","edgeplus","edgeminus","hasPts","pm","colorbarAttrs","palettes","noScale","onlyIfNumerical","colorscaleDflt","contextHead","autoImpliedEdits","minmaxImpliedEdits","isPlainFunction","normalizeOpts","dscr","equalPts","xtol","ytol","edgeflag","locStr","marchStep","getStartStep","getInterpPx","startLoc","startStep","atEdge","closedLoop","distgroup","cnt2","cnt3","newpt","ptcnt","ptavg","thisdist","edgepathi","edgepathj","closedpath","totaldist","distThresholdFactor","alldists","cropstart","distThreshold","getpt","doublemerged","locx","locy","zxy","handleLayerDefaults","layerIn","layerOut","typeDflt","mustBeRasterLayer","ovv2","d3Sankey","d3SankeyCircular","d3Force","sankeyModel","nodePad","nodeThickness","nodePointNumber","groupingNode","computeLinkConcentrations","flowKey","flows","flowLinks","totalPerLabel","concentration","totalOutflow","concentrationOut","totalInflow","concenrationIn","resolveCollisionsTopToBottom","snapToColumns","colX","orderedNodes","colNumber","guid","nodeLineColor","nodeLineWidth","linkLineColor","linkLineWidth","dragParallel","dragPerpendicular","forceLayouts","interactionState","dragInProgress","linkModel","basicKey","linkPath","createCircularClosedPathString","y0a","y0b","y1a","y1b","nodeModel","zoneThicknessPad","zoneLengthPad","visibleThickness","visibleWidth","visibleHeight","zoneX","zoneY","zoneWidth","zoneHeight","labelY","originalLayer","sizeAcross","darkBackground","uniqueNodeLabelPathId","updateNodePositions","updateNodeShapes","updateShapes","salientEnough","sankeyTransform","nodeCentering","textGuidePath","sankeyInverseTransform","textFlip","nodeTextColor","nodeTextOffset","attachPointerEvents","eventSet","attachDragHandler","dragBehavior","_dragCover","saveCurrentDragPosition","forceKey","attachForce","startForce","sameLayer","persistFinalNodePositions","switchToForceFormat","originalX","forceSimulation","forceCollide","snappingForce","faster","switchToSankeyFormat","maxVelocity","lastDraggedX","lastDraggedY","nodeX","nodeY","persistOriginalPlace","distinctLayerPositions","originalY","originalLayerIndex","firstRender","dragcover","styledData","dragboxClassName","objectAssign","hasOwn","pSlice","functionsHaveNames","pToString","arrbuf","truncate","something","rawname","getMessage","expected","stackStartFunction","AssertionError","_deepEqual","memos","actualIndex","objEquiv","actualVisitedObjects","aIsArgs","bIsArgs","notDeepStrictEqual","expectedException","_tryBlock","_throws","shouldThrow","userProvidedMessage","isUnwantedException","isUnexpectedException","generatedMessage","captureStackTrace","fn_name","next_line","notEqual","deepStrictEqual","notDeepEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","MAX_GROUP_ID","srcPoints","sublevels","levelItems","nextOffset","diam","levelGroups","sublevel","lolo","lohi","hilo","hihi","x$1","y$1","nminX","nminY","nmaxX","nmaxY","maxLevel","off0","off1","off2","off3","levelGroupStart","levelGroupEnd","startOffset","endOffset","contourPlot","axisAlignedLine","mapPathinfo","pedgepath","ppath","pathData","constrainToCarpet","levelData","pathABData","startVector","getUnitVector","endVector","minStart","maxEnd","abPt","pathVector","edgeVector","dAB","normalizeVector","vectorTan","ab2p","carpetcd","pathto","startpt","contourcarpetLayer","isAllBlank","mat4mult","getSimpleString","ScatterPlotPickResult","fixOpacity","PointCloud","orthoShader","projectShader","pointBuffer","glyphBuffer","pickPerspectiveShader","pickOrthoShader","pickProjectShader","lineVertexCount","projectHasAlpha","_selectResult","useOrtho","axesProject","highlightId","createPointCloud","pickBase","VIEW_SHAPE","U_VEC","V_VEC","MU_VEC","MV_VEC","SCRATCH_MATRIX","SCRATCH_VEC","CLIP_BOUNDS","augment","hg","af","setComponent","getClipBounds","drawProject","screenSize","pickGroup","pmodel","mdu","mdv","sv","fragClipBounds","NEG_INFINITY3","POS_INFINITY3","CLIP_GROUP","drawFull","pshader","forceDraw","get_glyphData","alignmentX","alignmentY","angles","lineColors","pickCounter","triVertexCount","count_loop","glyphData","glyphMesh","glyphLines","glyphBounds","positionArray","glyphArray","idArray","triOffset","isColorArray","isLineColorArray","glyphVisible","currentScript","scripts","getElementsByTagName","handleOpacity","handleOverlap","parcoordsLineLayers","parcoordsLineLayer","filterBarPattern","str2bn","makeRational","selectorOut","getPosDflt","anchoredList","selectorIn","posDflt","fontAttr","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","objectProto","nativeMax","nativeMin","lastArgs","lastThis","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","trailingEdge","debounced","isInvoking","isObjectLike","isBinary","Ax","Ay","Bx","By","d_py_ly","d_rx_lx","d_px_lx","d_ry_ly","sqlen","pointsSameX","pointsSameY","pt3","axb","searchString","sqrDist","sqrLen","boxDeltaPos","boxDeltaNeg","dVal","isViolin","boxDelta","posAcceptance","xPx","yPx","ijClosest","tangent","tanIsoIdx","tanIsoPar","refidx","toIdx","isoIdx","vstart","vend","dirfloor","dirceil","dirmin","dirmax","idx0","idx1","findInterp","pixArray","maxBin","pix0","pix1","bin0","bin1","findInterpFromCenters","centerPixArray","putColor","pxIndex","heatmapLayer","xrev","yrev","canvasW","canvasH","xbi","ybi","pixcount","gcount","bcount","yinterp","xForPx","yForPx","xPixArray","yPixArray","xinterpArray","findInterpX","findInterpY","interpColor","setColor","pxArray","dlen","xGap","yGap","xGapLeft","yGapTop","avgColor","pixsize","xinterp","z00","z01","z10","z11","setPublicPath_i","_vm","_h","$createElement","_c","_self","directives","rawName","staticRenderFns","_defineProperty","lib","lib_default","eventsName","completeName","$emit","components_events","plotlyFunctions","functionName","components_methods","hit","camelize","enumerableOnly","_objectSpread","Plotlyvue_type_script_lang_js_","inheritAttrs","scheduled","innerLayout","mounted","watch","deep","old","_layout","computed","optionsFromAttrs","$attrs","beforeDestroy","onResize","_this4","$nextTick","allOptions","getPrintOptions","components_Plotlyvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$options","shadowRoot","_injectStyles","originalRender","beforeCreate","getOutsideTextFontKey","getInsideTextFontKey","getParentId","childId","keyStr","isOutsideText","tube2mesh","Streamtube","getDfltStartingPositions","getBoundPads","tubeOpts","meshx","meshy","meshz","xbnds","ybnds","zbnds","xpads","ypads","zpads","createStreamtubeTrace","streamtube","fromDataScale","uvx","arrayModule","coerceModule","datesModule","searchModule","statsModule","matrixModule","anglesModule","anchorUtils","geom2dModule","extendModule","loggersModule","regexModule","throttleModule","throttleDone","domModule","makePtIndex2PtNumber","ptIndex2ptNumber","attrList","part1","part2","_recursion","rem","OptionControl","optname","optObj","optionList","smooth","FWHM","alen","alen2","wlen","finalStep","fni","continueAsync","promiseError","stripTrailingSlash","hasAny","hasAll","hasFn","traceVal","isCdIndexValid","ptIndex","transformOpts","obj1","obj2","arrayLen","titleCase","containsAny","IS_IE9_OR_BELOW_REGEX","IS_SAFARI_REGEX","enterFn","objectFromPath","tmpObj","dottedPropertyRegex","indexedPropertyRegex","trailingPath","thousandsRe","decimalSep","thouSep","TEMPLATE_STRING_REGEX","getterCache","hovertemplateWarnings","templateFormatString","texttemplateWarnings","TEMPLATE_STRING_FORMAT_SEPARATOR","char0","char9","numA","numB","charA","charB","isNumA","isNumB","randSeed","lastVal","baseFont","needsCull","privates","fallback","forwardFrag","pickFrag","EthiopianCalendar","LOG2E","menuOpts","isFolded","gButton","buttonOpts","gHeader","buttonIndex","isSilentUpdate","drawButtons","drawHeader","headerOpts","posOpts","positionOverrides","headerWidth","setItemPosition","styleOnMouseOver","styleOnMouseOut","buttonData","openHeight","openWidth","scrollBoxPosition","menu","styleButtons","drawScrollBox","hideScrollBox","heights","widths","hasHBar","hasVBar","itemOpts","drawItemRect","drawItemText","height1","totalWidth","fakeButtons","paddedWidth","paddedHeight","overrideOpts","spanOffset","newMenuIndexAttr","menuData","clearAutoMargin","menus","headerGroups","scrollBoxId","_gButton","getCanvasContext","CSSRuleList","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","convertToPx","convertToDate","extractedCoordinates","relevantParamIdx","dataToPixel","pixelToData","strokeWidthIsOdd","posValAsInt","barycentricCircumcenter","barycenetric","feat","multiPoint","multiLineString","multiPolygon","featureCollection","coordinates_1","lineStrings","geometryCollection","radiansToLength","factors","lengthToRadians","lengthToDegrees","radiansToDegrees","bearingToAzimuth","degreesToRadians","convertLength","originalUnit","finalUnit","convertArea","startFactor","areaFactors","finalFactor","validateBBox","validateId","radians2degrees","degrees2radians","distanceToDegrees","distanceToRadians","radiansToDistance","bearingToAngle","convertDistance","earthRadius","centimeters","centimetres","feet","inches","kilometers","kilometres","meters","metres","miles","millimeters","millimetres","nauticalmiles","yards","unitsFactors","acres","imageDataAbove","imageDataSubplot","imageDataBelow","setImage","thisImage","_imgSrc","imagePromise","errorHandler","imagesBelow","imagesAbove","imagesOnSubplot","factories","construct","argsLength","partArgs","_unsupportedIterableToArray","arrayLikeToArray","mergeTransitions","hideOnLeave","leaveAbsolute","beforeEnter","mergeData","functions","expandedParentClass","sizeProperty","offsetProperty","initialStyle","afterEnter","enterCancelled","leave","afterLeave","leaveCancelled","resetStyles","VFadeTransition","createSimpleTransition","VScaleTransition","VSlideXTransition","VExpandTransition","createJavascriptTransition","VExpandXTransition","$values","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","interceptors","interceptor","fulfilled","rejected","getUri","paramsSerializer","breakpoints","ALIGNMENT","makeProps","alignValidator","alignProps","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","alignContent","classMap","breakpointClass","breakpoint","dense","noGutters","staticClass","speciesConstructor","callRegExpExec","arrayPush","MAX_UINT32","SPLIT","nativeSplit","internalSplit","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","isFontAwesome5","iconType","SIZE_MAP","VIcon","medium","hasClickListener","listeners$","getIcon","iconName","$slots","xSmall","small","large","xLarge","explicitSize","getDefaultData","attrs$","getSvgWrapperData","wrapperData","applyColors","themeClasses","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","renderSvgIcon","svgData","renderSvgIconComponent","$_wrapperFor","hideOverlay","overlayColor","overlayOpacity","animationFrame","genOverlay","createOverlay","VOverlay","propsData","absolute","showScroll","scrollListener","checkPath","hasScrollbar","shouldScroll","composedPath","dialog","$refs","hideScroll","$vuetify","baseMixins","mixins","ClickOutside","dark","fullscreen","noClickAnimation","persistent","retainFocus","scrollable","activatedBy","animateTimeout","stackMinZIndex","previousActiveElement","contentClasses","hasActivator","$scopedSlots","beforeMount","animateClick","closeConditional","_isDestroyed","activeZIndex","onClickOutside","onKeydown","getOpenDependents","activator","onFocusin","getOpenDependentElements","focusable","genContent","showLazyContent","tabindex","genTransition","appear","genInnerContent","include","transformOrigin","attach","openDelay","closeDelay","openTimeout","closeTimeout","clearDelay","runDelay","createHTML","forcedStringHTMLMethod","reflectionIsSupported","defineMetadata","getOwnMetadataKeys","copyReflectionMetadata","forwardMetadata","getOwnMetadata","fakeArray","hasProto","createDecorator","__decorators__","collectDataFromConstructor","Component","originalInit","plainData","$internalHooks","componentFactory","_componentTag","decorators","superProto","Super","Extended","forwardStaticMembers","shouldIgnore","callee","caller","Original","extendedDescriptor","superDescriptor","registerHooks","reflectMetadataIsSupported","getMetadata","applyMetadata","Prop","componentOptions","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","Ripple","activeClass","exact","exactActiveClass","nuxt","ripple","proxyClass","computedRipple","isClickable","isLink","$listeners","$route","generateRouteLink","onRouteChange","stackElement","stackExclude","getMaxZIndex","exclude","zis","activeElements","isArrayIteratorMethod","getIteratorMethod","iteratorClose","Result","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","chips","clearable","counterSizeString","counterString","hideInput","prependIcon","readonly","showSize","smallChips","truncateLength","computedCounterValue","fileCount","isMultiple","lazyValue","lang","internalArrayValue","internalValue","isDirty","isLabelActive","isFocused","file","truncatedText","hasChips","clearableCallback","genChips","genControl","genInput","genPrependSlot","genIcon","genSlot","genSelectionText","genSelections","genTextFieldSlot","onInput","files","onKeyDown","truncateText","charsKeepOneSide","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","isFormData","isArrayBuffer","isFile","isBlob","isArrayBufferView","isURLSearchParams","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","measurableStyles","notARegExp","correctIsRegExpLogic","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","CONSTRUCTOR_NAME","_setPrototypeOf","_inherits","subClass","superClass","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","backgroundOpacity","bufferValue","indeterminate","striped","internalLazyValue","__cachedBackground","setBackgroundColor","backgroundStyle","__cachedBar","__cachedBarType","__cachedBuffer","__cachedDeterminate","__cachedIndeterminate","genProgressBar","__cachedStream","setTextColor","normalizedBuffer","computedTransition","rtl","normalizedValue","reactive","slot","genListeners","loaderHeight","genProgress","returnMethod","emptyObject","isUndef","isDef","isTrue","isFalse","_toString","isValidArrayIndex","isPromise","makeMap","expectsLowerCase","isReservedAttribute","camelizeRE","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","nativeBind","_from","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","_isServer","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","isIE9","isEdge","isIOS","isFF","nativeWatch","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","_Set","hasSymbol","Dep","subs","addSub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","VNode","elm","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","asRootData","_isVue","defineReactive$$1","customSetter","childOb","dependArray","strats","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","inject","provide","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives","def$$1","mergeOptions","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","isSameType","expectedTypes","handleError","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","pending","copies","setImmediate","seenObjects","traverse","_traverse","isA","depId","normalizeEvent","once$$1","createFnInvoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","mergeVNodeHook","hookKey","oldHook","wrappedHook","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","bindObject","scopedSlotFn","resolveFilter","isKeyNotMatch","expect","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","prependModifier","installRenderHelpers","_q","_f","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","scopedSlots","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","ensureCtor","errorComp","resolved","owners","loadingComp","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","getFirstComponentChild","initEvents","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","cbs","setActiveInstance","prevActiveInstance","initLifecycle","$children","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","mountComponent","updateComponent","Watcher","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","propKeys","_propKeys","isInInactiveTree","direct","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","timeStamp","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","lazy","deps","newDeps","depIds","newDepIds","cleanupDeps","sharedPropertyDefinition","sourceKey","initProps","initMethods","initData","initComputed","initWatch","propsOptions","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","uid$3","initMixin","initInternalComponent","vnodeComponentOptions","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","latest","sealedOptions","initUse","installedPlugins","_installedPlugins","install","initMixin$1","mixin","initExtend","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","destroyed","builtInComponents","initGlobalAPI","configDef","defineReactive","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","isTextInputType","createElement$1","multiple","createComment","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","activate","ref$$1","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","_leaveCb","patchable","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","baseModules","updateAttrs","oldAttrs","setAttr","baseSetAttr","__ieph","blocker","updateClass","transitionClass","_transitionClasses","_prevClass","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","updateDOMListeners","updateDOMProps","oldProps","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","normalizedName","vendorNames","capName","oldStaticStyle","oldStyleBinding","normalizedStyle","whitespaceRE","addClass","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","getTransitionInfo","propCount","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","delays","durations","toMs","toggleDisplay","_enterCb","appearClass","appearToClass","appearActiveClass","beforeAppear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","beforeLeave","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","needReset","hasNoMatchingOption","actuallySetSelected","option","selectedIndex","initEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","kept","prevChildren","rawChildren","removed","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","WebkitTransform","_moveCb","_hasMove","oldPos","platformComponents","$startsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","_getPrototypeOf","_isNativeReflectConstruct","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","NewTarget","possibleConstructorReturn","defer","port","IS_IOS","IS_NODE","clearImmediate","ONREADYSTATECHANGE","runner","enhanceError","__CANCEL__","serializedParams","hashmarkIndex","generateWarning","defaultImpl","unregister","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","Iterators","arrayWithHoles","iterableToArrayLimit","nonIterableRest","isAxiosError","fileName","lineNumber","columnNumber","errorMessages","successMessages","validateOnBlur","errorBucket","hasFocused","hasInput","isResetting","computedColor","hasError","internalErrorMessages","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","isDisabled","form","isInteractive","isReadonly","validations","validationState","resetValidation","rule","isStandardBrowserEnv","originURL","msie","urlParsingNode","hostname","requestURL","defineIterator","STRING_ITERATOR","iterated","cbrt","VSheet","collapse","extensionHeight","floating","prominent","isExtended","computedHeight","isCollapsed","computedContentHeight","isProminent","breakingProps","genBackground","VImg","genExtension","Scroll","app","applicationProperty","removeApplication","activated","deactivated","callUpdate","updateApplication","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","thresholdMet","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","computedFontSize","computedLeft","application","computedMarginTop","computedOpacity","computedOriginalHeight","computedTransform","hideShadow","marginTop","UNSCOPABLES","ArrayPrototype","MATCH","nativeMatch","matcher","defaultConstructor","$trim","forcedStringTrimMethod","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","internalActivator","openOnHover","openOnFocus","activatorElement","activatorNode","slotType","addActivatorEvents","genActivator","genActivatorAttributes","genActivatorListeners","getActivator","getContentSlot","getValueProxy","removeActivatorEvents","resetActivator","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","inheritIfRequired","getFlags","setSpecies","NativeRegExp","CORRECT_NEW","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","callWithSafeIterationClosing","mapfn","iteratorMethod","groupClasses","collection","collectionStrong","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","_objectSpread2","rippleStop","DELAY_RIPPLE","isTouchEvent","isKeyboardEvent","localX","localY","ripples","isRippleEnabled","rippleShow","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","removeListeners","wasEnabled","whitespaces","ltrim","rtrim","payload","BaseItemGroup","mandatory","selectedItem","selectedItems","selectedValues","toggleMethod","genData","valueIndex","updateInternalValue","updateItemsState","updateMultiple","updateSingle","updateMandatory","isSame","itemGroup","$assign","breakpointProps","offsetProps","orderProps","alignSelf","hasColClasses","redefineAll","anInstance","iterate","fastKey","internalStateGetterFor","getConstructor","ADDER","getEntry","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","OBJECT_ALREADY_INITIALIZED","facade","_arrayLikeToArray","InternalMetadataModule","checkCorrectnessOfIteration","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","REQUIRED","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","TO_ENTRIES","Wrapper","NewTargetPrototype","theme","Themeable","themeableProvide","appIsDark","rootIsDark","rootThemeClasses","validateAttachTarget","contentClass","hasDetached","hasContent","getScopeIdAttrs","initDetach","Cancel","secure","cookie","toGMTString","hexColor","intToHex","colorToInt","$find","addToUnscopables","FIND","SKIPS_HOLES","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","makeWatcher","$data","testListenerOpts","getNestedValue","getObjectValueByPath","getZIndex","tagsToReplace","esc","backspace","pageup","pagedown","iconPath","groupBy","sortBy","stringCollator","sortA","sortB","sortDesc","customSorters","customResult","defaultFilter","chunked","mergeDeep","endPos","calculatedSize","circumference","strokeDashArray","strokeDashOffset","svgStyles","genCircle","genSvg","genInfo","btnToggle","depressed","fab","outlined","plain","retainFocusOnClick","sizeableClasses","computedElevation","defaultRipple","hasBg","isElevated","elevation","isRound","genLoader","loader","isAbsoluteURL","combineURLs","baseURL","requestedURL","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","quot","isGreater","onObserve","composed","onVisible","dirtyTypes","appendOuterIcon","autofocus","clearIcon","counterValue","prependInnerIcon","shaped","singleLine","solo","soloInverted","badInput","labelWidth","prefixWidth","prependWidth","isBooted","isClearing","VInput","hasCounter","hasDetails","isEnclosed","isSingle","isSolo","labelPosition","labelValue","showLabel","genAppendSlot","genPrependInnerSlot","genIconSlot","genInputSlot","genClearIcon","genCounter","genDefaultSlot","genFieldset","genLabel","focused","VLabel","genLegend","quiet","genMessages","messagesNode","counterNode","genAffix","onBlur","onFocus","attachedRoot","onMouseUp","setLabelWidth","scrollWidth","setPrefixWidth","setPrependWidth","tryAutofocus","updateValue","$endsWith","endPosition","encodeReserveRE","encodeReserveReplacer","commaRE","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","castQueryParamValue","stringifyQuery","trailingSlashRE","createRoute","record","redirectedFrom","router","route","fullPath","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bKey","bVal","isIncludedRoute","queryIncludes","handleRouteEntered","enteredCbs","View","routerView","_routerViewCache","inactive","_routerRoot","vnodeData","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","propsToPass","resolveProps","resolvePath","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","escaped","escapeGroup","escapeString","encodeURIComponentPretty","encodeAsterisk","pretty","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","params$1","rawPath","parsedPath","_Vue","toTypes","eventTypes","Link","exactPath","ariaCurrentValue","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","scopedSlot","navigate","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","installed","registerInstance","callVal","_router","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","compileRouteRegex","redirect","childMatchAs","aliasRoute","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","absolutePath","stateCopy","handlePopState","handleScroll","isPop","scrollBehavior","getScrollPosition","scrollToPosition","saveScrollPosition","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","scrollTo","supportsPushState","pushState","runQueue","NavigationFailureType","redirected","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isNavigationFailure","errorType","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","records","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","listen","onReady","errorCb","onError","transitionTo","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","lastRouteIndex","lastCurrentIndex","beforeHooks","enterGuards","resolveHooks","setupListeners","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","fromRoute","getCurrentLocation","HashHistory","checkFallback","ensureSlash","getHash","replaceHash","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","registerHook","createHref","handleInitialScroll","routeOrError","beforeEach","beforeResolve","afterEach","getMatchedComponents","normalizedTo","START_LOCATION","srgbForwardMatrix","srgbForwardTransform","srgbReverseMatrix","srgbReverseTransform","roundedClasses","CancelToken","executor","resolvePromise","customSort","mustSort","multiSort","itemsPerPage","groupDesc","customGroup","disableSort","disablePagination","disableFiltering","customFilter","serverItemsLength","internalOptions","sortDiff","groupDiff","itemsLength","filteredItems","pageCount","pageStart","pageStop","pagination","computedItems","sortItems","paginateItems","groupedItems","groupItems","scopedProps","sortArray","updateOptions","originalItemsLength","computedOptions","oldBy","oldDesc","byIndex","allowOverflow","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","offsetOverflow","openOnClick","positionX","positionY","absoluteX","absoluteY","activatorFixed","hasJustFocused","hasWindow","inputActivator","isContentActive","pageWidth","stackClass","activatorLeft","computedTop","absolutePosition","calcLeft","calcXOverflow","calcTop","calcYOverflow","xOverflow","documentHeight","toTop","contentHeight","isOverflowing","callActivate","callDeactivate","checkForPageYOffset","checkActivatorFixed","deactivate","getInnerHeight","getOffsetLeft","getOffsetTop","getRoundedBoundedClientRect","sneakPeek","startTransition","updateDimensions","Resize","isInMenu","closeOnContentClick","disableKeys","calculatedTopAuto","defaultOffset","listIndex","resizeTimeout","activeTile","calculatedLeft","menuWidth","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","calculatedTop","hasClickableTiles","calcScrollPosition","maxScrollTop","calcLeftAuto","calcTopAuto","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","genDirectives","menuable__content__active","getTiles","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","lastTile","firstTile","indeterminateIcon","onIcon","offIcon","isInList","isInNav","listItemGroup","threeLine","twoLine","genAttrs","filteredChild","nav","subheader","listClick","appendIcon","noAction","subGroup","genAppendIcon","VListItemIcon","genHeader","inputValue","genItems","genPrependIcon","VListItemContent","VListItemTitle","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","parsedItems","tileActiveClass","staticNoDataTile","genTileContent","genAction","VListItemAction","genDivider","VDivider","genFilteredText","getMaskedCharacters","genHighlight","VSubheader","genTile","hasItem","getDisabled","needsTile","valueComparator","defaultMenuProps","cacheItems","deletableChips","disableLookup","eager","itemColor","menuProps","openOnClear","returnObject","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","computedOwns","dynamicHeight","hasSlot","listData","selectItem","staticList","VSelectList","virtualizedItems","$_menuProps","menuCanShow","normalisedProps","activateMenu","getContent","findExistingIndex","genChipSelection","VChip","genCommaSelection","selections","autocomplete","keypress","onKeyPress","genHiddenInput","genList","genListWithSlot","slotName","genMenu","scroll","genSelection","genSlotSelection","getMenuIndex","onChipInput","isAppendInner","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","onUpDown","onTabDown","onSpaceDown","onMenuActiveChange","hasMouseDown","showMoreItems","setMenuIndex","setSelectedItems","appendInner","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedDataItemsPerPageOptions","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genDataItemsPerPageOption","genItemsPerPageSelect","computedIPPO","ippo","hideDetails","genPaginationInfo","VBtn","genIcons","mobileBreakpoint","mobile","mobileWidth","VData","itemKey","singleSelect","expanded","singleExpand","noResultsText","loadingText","hideDefaultFooter","footerProps","selectableKey","expansion","internalCurrentItems","everyItem","selectableItems","someItems","sanitizedFooterProps","removedProps","toggleSelectAll","isSelected","isExpanded","createItemProps","genEmptyWrapper","genEmpty","noData","filteredItemsLength","noResults","genFooter","genDefaultScopedSlot","outerProps","sortIcon","showGroupBy","genSelectAll","genSortIcon","sortByText","genSortChip","sortIndex","beingSorted","isDesc","sortable","asc","genSortSelect","sortHeaders","th","genGroupByToggle","getAria","ariaSort","ariaLabel","dedupeModelListeners","VDataTableHeaderMobile","VDataTableHeaderDesktop","computedSlots","regularSlot","divider","headerClass","summaryClass","fixedHeader","genWrapper","hideDefaultHeader","mobileRowChildren","searchTableItems","matchesColumnFilters","headersWithCustomFilters","matchesSearchTerm","headersWithoutCustomFilters","showSelect","showExpand","caption","headerProps","calculateWidths","headersLength","expandIcon","itemClass","internalGroupBy","openCache","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","sanitizedHeaderProps","computedItemsPerPage","firstOption","calcWidths","customFilterWithColumns","customSortWithHeaders","VDataIterator","genCaption","genColgroup","genLoading","genHeaders","genGroupedRows","genRows","genDefaultGroupedRow","toggleFn","removeFn","RowGroup","genScopedRows","genDefaultRows","genDefaultExpandedRow","headerRow","genDefaultSimpleRow","expandedRow","MobileRow","contextmenu","dblclick","genBody","genFooters","simpleProps","proxySlot","Intersect","VCardActions","VCardSubtitle","VCardText","VCardTitle","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","assertThisInitialized","__decorate","decorate","nativeJoin","ES3_STRINGS","defaultConditional","mapper","sourceIndex","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","insertCount","actualDeleteCount","actualStart","Proxyable","fluid","borderless","INCORRECT_ITERATION","__scrim","NativePromise","NON_GENERIC","real","onFinally","colorName","NativeNumber","NumberPrototype","BROKEN_CLASSOF","third","radix","maxCode","NumberWrapper","error1","computedAspectRatio","aspectStyle","__cachedSizer","hasIntersect","contain","lazySrc","srcset","currentSrc","isLoading","calculatedAspectRatio","normalisedSrc","__cachedImage","backgroundImage","backgroundPosition","lazyImg","onLoad","getSrc","pollForSize","__genPlaceholder","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","TO_STRING_TAG_SUPPORT","raised","FunctionPrototype","FunctionPrototypeToString","nameRE","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","unescape","Authorization","responseURL","responseHeaders","getAllResponseHeaders","responseData","onabort","ontimeout","timeoutErrorMessage","xsrfValue","onDownloadProgress","onUploadProgress","macrotask","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","task","thisNumberValue","nativeToFixed","dataToString","fractionDigits","fractDigits","IS_FILTER_OUT","filterOut","searchChildren","closeDependents","isDependent","openDependents","getClickableDependentElements","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","inverseLabel","thumbColor","thumbLabel","thumbSize","trackColor","trackFillColor","thumbPressed","mouseTimeout","noClick","roundValue","trackTransition","stepNumeric","inputWidth","trackFillStyles","startDir","endDir","valueDir","trackStyles","numTicks","showThumbLabel","computedTrackColor","computedTrackFillColor","computedThumbColor","genSlider","onSliderMouseDown","genChildren","genThumbContainer","genTrackContainer","genSteps","offsetDirection","thumbLabelContent","genThumbLabelContent","genThumbLabel","getThumbContainerStyles","genThumb","mouseUpOptions","mouseMoveOptions","onSliderMouseUp","onMouseMove","parseMouseMove","parseKeyDown","onSliderClick","thumb","track","trackLength","clickOffset","clickPos","trimmedStep","decimals","_defineProperties","_createClass","protoProps","staticProps","ignoreDuplicateOf","genMessage","persistentHint","computedId","messagesToDisplay","hasHint","validation","validationResult","showDetails","extraData","hasListener","FormData","pipe","URLSearchParams","product","assignValue","stripBOM","$findIndex","FIND_INDEX","non","elevationClasses","$includes","chipGroup","closeIcon","closeLabel","filterIcon","pill","hasClose","genFilter","genClose","newPromiseCapability","promiseCapability","inset","createInstance","axios","spread","aPossiblePrototype","CORRECT_SETTER","_classCallCheck","$exec","createMessage","generateComponentTrace","newMessage","consoleWarn","consoleError","classifyRE","classify","formatComponentName","includeFile","currentRecursiveSequence","styleList","styleProp","parseStyle","styleMap","mergeTarget","mergeClasses","mergeStyles","mergeListeners","FREEZING","onFreeze","$freeze","ArrayIteratorMethods","ArrayValues","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","ARRAY_ITERATOR","Arguments","returnValue","originalValue","relativeURL","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","microtask","hostReportErrors","newPromiseCapabilityModule","perform","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","HANDLED","UNHANDLED","SUBCLASSING","GLOBAL_CORE_JS_PROMISE","FakePromise","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","alreadyCalled","PromiseCapability","$$resolve","$$reject","METADATA","setMetadata","objectID","weakData","getWeakData","Toggleable","registerComponents","vuetify","_objectWithoutPropertiesLoose","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","badge","dataIterator","dataTable","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","carousel","moreEvents","fileInput","counterSize","timePicker","currentPage","rating","sm","md","lg","iconfont","cspNonce","customProperties","minifyTheme","themeCache","variations","themes","accent","defaultPreset","userPreset","preset","globalPreset","insetFooter","footer","xsOnly","smOnly","smAndDown","smAndUp","mdOnly","mdAndDown","mdAndUp","lgOnly","lgAndDown","lgAndUp","xlOnly","Breakpoint","ssr","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","totalOffset","_settings","appOffset","goTo","isDrawer","startTime","targetLocation","startLocation","timeElapsed","complete","checkboxOn","checkboxOff","checkboxIndeterminate","dropdown","radioOn","radioOff","ratingEmpty","ratingFull","ratingHalf","unfold","iconSet","convertToComponentDeclarations","mdiSvg","mdi","fa4","faSvg","presets","LANG_PREFIX","getTranslation","usingDefault","shortKey","defaultLocale","Lang","currentLocale","cielabForwardTransform","cielabReverseTransform","transformedY","isItem","parsedTheme","genVariations","genBaseColor","genColorVariableName","genColorVariable","cssVar","variablesCss","variantValue","unwatch","vueMeta","Theme","styleEl","oldDark","defaultTheme","metaKeyName","getOptions","metaInfo","vuetifyStylesheet","nonce","addApp","obs","currentTheme","isHydrating","service","Service","classofRaw","CORRECT_ARGUMENTS","tryGet","eject","nativeSlice","fin","availableProps"],"mappings":"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xBD,EAAOC,QAAU,CAEb,YACA,QACA,UACA,OACA,YACA,QACA,UACA,UACA,QACA,WACA,KACA,MACA,QACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,OACA,QACA,UACA,SACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,cACA,kBACA,kBACA,SAGA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,SACA,OACA,SACA,UACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,gBACA,sBACA,SACA,OACA,YACA,UAME,KACA,SAAUD,EAAQC,EAASgC,GAEjC,aAYA,IAAI6O,EAAY7O,EAAoB,QAKpCjC,EAAOC,QAAU,SAA0BsQ,GACvC,IAAIqpB,EAASrpB,EAAMqpB,OACfwrF,EAAUxrF,EAAO21D,SAAW,EAC5B81B,EAAUzrF,EAAO41D,SAAW,EAM5B81B,EAA8B,SAApB1rF,EAAO61D,SACjB,SAAShpF,GAAK,OAAOiB,KAAKuD,KAAKxE,EAAI2+G,IACnC,SAAS3+G,GAAK,OAAOA,EAAI2+G,GAI7B,OAAO,SAAS3+G,GACZ,IAAI8+G,EAAWD,EAAO7+G,EAAI,GAG1B,OAAQqK,EAAUy0G,IAAcA,EAAW,EACvC79G,KAAKqC,IAAIw7G,EAAUF,GACnB,KAON,KACA,SAAUrlH,EAAQC,EAASgC,GAEjC,aAYA,IAAI4O,EAAK5O,EAAoB,QACzB6O,EAAY7O,EAAoB,QAEhCmwC,EAAQnwC,EAAoB,QAC5Bg5B,EAAWh5B,EAAoB,QAC/BqW,EAAMrW,EAAoB,QAC1Bk3B,EAAUl3B,EAAoB,QAC9BwiB,EAAQxiB,EAAoB,QAC5BowC,EAAepwC,EAAoB,QACnCujH,EAAoBvjH,EAAoB,QAExCoxC,EAAgBpxC,EAAoB,QAAQoxC,cAC5CoyE,EAAa,eAkCjB,SAAS53G,EAAKyC,EAAIo1G,EAAY/4G,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ACA,eACA,gBACA,WACA,gBACA,0BACA,eACA,eACA,eACA,eACA,SACA,cACA,kBACA,mBACA,eACA,eACA,cACA,eACA,kBACA,gBACA,iBACA,4BACA,uBACA,mBACA,yBACA,gBACA,0BACA,wBACA,mBACA,iBACA,2BACA,wBACA,mBACA,kCACA,oBACA,kCACA,eACA,sBACA,0BACA,qBACA,sBACA,sBACA,gCACA,gCACA,qBACA,4BACA,qCACA,8BACA,+BACA,sCACA,+CACA,wCACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,YACA,kBACA,iBACA,kBACA,kBACA,kBACA,kBACA,WACA,gBACA,qBACA,eACA,cACA,sBACA,6BACA,sCACA,+BACA,oBACA,cACA,qBACA,mBACA,0BACA,mCACA,4BACA,YACA,cACA,mBACA,cACA,SACA,WACA,gBACA,MACA,OACA,iBACA,MACA,MACA,MACA,MACA,YACA,MACA,WACA,MACA,UACA,UACA,UACA,OACA,MACA,aACA,OACA,OACA,MACA,YACA,eACA,gBACA,mBACA,cACA,iBACA,kBACA,sBACA,oBACA,mBACA,uBACA,uBAME,OACA,SAAUD,EAAQC,EAASgC,GAEjC,aAGA,IAAIk2H,EAAUl2H,EAAoB,QAG9BknR,EAAgB,CAAE,QAAU,EAAM,UAAY,EAAM,WAAa,GAErEnpR,EAAOC,QAAU,SAAUgD,GAC1B,QAAKk1H,EAAQl1H,IACNY,eAAerD,KAAK2oR,SAAsBlmR,KAM5C,OACA,SAAUjD,EAAQC,EAASgC,GAEjC,aAWA,IAAImnR,EAASnnR,EAAoB,QAC7BqW,EAAMrW,EAAoB,QAC1BkL,EAAOlL,EAAoB,QAAQkL,KAEnCqnE,EAAsBl8D,EAAIk8D,oBAC1B60M,EAAU/wQ,EAAI+wQ,QACdnpM,EAAaj+E,EAAoB,QAErC,SAASqnR,EAAkB/4Q,GACvB,IASIpO,EATAsvB,EAAWlhB,EAAM0Y,KACjBsgQ,EAAWh5Q,EAAMi8D,KAEjBN,EAAQ,GACRs9M,EAAoBh1M,EAAoB+0M,EAASv8Q,OACjDy8Q,EAAc,GAE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O,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAEjD,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MA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AC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAEvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,IAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAEvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI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AAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAIkD,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAKuqF,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAIu4T,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI4mD,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI3mD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI4mD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI5mD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,KAAKC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK04L,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIh+kB,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,IAAIutM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GA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AAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI2B,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIgd,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIwqB,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK5e,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,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","file":"js/chunk-vendors.4130b19f.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\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","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\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 if(typeof exports === 'object')\n\t\texports[\"vue-plotly\"] = factory();\n\telse\n\t\troot[\"vue-plotly\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"0000\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//High level idea:\n// 1. Use Clarkson's incremental construction to find convex hull\n// 2. Point location in triangulation by jump and walk\n\nmodule.exports = incrementalConvexHull\n\nvar orient = __webpack_require__(\"92ba\")\nvar compareCell = __webpack_require__(\"24ad\").compareCells\n\nfunction compareInt(a, b) {\n return a - b\n}\n\nfunction Simplex(vertices, adjacent, boundary) {\n this.vertices = vertices\n this.adjacent = adjacent\n this.boundary = boundary\n this.lastVisited = -1\n}\n\nSimplex.prototype.flip = function() {\n var t = this.vertices[0]\n this.vertices[0] = this.vertices[1]\n this.vertices[1] = t\n var u = this.adjacent[0]\n this.adjacent[0] = this.adjacent[1]\n this.adjacent[1] = u\n}\n\nfunction GlueFacet(vertices, cell, index) {\n this.vertices = vertices\n this.cell = cell\n this.index = index\n}\n\nfunction compareGlue(a, b) {\n return compareCell(a.vertices, b.vertices)\n}\n\nfunction bakeOrient(d) {\n var code = [\"function orient(){var tuple=this.tuple;return test(\"]\n for(var i=0; i<=d; ++i) {\n if(i > 0) {\n code.push(\",\")\n }\n code.push(\"tuple[\", i, \"]\")\n }\n code.push(\")}return orient\")\n var proc = new Function(\"test\", code.join(\"\"))\n var test = orient[d+1]\n if(!test) {\n test = orient\n }\n return proc(test)\n}\n\nvar BAKED = []\n\nfunction Triangulation(dimension, vertices, simplices) {\n this.dimension = dimension\n this.vertices = vertices\n this.simplices = simplices\n this.interior = simplices.filter(function(c) {\n return !c.boundary\n })\n\n this.tuple = new Array(dimension+1)\n for(var i=0; i<=dimension; ++i) {\n this.tuple[i] = this.vertices[i]\n }\n\n var o = BAKED[dimension]\n if(!o) {\n o = BAKED[dimension] = bakeOrient(dimension)\n }\n this.orient = o\n}\n\nvar proto = Triangulation.prototype\n\n//Degenerate situation where we are on boundary, but coplanar to face\nproto.handleBoundaryDegeneracy = function(cell, point) {\n var d = this.dimension\n var n = this.vertices.length - 1\n var tuple = this.tuple\n var verts = this.vertices\n\n //Dumb solution: Just do dfs from boundary cell until we find any peak, or terminate\n var toVisit = [ cell ]\n cell.lastVisited = -n\n while(toVisit.length > 0) {\n cell = toVisit.pop()\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n for(var i=0; i<=d; ++i) {\n var neighbor = cellAdj[i]\n if(!neighbor.boundary || neighbor.lastVisited <= -n) {\n continue\n }\n var nv = neighbor.vertices\n for(var j=0; j<=d; ++j) {\n var vv = nv[j]\n if(vv < 0) {\n tuple[j] = point\n } else {\n tuple[j] = verts[vv]\n }\n }\n var o = this.orient()\n if(o > 0) {\n return neighbor\n }\n neighbor.lastVisited = -n\n if(o === 0) {\n toVisit.push(neighbor)\n }\n }\n }\n return null\n}\n\nproto.walk = function(point, random) {\n //Alias local properties\n var n = this.vertices.length - 1\n var d = this.dimension\n var verts = this.vertices\n var tuple = this.tuple\n\n //Compute initial jump cell\n var initIndex = random ? (this.interior.length * Math.random())|0 : (this.interior.length-1)\n var cell = this.interior[ initIndex ]\n\n //Start walking\nouterLoop:\n while(!cell.boundary) {\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n\n for(var i=0; i<=d; ++i) {\n tuple[i] = verts[cellVerts[i]]\n }\n cell.lastVisited = n\n\n //Find farthest adjacent cell\n for(var i=0; i<=d; ++i) {\n var neighbor = cellAdj[i]\n if(neighbor.lastVisited >= n) {\n continue\n }\n var prev = tuple[i]\n tuple[i] = point\n var o = this.orient()\n tuple[i] = prev\n if(o < 0) {\n cell = neighbor\n continue outerLoop\n } else {\n if(!neighbor.boundary) {\n neighbor.lastVisited = n\n } else {\n neighbor.lastVisited = -n\n }\n }\n }\n return\n }\n\n return cell\n}\n\nproto.addPeaks = function(point, cell) {\n var n = this.vertices.length - 1\n var d = this.dimension\n var verts = this.vertices\n var tuple = this.tuple\n var interior = this.interior\n var simplices = this.simplices\n\n //Walking finished at boundary, time to add peaks\n var tovisit = [ cell ]\n\n //Stretch initial boundary cell into a peak\n cell.lastVisited = n\n cell.vertices[cell.vertices.indexOf(-1)] = n\n cell.boundary = false\n interior.push(cell)\n\n //Record a list of all new boundaries created by added peaks so we can glue them together when we are all done\n var glueFacets = []\n\n //Do a traversal of the boundary walking outward from starting peak\n while(tovisit.length > 0) {\n //Pop off peak and walk over adjacent cells\n var cell = tovisit.pop()\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n var indexOfN = cellVerts.indexOf(n)\n if(indexOfN < 0) {\n continue\n }\n\n for(var i=0; i<=d; ++i) {\n if(i === indexOfN) {\n continue\n }\n\n //For each boundary neighbor of the cell\n var neighbor = cellAdj[i]\n if(!neighbor.boundary || neighbor.lastVisited >= n) {\n continue\n }\n\n var nv = neighbor.vertices\n\n //Test if neighbor is a peak\n if(neighbor.lastVisited !== -n) { \n //Compute orientation of p relative to each boundary peak\n var indexOfNeg1 = 0\n for(var j=0; j<=d; ++j) {\n if(nv[j] < 0) {\n indexOfNeg1 = j\n tuple[j] = point\n } else {\n tuple[j] = verts[nv[j]]\n }\n }\n var o = this.orient()\n\n //Test if neighbor cell is also a peak\n if(o > 0) {\n nv[indexOfNeg1] = n\n neighbor.boundary = false\n interior.push(neighbor)\n tovisit.push(neighbor)\n neighbor.lastVisited = n\n continue\n } else {\n neighbor.lastVisited = -n\n }\n }\n\n var na = neighbor.adjacent\n\n //Otherwise, replace neighbor with new face\n var vverts = cellVerts.slice()\n var vadj = cellAdj.slice()\n var ncell = new Simplex(vverts, vadj, true)\n simplices.push(ncell)\n\n //Connect to neighbor\n var opposite = na.indexOf(cell)\n if(opposite < 0) {\n continue\n }\n na[opposite] = ncell\n vadj[indexOfN] = neighbor\n\n //Connect to cell\n vverts[i] = -1\n vadj[i] = cell\n cellAdj[i] = ncell\n\n //Flip facet\n ncell.flip()\n\n //Add to glue list\n for(var j=0; j<=d; ++j) {\n var uu = vverts[j]\n if(uu < 0 || uu === n) {\n continue\n }\n var nface = new Array(d-1)\n var nptr = 0\n for(var k=0; k<=d; ++k) {\n var vv = vverts[k]\n if(vv < 0 || k === j) {\n continue\n }\n nface[nptr++] = vv\n }\n glueFacets.push(new GlueFacet(nface, ncell, j))\n }\n }\n }\n\n //Glue boundary facets together\n glueFacets.sort(compareGlue)\n\n for(var i=0; i+1= 0) {\n bcell[ptr++] = cv[j]\n } else {\n parity = j&1\n }\n }\n if(parity === (d&1)) {\n var t = bcell[0]\n bcell[0] = bcell[1]\n bcell[1] = t\n }\n boundary.push(bcell)\n }\n }\n return boundary\n}\n\nfunction incrementalConvexHull(points, randomSearch) {\n var n = points.length\n if(n === 0) {\n throw new Error(\"Must have at least d+1 points\")\n }\n var d = points[0].length\n if(n <= d) {\n throw new Error(\"Must input at least d+1 points\")\n }\n\n //FIXME: This could be degenerate, but need to select d+1 non-coplanar points to bootstrap process\n var initialSimplex = points.slice(0, d+1)\n\n //Make sure initial simplex is positively oriented\n var o = orient.apply(void 0, initialSimplex)\n if(o === 0) {\n throw new Error(\"Input not in general position\")\n }\n var initialCoords = new Array(d+1)\n for(var i=0; i<=d; ++i) {\n initialCoords[i] = i\n }\n if(o < 0) {\n initialCoords[0] = 1\n initialCoords[1] = 0\n }\n\n //Create initial topological index, glue pointers together (kind of messy)\n var initialCell = new Simplex(initialCoords, new Array(d+1), false)\n var boundary = initialCell.adjacent\n var list = new Array(d+2)\n for(var i=0; i<=d; ++i) {\n var verts = initialCoords.slice()\n for(var j=0; j<=d; ++j) {\n if(j === i) {\n verts[j] = -1\n }\n }\n var t = verts[0]\n verts[0] = verts[1]\n verts[1] = t\n var cell = new Simplex(verts, new Array(d+1), true)\n boundary[i] = cell\n list[i] = cell\n }\n list[d+1] = initialCell\n for(var i=0; i<=d; ++i) {\n var verts = boundary[i].vertices\n var adj = boundary[i].adjacent\n for(var j=0; j<=d; ++j) {\n var v = verts[j]\n if(v < 0) {\n adj[j] = initialCell\n continue\n }\n for(var k=0; k<=d; ++k) {\n if(boundary[k].vertices.indexOf(v) < 0) {\n adj[j] = boundary[k]\n }\n }\n }\n }\n\n //Initialize triangles\n var triangles = new Triangulation(d, initialSimplex, list)\n\n //Insert remaining points\n var useRandom = !!randomSearch\n for(var i=d+1; i 0) {\n for (var k = 0; k < 24; ++k) {\n buffer.push(buffer[buffer.length - 12])\n }\n vertexCount += 2\n hadGap = true\n }\n\n continue fill_loop\n }\n bounds[0][j] = Math.min(bounds[0][j], a[j], b[j])\n bounds[1][j] = Math.max(bounds[1][j], a[j], b[j])\n }\n\n var acolor, bcolor\n if (Array.isArray(colors[0])) {\n acolor = (colors.length > i - 1) ? colors[i - 1] : // using index value\n (colors.length > 0) ? colors[colors.length - 1] : // using last item\n [0, 0, 0, 1]; // using black\n\n bcolor = (colors.length > i) ? colors[i] : // using index value\n (colors.length > 0) ? colors[colors.length - 1] : // using last item\n [0, 0, 0, 1]; // using black\n } else {\n acolor = bcolor = colors\n }\n\n if (acolor.length === 3) {\n acolor = [acolor[0], acolor[1], acolor[2], 1]\n }\n if (bcolor.length === 3) {\n bcolor = [bcolor[0], bcolor[1], bcolor[2], 1]\n }\n\n if(!this.hasAlpha && acolor[3] < 1) this.hasAlpha = true\n\n var w0\n if (Array.isArray(lineWidth)) {\n w0 = (lineWidth.length > i - 1) ? lineWidth[i - 1] : // using index value\n (lineWidth.length > 0) ? lineWidth[lineWidth.length - 1] : // using last item\n [0, 0, 0, 1]; // using black\n } else {\n w0 = lineWidth\n }\n\n var t0 = arcLength\n arcLength += distance(a, b)\n\n if (hadGap) {\n for (j = 0; j < 2; ++j) {\n buffer.push(\n a[0], a[1], a[2], b[0], b[1], b[2], t0, w0, acolor[0], acolor[1], acolor[2], acolor[3])\n }\n vertexCount += 2\n hadGap = false\n }\n\n buffer.push(\n a[0], a[1], a[2], b[0], b[1], b[2], t0, w0, acolor[0], acolor[1], acolor[2], acolor[3],\n a[0], a[1], a[2], b[0], b[1], b[2], t0, -w0, acolor[0], acolor[1], acolor[2], acolor[3],\n b[0], b[1], b[2], a[0], a[1], a[2], arcLength, -w0, bcolor[0], bcolor[1], bcolor[2], bcolor[3],\n b[0], b[1], b[2], a[0], a[1], a[2], arcLength, w0, bcolor[0], bcolor[1], bcolor[2], bcolor[3])\n\n vertexCount += 4\n }\n }\n this.buffer.update(buffer)\n\n arcLengthArray.push(arcLength)\n pointArray.push(positions[positions.length - 1].slice())\n\n this.bounds = bounds\n\n this.vertexCount = vertexCount\n\n this.points = pointArray\n this.arcLength = arcLengthArray\n\n if ('dashes' in options) {\n var dashArray = options.dashes\n\n // Calculate prefix sum\n var prefixSum = dashArray.slice()\n prefixSum.unshift(0)\n for (i = 1; i < prefixSum.length; ++i) {\n prefixSum[i] = prefixSum[i - 1] + prefixSum[i]\n }\n\n var dashTexture = ndarray(new Array(256 * 4), [256, 1, 4])\n for (i = 0; i < 256; ++i) {\n for (j = 0; j < 4; ++j) {\n dashTexture.set(i, 0, j, 0)\n }\n if (bsearch.le(prefixSum, prefixSum[prefixSum.length - 1] * i / 255.0) & 1) {\n dashTexture.set(i, 0, 0, 0)\n } else {\n dashTexture.set(i, 0, 0, 255)\n }\n }\n\n this.texture.setPixels(dashTexture)\n }\n}\n\nproto.dispose = function () {\n this.shader.dispose()\n this.vao.dispose()\n this.buffer.dispose()\n}\n\nproto.pick = function (selection) {\n if (!selection) {\n return null\n }\n if (selection.id !== this.pickId) {\n return null\n }\n var tau = unpackFloat(\n selection.value[0],\n selection.value[1],\n selection.value[2],\n 0)\n var index = bsearch.le(this.arcLength, tau)\n if (index < 0) {\n return null\n }\n if (index === this.arcLength.length - 1) {\n return new PickResult(\n this.arcLength[this.arcLength.length - 1],\n this.points[this.points.length - 1].slice(),\n index)\n }\n var a = this.points[index]\n var b = this.points[Math.min(index + 1, this.points.length - 1)]\n var t = (tau - this.arcLength[index]) / (this.arcLength[index + 1] - this.arcLength[index])\n var ti = 1.0 - t\n var x = [0, 0, 0]\n for (var i = 0; i < 3; ++i) {\n x[i] = ti * a[i] + t * b[i]\n }\n var dataIndex = Math.min((t < 0.5) ? index : (index + 1), this.points.length - 1)\n return new PickResult(\n tau,\n x,\n dataIndex,\n this.points[dataIndex])\n}\n\nfunction createLinePlot (options) {\n var gl = options.gl || (options.scene && options.scene.gl)\n\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.nextPosition.location = 1\n shader.attributes.arcLength.location = 2\n shader.attributes.lineWidth.location = 3\n shader.attributes.color.location = 4\n\n var pickShader = createPickShader(gl)\n pickShader.attributes.position.location = 0\n pickShader.attributes.nextPosition.location = 1\n pickShader.attributes.arcLength.location = 2\n pickShader.attributes.lineWidth.location = 3\n pickShader.attributes.color.location = 4\n\n var buffer = createBuffer(gl)\n var vao = createVAO(gl, [\n {\n 'buffer': buffer,\n 'size': 3,\n 'offset': 0,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 3,\n 'offset': 12,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 1,\n 'offset': 24,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 1,\n 'offset': 28,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 4,\n 'offset': 32,\n 'stride': 48\n }\n ])\n\n // Create texture for dash pattern\n var defaultTexture = ndarray(new Array(256 * 4), [256, 1, 4])\n for (var i = 0; i < 256 * 4; ++i) {\n defaultTexture.data[i] = 255\n }\n var texture = createTexture(gl, defaultTexture)\n texture.wrap = gl.REPEAT\n\n var linePlot = new LinePlot(gl, shader, pickShader, buffer, vao, texture)\n linePlot.update(options)\n return linePlot\n}\n\n\n/***/ }),\n\n/***/ \"0054\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\n\n\n// Compute auto-z and autocolorscale if applicable\nmodule.exports = function calc(gd, trace) {\n if(trace.surfacecolor) {\n colorscaleCalc(gd, trace, {\n vals: trace.surfacecolor,\n containerStr: '',\n cLetter: 'c'\n });\n } else {\n colorscaleCalc(gd, trace, {\n vals: trace.z,\n containerStr: '',\n cLetter: 'c'\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"0082\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar NOTEDATA = [];\n\n/**\n * notifier\n * @param {String} text The person's user name\n * @param {Number} [delay=1000] The delay time in milliseconds\n * or 'long' which provides 2000 ms delay time.\n * @return {undefined} this function does not return a value\n */\nmodule.exports = function(text, displayLength) {\n if(NOTEDATA.indexOf(text) !== -1) return;\n\n NOTEDATA.push(text);\n\n var ts = 1000;\n if(isNumeric(displayLength)) ts = displayLength;\n else if(displayLength === 'long') ts = 3000;\n\n var notifierContainer = d3.select('body')\n .selectAll('.plotly-notifier')\n .data([0]);\n notifierContainer.enter()\n .append('div')\n .classed('plotly-notifier', true);\n\n var notes = notifierContainer.selectAll('.notifier-note').data(NOTEDATA);\n\n function killNote(transition) {\n transition\n .duration(700)\n .style('opacity', 0)\n .each('end', function(thisText) {\n var thisIndex = NOTEDATA.indexOf(thisText);\n if(thisIndex !== -1) NOTEDATA.splice(thisIndex, 1);\n d3.select(this).remove();\n });\n }\n\n notes.enter().append('div')\n .classed('notifier-note', true)\n .style('opacity', 0)\n .each(function(thisText) {\n var note = d3.select(this);\n\n note.append('button')\n .classed('notifier-close', true)\n .html('×')\n .on('click', function() {\n note.transition().call(killNote);\n });\n\n var p = note.append('p');\n var lines = thisText.split(//g);\n for(var i = 0; i < lines.length; i++) {\n if(i) p.append('br');\n p.append('span').text(lines[i]);\n }\n\n if(displayLength === 'stick') {\n note.transition()\n .duration(350)\n .style('opacity', 1);\n } else {\n note.transition()\n .duration(700)\n .style('opacity', 1)\n .transition()\n .delay(ts)\n .call(killNote);\n }\n });\n};\n\n\n/***/ }),\n\n/***/ \"00bd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar LINKEDFILLS = {tonextx: 1, tonexty: 1, tonext: 1};\n\nmodule.exports = function linkTraces(gd, plotinfo, cdscatter) {\n var trace, i, group, prevtrace, groupIndex;\n\n // first sort traces to keep stacks & filled-together groups together\n var groupIndices = {};\n var needsSort = false;\n var prevGroupIndex = -1;\n var nextGroupIndex = 0;\n var prevUnstackedGroupIndex = -1;\n for(i = 0; i < cdscatter.length; i++) {\n trace = cdscatter[i][0].trace;\n group = trace.stackgroup || '';\n if(group) {\n if(group in groupIndices) {\n groupIndex = groupIndices[group];\n } else {\n groupIndex = groupIndices[group] = nextGroupIndex;\n nextGroupIndex++;\n }\n } else if(trace.fill in LINKEDFILLS && prevUnstackedGroupIndex >= 0) {\n groupIndex = prevUnstackedGroupIndex;\n } else {\n groupIndex = prevUnstackedGroupIndex = nextGroupIndex;\n nextGroupIndex++;\n }\n\n if(groupIndex < prevGroupIndex) needsSort = true;\n trace._groupIndex = prevGroupIndex = groupIndex;\n }\n\n var cdscatterSorted = cdscatter.slice();\n if(needsSort) {\n cdscatterSorted.sort(function(a, b) {\n var traceA = a[0].trace;\n var traceB = b[0].trace;\n return (traceA._groupIndex - traceB._groupIndex) ||\n (traceA.index - traceB.index);\n });\n }\n\n // now link traces to each other\n var prevtraces = {};\n for(i = 0; i < cdscatterSorted.length; i++) {\n trace = cdscatterSorted[i][0].trace;\n group = trace.stackgroup || '';\n\n // Note: The check which ensures all cdscatter here are for the same axis and\n // are either cartesian or scatterternary has been removed. This code assumes\n // the passed scattertraces have been filtered to the proper plot types and\n // the proper subplots.\n if(trace.visible === true) {\n trace._nexttrace = null;\n\n if(trace.fill in LINKEDFILLS) {\n prevtrace = prevtraces[group];\n trace._prevtrace = prevtrace || null;\n\n if(prevtrace) {\n prevtrace._nexttrace = trace;\n }\n }\n\n trace._ownfill = (trace.fill && (\n trace.fill.substr(0, 6) === 'tozero' ||\n trace.fill === 'toself' ||\n (trace.fill.substr(0, 2) === 'to' && !trace._prevtrace)\n ));\n\n prevtraces[group] = trace;\n } else {\n trace._prevtrace = trace._nexttrace = trace._ownfill = null;\n }\n }\n\n return cdscatterSorted;\n};\n\n\n/***/ }),\n\n/***/ \"00fe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'ohlc',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', 'showLegend'],\n meta: {\n \n },\n\n attributes: __webpack_require__(\"6657\"),\n supplyDefaults: __webpack_require__(\"9143\"),\n calc: __webpack_require__(\"bb14\").calc,\n plot: __webpack_require__(\"a56d\"),\n style: __webpack_require__(\"b0f1\"),\n hoverPoints: __webpack_require__(\"d945\").hoverPoints,\n selectPoints: __webpack_require__(\"ab9c\")\n};\n\n\n/***/ }),\n\n/***/ \"0103\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @module color-normalize */\r\n\r\n\r\n\r\nvar rgba = __webpack_require__(\"7f20\")\r\nvar clamp = __webpack_require__(\"53a5\")\r\nvar dtype = __webpack_require__(\"7831\")\r\n\r\nmodule.exports = function normalize (color, type) {\r\n\tif (type === 'float' || !type) type = 'array'\r\n\tif (type === 'uint') type = 'uint8'\r\n\tif (type === 'uint_clamped') type = 'uint8_clamped'\r\n\tvar Ctor = dtype(type)\r\n\tvar output = new Ctor(4)\r\n\r\n\tvar normalize = type !== 'uint8' && type !== 'uint8_clamped'\r\n\r\n\t// attempt to parse non-array arguments\r\n\tif (!color.length || typeof color === 'string') {\r\n\t\tcolor = rgba(color)\r\n\t\tcolor[0] /= 255\r\n\t\tcolor[1] /= 255\r\n\t\tcolor[2] /= 255\r\n\t}\r\n\r\n\t// 0, 1 are possible contradictory values for Arrays:\r\n\t// [1,1,1] input gives [1,1,1] output instead of [1/255,1/255,1/255], which may be collision if input is meant to be uint.\r\n\t// converting [1,1,1] to [1/255,1/255,1/255] in case of float input gives larger mistake since [1,1,1] float is frequent edge value, whereas [0,1,1], [1,1,1] etc. uint inputs are relatively rare\r\n\tif (isInt(color)) {\r\n\t\toutput[0] = color[0]\r\n\t\toutput[1] = color[1]\r\n\t\toutput[2] = color[2]\r\n\t\toutput[3] = color[3] != null ? color[3] : 255\r\n\r\n\t\tif (normalize) {\r\n\t\t\toutput[0] /= 255\r\n\t\t\toutput[1] /= 255\r\n\t\t\toutput[2] /= 255\r\n\t\t\toutput[3] /= 255\r\n\t\t}\r\n\r\n\t\treturn output\r\n\t}\r\n\r\n\tif (!normalize) {\r\n\t\toutput[0] = clamp(Math.floor(color[0] * 255), 0, 255)\r\n\t\toutput[1] = clamp(Math.floor(color[1] * 255), 0, 255)\r\n\t\toutput[2] = clamp(Math.floor(color[2] * 255), 0, 255)\r\n\t\toutput[3] = color[3] == null ? 255 : clamp(Math.floor(color[3] * 255), 0, 255)\r\n\t} else {\r\n\t\toutput[0] = color[0]\r\n\t\toutput[1] = color[1]\r\n\t\toutput[2] = color[2]\r\n\t\toutput[3] = color[3] != null ? color[3] : 1\r\n\t}\r\n\r\n\treturn output\r\n}\r\n\r\nfunction isInt(color) {\r\n\tif (color instanceof Uint8Array || color instanceof Uint8ClampedArray) return true\r\n\r\n\tif (Array.isArray(color) &&\r\n\t\t(color[0] > 1 || color[0] === 0) &&\r\n\t\t(color[1] > 1 || color[1] === 0) &&\r\n\t\t(color[2] > 1 || color[2] === 0) &&\r\n\t\t(!color[3] || color[3] > 1)\r\n\t) return true\r\n\r\n\treturn false\r\n}\r\n\n\n/***/ }),\n\n/***/ \"0119\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This code is extracted from ndarray-sort\n//It is inlined here as a temporary workaround\n\nmodule.exports = wrapper;\n\nvar INSERT_SORT_CUTOFF = 32\n\nfunction wrapper(data, n0) {\n if (n0 <= 4*INSERT_SORT_CUTOFF) {\n insertionSort(0, n0 - 1, data);\n } else {\n quickSort(0, n0 - 1, data);\n }\n}\n\nfunction insertionSort(left, right, data) {\n var ptr = 2*(left+1)\n for(var i=left+1; i<=right; ++i) {\n var a = data[ptr++]\n var b = data[ptr++]\n var j = i\n var jptr = ptr-2\n while(j-- > left) {\n var x = data[jptr-2]\n var y = data[jptr-1]\n if(x < a) {\n break\n } else if(x === a && y < b) {\n break\n }\n data[jptr] = x\n data[jptr+1] = y\n jptr -= 2\n }\n data[jptr] = a\n data[jptr+1] = b\n }\n}\n\nfunction swap(i, j, data) {\n i *= 2\n j *= 2\n var x = data[i]\n var y = data[i+1]\n data[i] = data[j]\n data[i+1] = data[j+1]\n data[j] = x\n data[j+1] = y\n}\n\nfunction move(i, j, data) {\n i *= 2\n j *= 2\n data[i] = data[j]\n data[i+1] = data[j+1]\n}\n\nfunction rotate(i, j, k, data) {\n i *= 2\n j *= 2\n k *= 2\n var x = data[i]\n var y = data[i+1]\n data[i] = data[j]\n data[i+1] = data[j+1]\n data[j] = data[k]\n data[j+1] = data[k+1]\n data[k] = x\n data[k+1] = y\n}\n\nfunction shufflePivot(i, j, px, py, data) {\n i *= 2\n j *= 2\n data[i] = data[j]\n data[j] = px\n data[i+1] = data[j+1]\n data[j+1] = py\n}\n\nfunction compare(i, j, data) {\n i *= 2\n j *= 2\n var x = data[i],\n y = data[j]\n if(x < y) {\n return false\n } else if(x === y) {\n return data[i+1] > data[j+1]\n }\n return true\n}\n\nfunction comparePivot(i, y, b, data) {\n i *= 2\n var x = data[i]\n if(x < y) {\n return true\n } else if(x === y) {\n return data[i+1] < b\n }\n return false\n}\n\nfunction quickSort(left, right, data) {\n var sixth = (right - left + 1) / 6 | 0, \n index1 = left + sixth, \n index5 = right - sixth, \n index3 = left + right >> 1, \n index2 = index3 - sixth, \n index4 = index3 + sixth, \n el1 = index1, \n el2 = index2, \n el3 = index3, \n el4 = index4, \n el5 = index5, \n less = left + 1, \n great = right - 1, \n tmp = 0\n if(compare(el1, el2, data)) {\n tmp = el1\n el1 = el2\n el2 = tmp\n }\n if(compare(el4, el5, data)) {\n tmp = el4\n el4 = el5\n el5 = tmp\n }\n if(compare(el1, el3, data)) {\n tmp = el1\n el1 = el3\n el3 = tmp\n }\n if(compare(el2, el3, data)) {\n tmp = el2\n el2 = el3\n el3 = tmp\n }\n if(compare(el1, el4, data)) {\n tmp = el1\n el1 = el4\n el4 = tmp\n }\n if(compare(el3, el4, data)) {\n tmp = el3\n el3 = el4\n el4 = tmp\n }\n if(compare(el2, el5, data)) {\n tmp = el2\n el2 = el5\n el5 = tmp\n }\n if(compare(el2, el3, data)) {\n tmp = el2\n el2 = el3\n el3 = tmp\n }\n if(compare(el4, el5, data)) {\n tmp = el4\n el4 = el5\n el5 = tmp\n }\n\n var pivot1X = data[2*el2]\n var pivot1Y = data[2*el2+1]\n var pivot2X = data[2*el4]\n var pivot2Y = data[2*el4+1]\n\n var ptr0 = 2 * el1;\n var ptr2 = 2 * el3;\n var ptr4 = 2 * el5;\n var ptr5 = 2 * index1;\n var ptr6 = 2 * index3;\n var ptr7 = 2 * index5;\n for (var i1 = 0; i1 < 2; ++i1) {\n var x = data[ptr0+i1];\n var y = data[ptr2+i1];\n var z = data[ptr4+i1];\n data[ptr5+i1] = x;\n data[ptr6+i1] = y;\n data[ptr7+i1] = z;\n }\n\n move(index2, left, data)\n move(index4, right, data)\n for (var k = less; k <= great; ++k) {\n if (comparePivot(k, pivot1X, pivot1Y, data)) {\n if (k !== less) {\n swap(k, less, data)\n }\n ++less;\n } else {\n if (!comparePivot(k, pivot2X, pivot2Y, data)) {\n while (true) {\n if (!comparePivot(great, pivot2X, pivot2Y, data)) {\n if (--great < k) {\n break;\n }\n continue;\n } else {\n if (comparePivot(great, pivot1X, pivot1Y, data)) {\n rotate(k, less, great, data)\n ++less;\n --great;\n } else {\n swap(k, great, data)\n --great;\n }\n break;\n }\n }\n }\n }\n }\n shufflePivot(left, less-1, pivot1X, pivot1Y, data)\n shufflePivot(right, great+1, pivot2X, pivot2Y, data)\n if (less - 2 - left <= INSERT_SORT_CUTOFF) {\n insertionSort(left, less - 2, data);\n } else {\n quickSort(left, less - 2, data);\n }\n if (right - (great + 2) <= INSERT_SORT_CUTOFF) {\n insertionSort(great + 2, right, data);\n } else {\n quickSort(great + 2, right, data);\n }\n if (great - less <= INSERT_SORT_CUTOFF) {\n insertionSort(less, great, data);\n } else {\n quickSort(less, great, data);\n }\n}\n\n/***/ }),\n\n/***/ \"014c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n circle: 'โ—',\n 'circle-open': 'โ—‹',\n square: 'โ– ',\n 'square-open': 'โ–ก',\n diamond: 'โ—†',\n 'diamond-open': 'โ—‡',\n cross: '+',\n x: 'โŒ'\n};\n\n\n/***/ }),\n\n/***/ \"019a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n/* eslint block-scoped-var: 0*/\n/* eslint no-redeclare: 0*/\n\n\n\nmodule.exports = computeTickMarks;\n\nvar Axes = __webpack_require__(\"0642\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar AXES_NAMES = ['xaxis', 'yaxis', 'zaxis'];\n\nvar centerPoint = [0, 0, 0];\n\nfunction contourLevelsFromTicks(ticks) {\n var result = new Array(3);\n for(var i = 0; i < 3; ++i) {\n var tlevel = ticks[i];\n var clevel = new Array(tlevel.length);\n for(var j = 0; j < tlevel.length; ++j) {\n clevel[j] = tlevel[j].x;\n }\n result[i] = clevel;\n }\n return result;\n}\n\nfunction computeTickMarks(scene) {\n var axesOptions = scene.axesOptions;\n var glRange = scene.glplot.axesPixels;\n var sceneLayout = scene.fullSceneLayout;\n\n var ticks = [[], [], []];\n\n for(var i = 0; i < 3; ++i) {\n var axes = sceneLayout[AXES_NAMES[i]];\n\n axes._length = (glRange[i].hi - glRange[i].lo) *\n glRange[i].pixelsPerDataUnit / scene.dataScale[i];\n\n if(Math.abs(axes._length) === Infinity ||\n isNaN(axes._length)) {\n ticks[i] = [];\n } else {\n axes._input_range = axes.range.slice();\n axes.range[0] = (glRange[i].lo) / scene.dataScale[i];\n axes.range[1] = (glRange[i].hi) / scene.dataScale[i];\n axes._m = 1.0 / (scene.dataScale[i] * glRange[i].pixelsPerDataUnit);\n\n if(axes.range[0] === axes.range[1]) {\n axes.range[0] -= 1;\n axes.range[1] += 1;\n }\n // this is necessary to short-circuit the 'y' handling\n // in autotick part of calcTicks... Treating all axes as 'y' in this case\n // running the autoticks here, then setting\n // autoticks to false to get around the 2D handling in calcTicks.\n var tickModeCached = axes.tickmode;\n if(axes.tickmode === 'auto') {\n axes.tickmode = 'linear';\n var nticks = axes.nticks || Lib.constrain((axes._length / 40), 4, 9);\n Axes.autoTicks(axes, Math.abs(axes.range[1] - axes.range[0]) / nticks);\n }\n var dataTicks = Axes.calcTicks(axes);\n for(var j = 0; j < dataTicks.length; ++j) {\n dataTicks[j].x = dataTicks[j].x * scene.dataScale[i];\n\n if(axes.type === 'date') {\n dataTicks[j].text =\n dataTicks[j].text.replace(/\\/g, ' ');\n }\n }\n ticks[i] = dataTicks;\n\n\n axes.tickmode = tickModeCached;\n }\n }\n\n axesOptions.ticks = ticks;\n\n // Calculate tick lengths dynamically\n for(var i = 0; i < 3; ++i) {\n centerPoint[i] = 0.5 * (scene.glplot.bounds[0][i] + scene.glplot.bounds[1][i]);\n for(var j = 0; j < 2; ++j) {\n axesOptions.bounds[j][i] = scene.glplot.bounds[j][i];\n }\n }\n\n scene.contourLevels = contourLevelsFromTicks(ticks);\n}\n\n\n/***/ }),\n\n/***/ \"01db\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"b964\");\n\n\n/***/ }),\n\n/***/ \"0230\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n Calendars for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar assign = __webpack_require__(\"320c\");\n\n\nfunction Calendars() {\n this.regionalOptions = [];\n this.regionalOptions[''] = {\n invalidCalendar: 'Calendar {0} not found',\n invalidDate: 'Invalid {0} date',\n invalidMonth: 'Invalid {0} month',\n invalidYear: 'Invalid {0} year',\n differentCalendars: 'Cannot mix {0} and {1} dates'\n };\n this.local = this.regionalOptions[''];\n this.calendars = {};\n this._localCals = {};\n}\n\n/** Create the calendars plugin.\n

Provides support for various world calendars in a consistent manner.

\n @class Calendars\n @example _exports.instance('julian').newDate(2014, 12, 25) */\nassign(Calendars.prototype, {\n\n /** Obtain a calendar implementation and localisation.\n @memberof Calendars\n @param [name='gregorian'] {string} The name of the calendar, e.g. 'gregorian', 'persian', 'islamic'.\n @param [language=''] {string} The language code to use for localisation (default is English).\n @return {Calendar} The calendar and localisation.\n @throws Error if calendar not found. */\n instance: function(name, language) {\n name = (name || 'gregorian').toLowerCase();\n language = language || '';\n var cal = this._localCals[name + '-' + language];\n if (!cal && this.calendars[name]) {\n cal = new this.calendars[name](language);\n this._localCals[name + '-' + language] = cal;\n }\n if (!cal) {\n throw (this.local.invalidCalendar || this.regionalOptions[''].invalidCalendar).\n replace(/\\{0\\}/, name);\n }\n return cal;\n },\n\n /** Create a new date - for today if no other parameters given.\n @memberof Calendars\n @param year {CDate|number} The date to copy or the year for the date.\n @param [month] {number} The month for the date.\n @param [day] {number} The day for the date.\n @param [calendar='gregorian'] {BaseCalendar|string} The underlying calendar or the name of the calendar.\n @param [language=''] {string} The language to use for localisation (default English).\n @return {CDate} The new date.\n @throws Error if an invalid date. */\n newDate: function(year, month, day, calendar, language) {\n calendar = (year != null && year.year ? year.calendar() : (typeof calendar === 'string' ?\n this.instance(calendar, language) : calendar)) || this.instance();\n return calendar.newDate(year, month, day);\n },\n \n /** A simple digit substitution function for localising numbers via the Calendar digits option.\n @member Calendars\n @param digits {string[]} The substitute digits, for 0 through 9.\n @return {function} The substitution function. */\n substituteDigits: function(digits) {\n return function(value) {\n return (value + '').replace(/[0-9]/g, function(digit) {\n return digits[digit];\n });\n }\n },\n \n /** Digit substitution function for localising Chinese style numbers via the Calendar digits option.\n @member Calendars\n @param digits {string[]} The substitute digits, for 0 through 9.\n @param powers {string[]} The characters denoting powers of 10, i.e. 1, 10, 100, 1000.\n @return {function} The substitution function. */\n substituteChineseDigits: function(digits, powers) {\n return function(value) {\n var localNumber = '';\n var power = 0;\n while (value > 0) {\n var units = value % 10;\n localNumber = (units === 0 ? '' : digits[units] + powers[power]) + localNumber;\n power++;\n value = Math.floor(value / 10);\n }\n if (localNumber.indexOf(digits[1] + powers[1]) === 0) {\n localNumber = localNumber.substr(1);\n }\n return localNumber || digits[0];\n }\n }\n});\n\n/** Generic date, based on a particular calendar.\n @class CDate\n @param calendar {BaseCalendar} The underlying calendar implementation.\n @param year {number} The year for this date.\n @param month {number} The month for this date.\n @param day {number} The day for this date.\n @return {CDate} The date object.\n @throws Error if an invalid date. */\nfunction CDate(calendar, year, month, day) {\n this._calendar = calendar;\n this._year = year;\n this._month = month;\n this._day = day;\n if (this._calendar._validateLevel === 0 &&\n !this._calendar.isValid(this._year, this._month, this._day)) {\n throw (_exports.local.invalidDate || _exports.regionalOptions[''].invalidDate).\n replace(/\\{0\\}/, this._calendar.local.name);\n }\n}\n\n/** Pad a numeric value with leading zeroes.\n @private\n @param value {number} The number to format.\n @param length {number} The minimum length.\n @return {string} The formatted number. */\nfunction pad(value, length) {\n value = '' + value;\n return '000000'.substring(0, length - value.length) + value;\n}\n\nassign(CDate.prototype, {\n\n /** Create a new date.\n @memberof CDate\n @param [year] {CDate|number} The date to copy or the year for the date (default this date).\n @param [month] {number} The month for the date.\n @param [day] {number} The day for the date.\n @return {CDate} The new date.\n @throws Error if an invalid date. */\n newDate: function(year, month, day) {\n return this._calendar.newDate((year == null ? this : year), month, day);\n },\n\n /** Set or retrieve the year for this date.\n @memberof CDate\n @param [year] {number} The year for the date.\n @return {number|CDate} The date's year (if no parameter) or the updated date.\n @throws Error if an invalid date. */\n year: function(year) {\n return (arguments.length === 0 ? this._year : this.set(year, 'y'));\n },\n\n /** Set or retrieve the month for this date.\n @memberof CDate\n @param [month] {number} The month for the date.\n @return {number|CDate} The date's month (if no parameter) or the updated date.\n @throws Error if an invalid date. */\n month: function(month) {\n return (arguments.length === 0 ? this._month : this.set(month, 'm'));\n },\n\n /** Set or retrieve the day for this date.\n @memberof CDate\n @param [day] {number} The day for the date.\n @return {number|CData} The date's day (if no parameter) or the updated date.\n @throws Error if an invalid date. */\n day: function(day) {\n return (arguments.length === 0 ? this._day : this.set(day, 'd'));\n },\n\n /** Set new values for this date.\n @memberof CDate\n @param year {number} The year for the date.\n @param month {number} The month for the date.\n @param day {number} The day for the date.\n @return {CDate} The updated date.\n @throws Error if an invalid date. */\n date: function(year, month, day) {\n if (!this._calendar.isValid(year, month, day)) {\n throw (_exports.local.invalidDate || _exports.regionalOptions[''].invalidDate).\n replace(/\\{0\\}/, this._calendar.local.name);\n }\n this._year = year;\n this._month = month;\n this._day = day;\n return this;\n },\n\n /** Determine whether this date is in a leap year.\n @memberof CDate\n @return {boolean} true if this is a leap year, false if not. */\n leapYear: function() {\n return this._calendar.leapYear(this);\n },\n\n /** Retrieve the epoch designator for this date, e.g. BCE or CE.\n @memberof CDate\n @return {string} The current epoch. */\n epoch: function() {\n return this._calendar.epoch(this);\n },\n\n /** Format the year, if not a simple sequential number.\n @memberof CDate\n @return {string} The formatted year. */\n formatYear: function() {\n return this._calendar.formatYear(this);\n },\n\n /** Retrieve the month of the year for this date,\n i.e. the month's position within a numbered year.\n @memberof CDate\n @return {number} The month of the year: minMonth to months per year. */\n monthOfYear: function() {\n return this._calendar.monthOfYear(this);\n },\n\n /** Retrieve the week of the year for this date.\n @memberof CDate\n @return {number} The week of the year: 1 to weeks per year. */\n weekOfYear: function() {\n return this._calendar.weekOfYear(this);\n },\n\n /** Retrieve the number of days in the year for this date.\n @memberof CDate\n @return {number} The number of days in this year. */\n daysInYear: function() {\n return this._calendar.daysInYear(this);\n },\n\n /** Retrieve the day of the year for this date.\n @memberof CDate\n @return {number} The day of the year: 1 to days per year. */\n dayOfYear: function() {\n return this._calendar.dayOfYear(this);\n },\n\n /** Retrieve the number of days in the month for this date.\n @memberof CDate\n @return {number} The number of days. */\n daysInMonth: function() {\n return this._calendar.daysInMonth(this);\n },\n\n /** Retrieve the day of the week for this date.\n @memberof CDate\n @return {number} The day of the week: 0 to number of days - 1. */\n dayOfWeek: function() {\n return this._calendar.dayOfWeek(this);\n },\n\n /** Determine whether this date is a week day.\n @memberof CDate\n @return {boolean} true if a week day, false if not. */\n weekDay: function() {\n return this._calendar.weekDay(this);\n },\n\n /** Retrieve additional information about this date.\n @memberof CDate\n @return {object} Additional information - contents depends on calendar. */\n extraInfo: function() {\n return this._calendar.extraInfo(this);\n },\n\n /** Add period(s) to a date.\n @memberof CDate\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date. */\n add: function(offset, period) {\n return this._calendar.add(this, offset, period);\n },\n\n /** Set a portion of the date.\n @memberof CDate\n @param value {number} The new value for the period.\n @param period {string} One of 'y' for year, 'm' for month, 'd' for day.\n @return {CDate} The updated date.\n @throws Error if not a valid date. */\n set: function(value, period) {\n return this._calendar.set(this, value, period);\n },\n\n /** Compare this date to another date.\n @memberof CDate\n @param date {CDate} The other date.\n @return {number} -1 if this date is before the other date,\n 0 if they are equal, or +1 if this date is after the other date. */\n compareTo: function(date) {\n if (this._calendar.name !== date._calendar.name) {\n throw (_exports.local.differentCalendars || _exports.regionalOptions[''].differentCalendars).\n replace(/\\{0\\}/, this._calendar.local.name).replace(/\\{1\\}/, date._calendar.local.name);\n }\n var c = (this._year !== date._year ? this._year - date._year :\n this._month !== date._month ? this.monthOfYear() - date.monthOfYear() :\n this._day - date._day);\n return (c === 0 ? 0 : (c < 0 ? -1 : +1));\n },\n\n /** Retrieve the calendar backing this date.\n @memberof CDate\n @return {BaseCalendar} The calendar implementation. */\n calendar: function() {\n return this._calendar;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof CDate\n @return {number} The equivalent Julian date. */\n toJD: function() {\n return this._calendar.toJD(this);\n },\n\n /** Create a new date from a Julian date.\n @memberof CDate\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n return this._calendar.fromJD(jd);\n },\n\n /** Convert this date to a standard (Gregorian) JavaScript Date.\n @memberof CDate\n @return {Date} The equivalent JavaScript date. */\n toJSDate: function() {\n return this._calendar.toJSDate(this);\n },\n\n /** Create a new date from a standard (Gregorian) JavaScript Date.\n @memberof CDate\n @param jsd {Date} The JavaScript date to convert.\n @return {CDate} The equivalent date. */\n fromJSDate: function(jsd) {\n return this._calendar.fromJSDate(jsd);\n },\n\n /** Convert to a string for display.\n @memberof CDate\n @return {string} This date as a string. */\n toString: function() {\n return (this.year() < 0 ? '-' : '') + pad(Math.abs(this.year()), 4) +\n '-' + pad(this.month(), 2) + '-' + pad(this.day(), 2);\n }\n});\n\n/** Basic functionality for all calendars.\n Other calendars should extend this:\n
OtherCalendar.prototype = new BaseCalendar;
\n @class BaseCalendar */\nfunction BaseCalendar() {\n this.shortYearCutoff = '+10';\n}\n\nassign(BaseCalendar.prototype, {\n _validateLevel: 0, // \"Stack\" to turn validation on/off\n\n /** Create a new date within this calendar - today if no parameters given.\n @memberof BaseCalendar\n @param year {CDate|number} The date to duplicate or the year for the date.\n @param [month] {number} The month for the date.\n @param [day] {number} The day for the date.\n @return {CDate} The new date.\n @throws Error if not a valid date or a different calendar used. */\n newDate: function(year, month, day) {\n if (year == null) {\n return this.today();\n }\n if (year.year) {\n this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n day = year.day();\n month = year.month();\n year = year.year();\n }\n return new CDate(this, year, month, day);\n },\n\n /** Create a new date for today.\n @memberof BaseCalendar\n @return {CDate} Today's date. */\n today: function() {\n return this.fromJSDate(new Date());\n },\n\n /** Retrieve the epoch designator for this date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {string} The current epoch.\n @throws Error if an invalid year or a different calendar used. */\n epoch: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return (date.year() < 0 ? this.local.epochs[0] : this.local.epochs[1]);\n },\n\n /** Format the year, if not a simple sequential number\n @memberof BaseCalendar\n @param year {CDate|number} The date to format or the year to format.\n @return {string} The formatted year.\n @throws Error if an invalid year or a different calendar used. */\n formatYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return (date.year() < 0 ? '-' : '') + pad(Math.abs(date.year()), 4)\n },\n\n /** Retrieve the number of months in a year.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of months.\n @throws Error if an invalid year or a different calendar used. */\n monthsInYear: function(year) {\n this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return 12;\n },\n\n /** Calculate the month's ordinal position within the year -\n for those calendars that don't start at month 1!\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param month {number} The month to examine.\n @return {number} The ordinal position, starting from minMonth.\n @throws Error if an invalid year/month or a different calendar used. */\n monthOfYear: function(year, month) {\n var date = this._validate(year, month, this.minDay,\n _exports.local.invalidMonth || _exports.regionalOptions[''].invalidMonth);\n return (date.month() + this.monthsInYear(date) - this.firstMonth) %\n this.monthsInYear(date) + this.minMonth;\n },\n\n /** Calculate actual month from ordinal position, starting from minMonth.\n @memberof BaseCalendar\n @param year {number} The year to examine.\n @param ord {number} The month's ordinal position.\n @return {number} The month's number.\n @throws Error if an invalid year/month. */\n fromMonthOfYear: function(year, ord) {\n var m = (ord + this.firstMonth - 2 * this.minMonth) %\n this.monthsInYear(year) + this.minMonth;\n this._validate(year, m, this.minDay,\n _exports.local.invalidMonth || _exports.regionalOptions[''].invalidMonth);\n return m;\n },\n\n /** Retrieve the number of days in a year.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of days.\n @throws Error if an invalid year or a different calendar used. */\n daysInYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return (this.leapYear(date) ? 366 : 365);\n },\n\n /** Retrieve the day of the year for a date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The day of the year.\n @throws Error if an invalid date or a different calendar used. */\n dayOfYear: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return date.toJD() - this.newDate(date.year(),\n this.fromMonthOfYear(date.year(), this.minMonth), this.minDay).toJD() + 1;\n },\n\n /** Retrieve the number of days in a week.\n @memberof BaseCalendar\n @return {number} The number of days. */\n daysInWeek: function() {\n return 7;\n },\n\n /** Retrieve the day of the week for a date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The day of the week: 0 to number of days - 1.\n @throws Error if an invalid date or a different calendar used. */\n dayOfWeek: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return (Math.floor(this.toJD(date)) + 2) % this.daysInWeek();\n },\n\n /** Retrieve additional information about a date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {object} Additional information - contents depends on calendar.\n @throws Error if an invalid date or a different calendar used. */\n extraInfo: function(year, month, day) {\n this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return {};\n },\n\n /** Add period(s) to a date.\n Cater for no year zero.\n @memberof BaseCalendar\n @param date {CDate} The starting date.\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date.\n @throws Error if a different calendar used. */\n add: function(date, offset, period) {\n this._validate(date, this.minMonth, this.minDay,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return this._correctAdd(date, this._add(date, offset, period), offset, period);\n },\n\n /** Add period(s) to a date.\n @memberof BaseCalendar\n @private\n @param date {CDate} The starting date.\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date. */\n _add: function(date, offset, period) {\n this._validateLevel++;\n if (period === 'd' || period === 'w') {\n var jd = date.toJD() + offset * (period === 'w' ? this.daysInWeek() : 1);\n var d = date.calendar().fromJD(jd);\n this._validateLevel--;\n return [d.year(), d.month(), d.day()];\n }\n try {\n var y = date.year() + (period === 'y' ? offset : 0);\n var m = date.monthOfYear() + (period === 'm' ? offset : 0);\n var d = date.day();// + (period === 'd' ? offset : 0) +\n //(period === 'w' ? offset * this.daysInWeek() : 0);\n var resyncYearMonth = function(calendar) {\n while (m < calendar.minMonth) {\n y--;\n m += calendar.monthsInYear(y);\n }\n var yearMonths = calendar.monthsInYear(y);\n while (m > yearMonths - 1 + calendar.minMonth) {\n y++;\n m -= yearMonths;\n yearMonths = calendar.monthsInYear(y);\n }\n };\n if (period === 'y') {\n if (date.month() !== this.fromMonthOfYear(y, m)) { // Hebrew\n m = this.newDate(y, date.month(), this.minDay).monthOfYear();\n }\n m = Math.min(m, this.monthsInYear(y));\n d = Math.min(d, this.daysInMonth(y, this.fromMonthOfYear(y, m)));\n }\n else if (period === 'm') {\n resyncYearMonth(this);\n d = Math.min(d, this.daysInMonth(y, this.fromMonthOfYear(y, m)));\n }\n var ymd = [y, this.fromMonthOfYear(y, m), d];\n this._validateLevel--;\n return ymd;\n }\n catch (e) {\n this._validateLevel--;\n throw e;\n }\n },\n\n /** Correct a candidate date after adding period(s) to a date.\n Handle no year zero if necessary.\n @memberof BaseCalendar\n @private\n @param date {CDate} The starting date.\n @param ymd {number[]} The added date.\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date. */\n _correctAdd: function(date, ymd, offset, period) {\n if (!this.hasYearZero && (period === 'y' || period === 'm')) {\n if (ymd[0] === 0 || // In year zero\n (date.year() > 0) !== (ymd[0] > 0)) { // Crossed year zero\n var adj = {y: [1, 1, 'y'], m: [1, this.monthsInYear(-1), 'm'],\n w: [this.daysInWeek(), this.daysInYear(-1), 'd'],\n d: [1, this.daysInYear(-1), 'd']}[period];\n var dir = (offset < 0 ? -1 : +1);\n ymd = this._add(date, offset * adj[0] + dir * adj[1], adj[2]);\n }\n }\n return date.date(ymd[0], ymd[1], ymd[2]);\n },\n\n /** Set a portion of the date.\n @memberof BaseCalendar\n @param date {CDate} The starting date.\n @param value {number} The new value for the period.\n @param period {string} One of 'y' for year, 'm' for month, 'd' for day.\n @return {CDate} The updated date.\n @throws Error if an invalid date or a different calendar used. */\n set: function(date, value, period) {\n this._validate(date, this.minMonth, this.minDay,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n var y = (period === 'y' ? value : date.year());\n var m = (period === 'm' ? value : date.month());\n var d = (period === 'd' ? value : date.day());\n if (period === 'y' || period === 'm') {\n d = Math.min(d, this.daysInMonth(y, m));\n }\n return date.date(y, m, d);\n },\n\n /** Determine whether a date is valid for this calendar.\n @memberof BaseCalendar\n @param year {number} The year to examine.\n @param month {number} The month to examine.\n @param day {number} The day to examine.\n @return {boolean} true if a valid date, false if not. */\n isValid: function(year, month, day) {\n this._validateLevel++;\n var valid = (this.hasYearZero || year !== 0);\n if (valid) {\n var date = this.newDate(year, month, this.minDay);\n valid = (month >= this.minMonth && month - this.minMonth < this.monthsInYear(date)) &&\n (day >= this.minDay && day - this.minDay < this.daysInMonth(date));\n }\n this._validateLevel--;\n return valid;\n },\n\n /** Convert the date to a standard (Gregorian) JavaScript Date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {Date} The equivalent JavaScript date.\n @throws Error if an invalid date or a different calendar used. */\n toJSDate: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return _exports.instance().fromJD(this.toJD(date)).toJSDate();\n },\n\n /** Convert the date from a standard (Gregorian) JavaScript Date.\n @memberof BaseCalendar\n @param jsd {Date} The JavaScript date.\n @return {CDate} The equivalent calendar date. */\n fromJSDate: function(jsd) {\n return this.fromJD(_exports.instance().fromJSDate(jsd).toJD());\n },\n\n /** Check that a candidate date is from the same calendar and is valid.\n @memberof BaseCalendar\n @private\n @param year {CDate|number} The date to validate or the year to validate.\n @param [month] {number} The month to validate.\n @param [day] {number} The day to validate.\n @param error {string} Rrror message if invalid.\n @throws Error if different calendars used or invalid date. */\n _validate: function(year, month, day, error) {\n if (year.year) {\n if (this._validateLevel === 0 && this.name !== year.calendar().name) {\n throw (_exports.local.differentCalendars || _exports.regionalOptions[''].differentCalendars).\n replace(/\\{0\\}/, this.local.name).replace(/\\{1\\}/, year.calendar().local.name);\n }\n return year;\n }\n try {\n this._validateLevel++;\n if (this._validateLevel === 1 && !this.isValid(year, month, day)) {\n throw error.replace(/\\{0\\}/, this.local.name);\n }\n var date = this.newDate(year, month, day);\n this._validateLevel--;\n return date;\n }\n catch (e) {\n this._validateLevel--;\n throw e;\n }\n }\n});\n\n/** Implementation of the Proleptic Gregorian Calendar.\n See http://en.wikipedia.org/wiki/Gregorian_calendar\n and http://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar.\n @class GregorianCalendar\n @augments BaseCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction GregorianCalendar(language) {\n this.local = this.regionalOptions[language] || this.regionalOptions[''];\n}\n\nGregorianCalendar.prototype = new BaseCalendar;\n\nassign(GregorianCalendar.prototype, {\n /** The calendar name.\n @memberof GregorianCalendar */\n name: 'Gregorian',\n /** Julian date of start of Gregorian epoch: 1 January 0001 CE.\n @memberof GregorianCalendar */\n jdEpoch: 1721425.5,\n /** Days per month in a common year.\n @memberof GregorianCalendar */\n daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n /** true if has a year zero, false if not.\n @memberof GregorianCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof GregorianCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof GregorianCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof GregorianCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof GregorianCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Gregorian',\n epochs: ['BCE', 'CE'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n digits: null,\n dateFormat: 'mm/dd/yyyy',\n firstDay: 0,\n isRTL: false\n }\n },\n \n /** Determine whether this date is in a leap year.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n var year = date.year() + (date.year() < 0 ? 1 : 0); // No year zero\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n },\n\n /** Determine the week of the year for a date - ISO 8601.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year, starting from 1.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n // Find Thursday of this week starting on Monday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(4 - (checkDate.dayOfWeek() || 7), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a month.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay,\n _exports.local.invalidMonth || _exports.regionalOptions[''].invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 2 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return (this.dayOfWeek(year, month, day) || 7) < 6;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n year = date.year();\n month = date.month();\n day = date.day();\n if (year < 0) { year++; } // No year zero\n // Jean Meeus algorithm, \"Astronomical Algorithms\", 1991\n if (month < 3) {\n month += 12;\n year--;\n }\n var a = Math.floor(year / 100);\n var b = 2 - a + Math.floor(a / 4);\n return Math.floor(365.25 * (year + 4716)) +\n Math.floor(30.6001 * (month + 1)) + day + b - 1524.5;\n },\n\n /** Create a new date from a Julian date.\n @memberof GregorianCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n // Jean Meeus algorithm, \"Astronomical Algorithms\", 1991\n var z = Math.floor(jd + 0.5);\n var a = Math.floor((z - 1867216.25) / 36524.25);\n a = z + 1 + a - Math.floor(a / 4);\n var b = a + 1524;\n var c = Math.floor((b - 122.1) / 365.25);\n var d = Math.floor(365.25 * c);\n var e = Math.floor((b - d) / 30.6001);\n var day = b - d - Math.floor(e * 30.6001);\n var month = e - (e > 13.5 ? 13 : 1);\n var year = c - (month > 2.5 ? 4716 : 4715);\n if (year <= 0) { year--; } // No year zero\n return this.newDate(year, month, day);\n },\n\n /** Convert this date to a standard (Gregorian) JavaScript Date.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {Date} The equivalent JavaScript date.\n @throws Error if an invalid date or a different calendar used. */\n toJSDate: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n var jsd = new Date(date.year(), date.month() - 1, date.day());\n jsd.setHours(0);\n jsd.setMinutes(0);\n jsd.setSeconds(0);\n jsd.setMilliseconds(0);\n // Hours may be non-zero on daylight saving cut-over:\n // > 12 when midnight changeover, but then cannot generate\n // midnight datetime, so jump to 1AM, otherwise reset.\n jsd.setHours(jsd.getHours() > 12 ? jsd.getHours() + 2 : 0);\n return jsd;\n },\n\n /** Create a new date from a standard (Gregorian) JavaScript Date.\n @memberof GregorianCalendar\n @param jsd {Date} The JavaScript date to convert.\n @return {CDate} The equivalent date. */\n fromJSDate: function(jsd) {\n return this.newDate(jsd.getFullYear(), jsd.getMonth() + 1, jsd.getDate());\n }\n});\n\n// Singleton manager\nvar _exports = module.exports = new Calendars();\n\n// Date template\n_exports.cdate = CDate;\n\n// Base calendar template\n_exports.baseCalendar = BaseCalendar;\n\n// Gregorian calendar implementation\n_exports.calendars.gregorian = GregorianCalendar;\n\n\n\n/***/ }),\n\n/***/ \"0248\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar warp = __webpack_require__(\"86d9\")\nvar invert = __webpack_require__(\"ba76\")\n\nmodule.exports = applyHomography\n\nfunction applyHomography(dest, src, Xi) {\n var n = src.dimension\n var X = invert([], Xi)\n warp(dest, src, function(out_c, inp_c) {\n for(var i=0; i fs * threshold) {\r\n\t\t\tvar emWidth = (kerningWidth - width) / fs\r\n\t\t\ttable[pair] = emWidth * 1000\r\n\t\t}\r\n\t}\r\n\r\n\treturn table\r\n}\r\n\r\n\r\nfunction createPairs (range) {\r\n\tvar pairs = []\r\n\r\n for (var i = range[0]; i <= range[1]; i++) {\r\n\t\tvar leftChar = String.fromCharCode(i)\r\n\t\tfor (var j = range[0]; j < range[1]; j++) {\r\n\t\t\tvar rightChar = String.fromCharCode(j)\r\n\t\t\tvar pair = leftChar + rightChar\r\n\r\n\t\t\tpairs.push(pair)\r\n\t\t}\r\n\t}\r\n\r\n\treturn pairs\r\n}\r\n\n\n/***/ }),\n\n/***/ \"02e4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hover = __webpack_require__(\"98e7\");\nvar makeHoverPointText = __webpack_require__(\"efcd\").makeHoverPointText;\n\nfunction hoverPoints(pointData, xval, yval, hovermode) {\n var cd = pointData.cd;\n var stash = cd[0].t;\n var rArray = stash.r;\n var thetaArray = stash.theta;\n\n var scatterPointData = hover.hoverPoints(pointData, xval, yval, hovermode);\n if(!scatterPointData || scatterPointData[0].index === false) return;\n\n var newPointData = scatterPointData[0];\n\n if(newPointData.index === undefined) {\n return scatterPointData;\n }\n\n var subplot = pointData.subplot;\n var cdi = newPointData.cd[newPointData.index];\n var trace = newPointData.trace;\n\n // augment pointData with r/theta param\n cdi.r = rArray[newPointData.index];\n cdi.theta = thetaArray[newPointData.index];\n\n if(!subplot.isPtInside(cdi)) return;\n\n newPointData.xLabelVal = undefined;\n newPointData.yLabelVal = undefined;\n makeHoverPointText(cdi, trace, subplot, newPointData);\n\n return scatterPointData;\n}\n\nmodule.exports = {\n hoverPoints: hoverPoints\n};\n\n\n/***/ }),\n\n/***/ \"02ea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Color = __webpack_require__(\"d115\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar baseAttrs = __webpack_require__(\"a876\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nfunction makeContourProjAttr(axLetter) {\n return {\n valType: 'boolean',\n \n dflt: false,\n \n };\n}\n\nfunction makeContourAttr(axLetter) {\n return {\n show: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n start: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n // impliedEdits: {'^autocontour': false},\n \n },\n end: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n // impliedEdits: {'^autocontour': false},\n \n },\n size: {\n valType: 'number',\n dflt: null,\n min: 0,\n \n editType: 'plot',\n // impliedEdits: {'^autocontour': false},\n \n },\n project: {\n x: makeContourProjAttr('x'),\n y: makeContourProjAttr('y'),\n z: makeContourProjAttr('z')\n },\n color: {\n valType: 'color',\n \n dflt: Color.defaultLine,\n \n },\n usecolormap: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n width: {\n valType: 'number',\n \n min: 1,\n max: 16,\n dflt: 2,\n \n },\n highlight: {\n valType: 'boolean',\n \n dflt: true,\n \n },\n highlightcolor: {\n valType: 'color',\n \n dflt: Color.defaultLine,\n \n },\n highlightwidth: {\n valType: 'number',\n \n min: 1,\n max: 16,\n dflt: 2,\n \n }\n };\n}\n\nvar attrs = module.exports = overrideAll(extendFlat({\n z: {\n valType: 'data_array',\n \n },\n x: {\n valType: 'data_array',\n \n },\n y: {\n valType: 'data_array',\n \n },\n\n text: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n \n },\n hovertext: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n \n },\n hovertemplate: hovertemplateAttrs(),\n\n connectgaps: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n\n surfacecolor: {\n valType: 'data_array',\n \n },\n},\n\ncolorScaleAttrs('', {\n colorAttr: 'z or surfacecolor',\n showScaleDflt: true,\n autoColorDflt: false,\n editTypeOverride: 'calc'\n}), {\n contours: {\n x: makeContourAttr('x'),\n y: makeContourAttr('y'),\n z: makeContourAttr('z')\n },\n hidesurface: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n\n lightposition: {\n x: {\n valType: 'number',\n \n min: -1e5,\n max: 1e5,\n dflt: 10,\n \n },\n y: {\n valType: 'number',\n \n min: -1e5,\n max: 1e5,\n dflt: 1e4,\n \n },\n z: {\n valType: 'number',\n \n min: -1e5,\n max: 1e5,\n dflt: 0,\n \n }\n },\n\n lighting: {\n ambient: {\n valType: 'number',\n \n min: 0.00,\n max: 1.0,\n dflt: 0.8,\n \n },\n diffuse: {\n valType: 'number',\n \n min: 0.00,\n max: 1.00,\n dflt: 0.8,\n \n },\n specular: {\n valType: 'number',\n \n min: 0.00,\n max: 2.00,\n dflt: 0.05,\n \n },\n roughness: {\n valType: 'number',\n \n min: 0.00,\n max: 1.00,\n dflt: 0.5,\n \n },\n fresnel: {\n valType: 'number',\n \n min: 0.00,\n max: 5.00,\n dflt: 0.2,\n \n }\n },\n\n opacity: {\n valType: 'number',\n \n min: 0,\n max: 1,\n dflt: 1,\n \n },\n\n _deprecated: {\n zauto: extendFlat({}, colorScaleAttrs.zauto, {\n \n }),\n zmin: extendFlat({}, colorScaleAttrs.zmin, {\n \n }),\n zmax: extendFlat({}, colorScaleAttrs.zmax, {\n \n })\n },\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false}),\n}), 'calc', 'nested');\n\nattrs.x.editType = attrs.y.editType = attrs.z.editType = 'calc+clearAxisTypes';\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"030a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Plotly = __webpack_require__(\"c17d\");\n\n// traces\nPlotly.register([\n __webpack_require__(\"f725\"),\n __webpack_require__(\"b7e7\"),\n __webpack_require__(\"3eab\"),\n __webpack_require__(\"4fc7\"),\n __webpack_require__(\"90a6\"),\n __webpack_require__(\"b905\"),\n __webpack_require__(\"5cc5\"),\n __webpack_require__(\"664d\"),\n __webpack_require__(\"6578\"),\n __webpack_require__(\"3efe\"),\n __webpack_require__(\"6ca5\"),\n __webpack_require__(\"831f\"),\n\n __webpack_require__(\"4746\"),\n __webpack_require__(\"21dd\"),\n __webpack_require__(\"6d0a\"),\n __webpack_require__(\"f36e\"),\n\n __webpack_require__(\"a8b9\"),\n __webpack_require__(\"372f\"),\n __webpack_require__(\"f17e\"),\n __webpack_require__(\"6626\"),\n __webpack_require__(\"0eb8\"),\n __webpack_require__(\"f522\"),\n __webpack_require__(\"2781\"),\n\n __webpack_require__(\"388d\"),\n __webpack_require__(\"c80f\"),\n\n __webpack_require__(\"46c1\"),\n __webpack_require__(\"2f68\"),\n\n __webpack_require__(\"b7bb\"),\n __webpack_require__(\"f3ca\"),\n\n __webpack_require__(\"44d4\"),\n\n __webpack_require__(\"f366\"),\n\n __webpack_require__(\"01db\"),\n __webpack_require__(\"7016\"),\n __webpack_require__(\"d47b\"),\n\n __webpack_require__(\"f846\"),\n __webpack_require__(\"aa2c\"),\n\n __webpack_require__(\"82e4\"),\n\n __webpack_require__(\"f2a9\"),\n __webpack_require__(\"bd75\"),\n __webpack_require__(\"e2f4\"),\n\n __webpack_require__(\"dff2\"),\n __webpack_require__(\"75ac\"),\n\n __webpack_require__(\"1cfc\"),\n __webpack_require__(\"ff5b\"),\n __webpack_require__(\"2d12\")\n]);\n\n// transforms\n//\n// Please note that all *transform* methods are executed before\n// all *calcTransform* methods - which could possibly lead to\n// unexpected results when applying multiple transforms of different types\n// to a given trace.\n//\n// For more info, see:\n// https://github.com/plotly/plotly.js/pull/978#pullrequestreview-2403353\n//\nPlotly.register([\n __webpack_require__(\"2594\"),\n __webpack_require__(\"4b14\"),\n __webpack_require__(\"9633\"),\n __webpack_require__(\"d2d4\")\n]);\n\n// components\nPlotly.register([\n __webpack_require__(\"e1f5\")\n]);\n\nmodule.exports = Plotly;\n\n\n/***/ }),\n\n/***/ \"0316\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var labels = {};\n\n var subplot = fullLayout[trace.subplot]._subplot;\n var ax = subplot.mockAxis;\n\n var lonlat = cdi.lonlat;\n labels.lonLabel = Axes.tickText(ax, ax.c2l(lonlat[0]), true).text;\n labels.latLabel = Axes.tickText(ax, ax.c2l(lonlat[1]), true).text;\n\n return labels;\n};\n\n\n/***/ }),\n\n/***/ \"0324\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n// remove opacity for any trace that has a fill or is filled to\nmodule.exports = function crossTraceDefaults(fullData) {\n for(var i = 0; i < fullData.length; i++) {\n var tracei = fullData[i];\n if(tracei.type !== 'scatter') continue;\n\n var filli = tracei.fill;\n if(filli === 'none' || filli === 'toself') continue;\n\n tracei.opacity = undefined;\n\n if(filli === 'tonexty' || filli === 'tonextx') {\n for(var j = i - 1; j >= 0; j--) {\n var tracej = fullData[j];\n\n if((tracej.type === 'scatter') &&\n (tracej.xaxis === tracei.xaxis) &&\n (tracej.yaxis === tracei.yaxis)) {\n tracej.opacity = undefined;\n break;\n }\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"0365\":\n/***/ (function(module, exports) {\n\nmodule.exports = clone;\n\n/**\n * Creates a new vec3 initialized with values from an existing vector\n *\n * @param {vec3} a vector to clone\n * @returns {vec3} a new 3D vector\n */\nfunction clone(a) {\n var out = new Float32Array(3)\n out[0] = a[0]\n out[1] = a[1]\n out[2] = a[2]\n return out\n}\n\n/***/ }),\n\n/***/ \"0366\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(\"1c0b\");\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/***/ \"0379\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n/* global MathJax:false */\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar LINE_SPACING = __webpack_require__(\"63dc\").LINE_SPACING;\n\n// text converter\n\nfunction getSize(_selection, _dimension) {\n return _selection.node().getBoundingClientRect()[_dimension];\n}\n\nvar FIND_TEX = /([^$]*)([$]+[^$]*[$]+)([^$]*)/;\n\nexports.convertToTspans = function(_context, gd, _callback) {\n var str = _context.text();\n\n // Until we get tex integrated more fully (so it can be used along with non-tex)\n // allow some elements to prohibit it by attaching 'data-notex' to the original\n var tex = (!_context.attr('data-notex')) &&\n (typeof MathJax !== 'undefined') &&\n str.match(FIND_TEX);\n\n var parent = d3.select(_context.node().parentNode);\n if(parent.empty()) return;\n var svgClass = (_context.attr('class')) ? _context.attr('class').split(' ')[0] : 'text';\n svgClass += '-math';\n parent.selectAll('svg.' + svgClass).remove();\n parent.selectAll('g.' + svgClass + '-group').remove();\n _context.style('display', null)\n .attr({\n // some callers use data-unformatted *from the element* in 'cancel'\n // so we need it here even if we're going to turn it into math\n // these two (plus style and text-anchor attributes) form the key we're\n // going to use for Drawing.bBox\n 'data-unformatted': str,\n 'data-math': 'N'\n });\n\n function showText() {\n if(!parent.empty()) {\n svgClass = _context.attr('class') + '-math';\n parent.select('svg.' + svgClass).remove();\n }\n _context.text('')\n .style('white-space', 'pre');\n\n var hasLink = buildSVGText(_context.node(), str);\n\n if(hasLink) {\n // at least in Chrome, pointer-events does not seem\n // to be honored in children of elements\n // so if we have an anchor, we have to make the\n // whole element respond\n _context.style('pointer-events', 'all');\n }\n\n exports.positionText(_context);\n\n if(_callback) _callback.call(_context);\n }\n\n if(tex) {\n ((gd && gd._promises) || []).push(new Promise(function(resolve) {\n _context.style('display', 'none');\n var fontSize = parseInt(_context.node().style.fontSize, 10);\n var config = {fontSize: fontSize};\n\n texToSVG(tex[2], config, function(_svgEl, _glyphDefs, _svgBBox) {\n parent.selectAll('svg.' + svgClass).remove();\n parent.selectAll('g.' + svgClass + '-group').remove();\n\n var newSvg = _svgEl && _svgEl.select('svg');\n if(!newSvg || !newSvg.node()) {\n showText();\n resolve();\n return;\n }\n\n var mathjaxGroup = parent.append('g')\n .classed(svgClass + '-group', true)\n .attr({\n 'pointer-events': 'none',\n 'data-unformatted': str,\n 'data-math': 'Y'\n });\n\n mathjaxGroup.node().appendChild(newSvg.node());\n\n // stitch the glyph defs\n if(_glyphDefs && _glyphDefs.node()) {\n newSvg.node().insertBefore(_glyphDefs.node().cloneNode(true),\n newSvg.node().firstChild);\n }\n\n newSvg.attr({\n 'class': svgClass,\n height: _svgBBox.height,\n preserveAspectRatio: 'xMinYMin meet'\n })\n .style({overflow: 'visible', 'pointer-events': 'none'});\n\n var fill = _context.node().style.fill || 'black';\n var g = newSvg.select('g');\n g.attr({fill: fill, stroke: fill});\n\n var newSvgW = getSize(g, 'width');\n var newSvgH = getSize(g, 'height');\n var newX = +_context.attr('x') - newSvgW *\n {start: 0, middle: 0.5, end: 1}[_context.attr('text-anchor') || 'start'];\n // font baseline is about 1/4 fontSize below centerline\n var textHeight = fontSize || getSize(_context, 'height');\n var dy = -textHeight / 4;\n\n if(svgClass[0] === 'y') {\n mathjaxGroup.attr({\n transform: 'rotate(' + [-90, +_context.attr('x'), +_context.attr('y')] +\n ') translate(' + [-newSvgW / 2, dy - newSvgH / 2] + ')'\n });\n newSvg.attr({x: +_context.attr('x'), y: +_context.attr('y')});\n } else if(svgClass[0] === 'l') {\n newSvg.attr({x: _context.attr('x'), y: dy - (newSvgH / 2)});\n } else if(svgClass[0] === 'a' && svgClass.indexOf('atitle') !== 0) {\n newSvg.attr({x: 0, y: dy});\n } else {\n newSvg.attr({x: newX, y: (+_context.attr('y') + dy - newSvgH / 2)});\n }\n\n if(_callback) _callback.call(_context, mathjaxGroup);\n resolve(mathjaxGroup);\n });\n }));\n } else showText();\n\n return _context;\n};\n\n\n// MathJax\n\nvar LT_MATCH = /(<|<|<)/g;\nvar GT_MATCH = /(>|>|>)/g;\n\nfunction cleanEscapesForTex(s) {\n return s.replace(LT_MATCH, '\\\\lt ')\n .replace(GT_MATCH, '\\\\gt ');\n}\n\nfunction texToSVG(_texString, _config, _callback) {\n var originalRenderer,\n originalConfig,\n originalProcessSectionDelay,\n tmpDiv;\n\n MathJax.Hub.Queue(\n function() {\n originalConfig = Lib.extendDeepAll({}, MathJax.Hub.config);\n\n originalProcessSectionDelay = MathJax.Hub.processSectionDelay;\n if(MathJax.Hub.processSectionDelay !== undefined) {\n // MathJax 2.5+\n MathJax.Hub.processSectionDelay = 0;\n }\n\n return MathJax.Hub.Config({\n messageStyle: 'none',\n tex2jax: {\n inlineMath: [['$', '$'], ['\\\\(', '\\\\)']]\n },\n displayAlign: 'left',\n });\n },\n function() {\n // Get original renderer\n originalRenderer = MathJax.Hub.config.menuSettings.renderer;\n if(originalRenderer !== 'SVG') {\n return MathJax.Hub.setRenderer('SVG');\n }\n },\n function() {\n var randomID = 'math-output-' + Lib.randstr({}, 64);\n tmpDiv = d3.select('body').append('div')\n .attr({id: randomID})\n .style({visibility: 'hidden', position: 'absolute'})\n .style({'font-size': _config.fontSize + 'px'})\n .text(cleanEscapesForTex(_texString));\n\n return MathJax.Hub.Typeset(tmpDiv.node());\n },\n function() {\n var glyphDefs = d3.select('body').select('#MathJax_SVG_glyphs');\n\n if(tmpDiv.select('.MathJax_SVG').empty() || !tmpDiv.select('svg').node()) {\n Lib.log('There was an error in the tex syntax.', _texString);\n _callback();\n } else {\n var svgBBox = tmpDiv.select('svg').node().getBoundingClientRect();\n _callback(tmpDiv.select('.MathJax_SVG'), glyphDefs, svgBBox);\n }\n\n tmpDiv.remove();\n\n if(originalRenderer !== 'SVG') {\n return MathJax.Hub.setRenderer(originalRenderer);\n }\n },\n function() {\n if(originalProcessSectionDelay !== undefined) {\n MathJax.Hub.processSectionDelay = originalProcessSectionDelay;\n }\n return MathJax.Hub.Config(originalConfig);\n });\n}\n\nvar TAG_STYLES = {\n // would like to use baseline-shift for sub/sup but FF doesn't support it\n // so we need to use dy along with the uber hacky shift-back-to\n // baseline below\n sup: 'font-size:70%',\n sub: 'font-size:70%',\n b: 'font-weight:bold',\n i: 'font-style:italic',\n a: 'cursor:pointer',\n span: '',\n em: 'font-style:italic;font-weight:bold'\n};\n\n// baseline shifts for sub and sup\nvar SHIFT_DY = {\n sub: '0.3em',\n sup: '-0.6em'\n};\n// reset baseline by adding a tspan (empty except for a zero-width space)\n// with dy of -70% * SHIFT_DY (because font-size=70%)\nvar RESET_DY = {\n sub: '-0.21em',\n sup: '0.42em'\n};\nvar ZERO_WIDTH_SPACE = '\\u200b';\n\n/*\n * Whitelist of protocols in user-supplied urls. Mostly we want to avoid javascript\n * and related attack vectors. The empty items are there for IE, that in various\n * versions treats relative paths as having different flavors of no protocol, while\n * other browsers have these explicitly inherit the protocol of the page they're in.\n */\nvar PROTOCOLS = ['http:', 'https:', 'mailto:', '', undefined, ':'];\n\nvar NEWLINES = exports.NEWLINES = /(\\r\\n?|\\n)/g;\n\nvar SPLIT_TAGS = /(<[^<>]*>)/;\n\nvar ONE_TAG = /<(\\/?)([^ >]*)(\\s+(.*))?>/i;\n\nvar BR_TAG = //i;\nexports.BR_TAG_ALL = //gi;\n\n/*\n * style and href: pull them out of either single or double quotes. Also\n * - target: (_blank|_self|_parent|_top|framename)\n * note that you can't use target to get a popup but if you use popup,\n * a `framename` will be passed along as the name of the popup window.\n * per the spec, cannot contain whitespace.\n * for backward compatibility we default to '_blank'\n * - popup: a custom one for us to enable popup (new window) links. String\n * for window.open -> strWindowFeatures, like 'menubar=yes,width=500,height=550'\n * note that at least in Chrome, you need to give at least one property\n * in this string or the page will open in a new tab anyway. We follow this\n * convention and will not make a popup if this string is empty.\n * per the spec, cannot contain whitespace.\n *\n * Because we hack in other attributes with style (sub & sup), drop any trailing\n * semicolon in user-supplied styles so we can consistently append the tag-dependent style\n *\n * These are for tag attributes; Chrome anyway will convert entities in\n * attribute values, but not in attribute names\n * you can test this by for example:\n * > p = document.createElement('p')\n * > p.innerHTML = 'Hi'\n * > p.innerHTML\n * <- 'Hi'\n */\nvar STYLEMATCH = /(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i;\nvar HREFMATCH = /(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i;\nvar TARGETMATCH = /(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i;\nvar POPUPMATCH = /(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;\n\n// dedicated matcher for these quoted regexes, that can return their results\n// in two different places\nfunction getQuotedMatch(_str, re) {\n if(!_str) return null;\n var match = _str.match(re);\n var result = match && (match[3] || match[4]);\n return result && convertEntities(result);\n}\n\nvar COLORMATCH = /(^|;)\\s*color:/;\n\n/**\n * Strip string of tags\n *\n * @param {string} _str : input string\n * @param {object} opts :\n * - len {number} max length of output string\n * - allowedTags {array} list of pseudo-html tags to NOT strip\n * @return {string}\n */\nexports.plainText = function(_str, opts) {\n opts = opts || {};\n\n var len = (opts.len !== undefined && opts.len !== -1) ? opts.len : Infinity;\n var allowedTags = opts.allowedTags !== undefined ? opts.allowedTags : ['br'];\n\n var ellipsis = '...';\n var eLen = ellipsis.length;\n\n var oldParts = _str.split(SPLIT_TAGS);\n var newParts = [];\n var prevTag = '';\n var l = 0;\n\n for(var i = 0; i < oldParts.length; i++) {\n var p = oldParts[i];\n var match = p.match(ONE_TAG);\n var tagType = match && match[2].toLowerCase();\n\n if(tagType) {\n // N.B. tags do not count towards string length\n if(allowedTags.indexOf(tagType) !== -1) {\n newParts.push(p);\n prevTag = tagType;\n }\n } else {\n var pLen = p.length;\n\n if((l + pLen) < len) {\n newParts.push(p);\n l += pLen;\n } else if(l < len) {\n var pLen2 = len - l;\n\n if(prevTag && (prevTag !== 'br' || pLen2 <= eLen || pLen <= eLen)) {\n newParts.pop();\n }\n\n if(len > eLen) {\n newParts.push(p.substr(0, pLen2 - eLen) + ellipsis);\n } else {\n newParts.push(p.substr(0, pLen2));\n }\n break;\n }\n\n prevTag = '';\n }\n }\n\n return newParts.join('');\n};\n\n/*\n * N.B. HTML entities are listed without the leading '&' and trailing ';'\n * https://www.freeformatter.com/html-entities.html\n *\n * FWIW if we wanted to support the full set, it has 2261 entries:\n * https://www.w3.org/TR/html5/entities.json\n * though I notice that some of these are duplicates and/or are missing \";\"\n * eg: \"&\", \"&\", \"&\", and \"&\" all map to \"&\"\n * We no longer need to include numeric entities here, these are now handled\n * by String.fromCodePoint/fromCharCode\n *\n * Anyway the only ones that are really important to allow are the HTML special\n * chars <, >, and &, because these ones can trigger special processing if not\n * replaced by the corresponding entity.\n */\nvar entityToUnicode = {\n mu: 'ฮผ',\n amp: '&',\n lt: '<',\n gt: '>',\n nbsp: 'ย ',\n times: 'ร—',\n plusmn: 'ยฑ',\n deg: 'ยฐ'\n};\n\n// NOTE: in general entities can contain uppercase too (so [a-zA-Z]) but all the\n// ones we support use only lowercase. If we ever change that, update the regex.\nvar ENTITY_MATCH = /&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;\nfunction convertEntities(_str) {\n return _str.replace(ENTITY_MATCH, function(fullMatch, innerMatch) {\n var outChar;\n if(innerMatch.charAt(0) === '#') {\n // cannot use String.fromCodePoint in IE\n outChar = fromCodePoint(\n innerMatch.charAt(1) === 'x' ?\n parseInt(innerMatch.substr(2), 16) :\n parseInt(innerMatch.substr(1), 10)\n );\n } else outChar = entityToUnicode[innerMatch];\n\n // as in regular HTML, if we didn't decode the entity just\n // leave the raw text in place.\n return outChar || fullMatch;\n });\n}\nexports.convertEntities = convertEntities;\n\nfunction fromCodePoint(code) {\n // Don't allow overflow. In Chrome this turns into ๏ฟฝ but I feel like it's\n // more useful to just not convert it at all.\n if(code > 0x10FFFF) return;\n var stringFromCodePoint = String.fromCodePoint;\n if(stringFromCodePoint) return stringFromCodePoint(code);\n\n // IE doesn't have String.fromCodePoint\n // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint\n var stringFromCharCode = String.fromCharCode;\n if(code <= 0xFFFF) return stringFromCharCode(code);\n return stringFromCharCode(\n (code >> 10) + 0xD7C0,\n (code % 0x400) + 0xDC00\n );\n}\n\n/*\n * buildSVGText: convert our pseudo-html into SVG tspan elements, and attach these\n * to containerNode\n *\n * @param {svg text element} containerNode: the node to insert this text into\n * @param {string} str: the pseudo-html string to convert to svg\n *\n * @returns {bool}: does the result contain any links? We need to handle the text element\n * somewhat differently if it does, so just keep track of this when it happens.\n */\nfunction buildSVGText(containerNode, str) {\n /*\n * Normalize behavior between IE and others wrt newlines and whitespace:pre\n * this combination makes IE barf https://github.com/plotly/plotly.js/issues/746\n * Chrome and FF display \\n, \\r, or \\r\\n as a space in this mode.\n * I feel like at some point we turned these into
but currently we don't so\n * I'm just going to cement what we do now in Chrome and FF\n */\n str = str.replace(NEWLINES, ' ');\n\n var hasLink = false;\n\n // as we're building the text, keep track of what elements we're nested inside\n // nodeStack will be an array of {node, type, style, href, target, popup}\n // where only type: 'a' gets the last 3 and node is only added when it's created\n var nodeStack = [];\n var currentNode;\n var currentLine = -1;\n\n function newLine() {\n currentLine++;\n\n var lineNode = document.createElementNS(xmlnsNamespaces.svg, 'tspan');\n d3.select(lineNode).attr({\n class: 'line',\n dy: (currentLine * LINE_SPACING) + 'em'\n });\n containerNode.appendChild(lineNode);\n\n currentNode = lineNode;\n\n var oldNodeStack = nodeStack;\n nodeStack = [{node: lineNode}];\n\n if(oldNodeStack.length > 1) {\n for(var i = 1; i < oldNodeStack.length; i++) {\n enterNode(oldNodeStack[i]);\n }\n }\n }\n\n function enterNode(nodeSpec) {\n var type = nodeSpec.type;\n var nodeAttrs = {};\n var nodeType;\n\n if(type === 'a') {\n nodeType = 'a';\n var target = nodeSpec.target;\n var href = nodeSpec.href;\n var popup = nodeSpec.popup;\n if(href) {\n nodeAttrs = {\n 'xlink:xlink:show': (target === '_blank' || target.charAt(0) !== '_') ? 'new' : 'replace',\n target: target,\n 'xlink:xlink:href': href\n };\n if(popup) {\n // security: href and target are not inserted as code but\n // as attributes. popup is, but limited to /[A-Za-z0-9_=,]/\n nodeAttrs.onclick = 'window.open(this.href.baseVal,this.target.baseVal,\"' +\n popup + '\");return false;';\n }\n }\n } else nodeType = 'tspan';\n\n if(nodeSpec.style) nodeAttrs.style = nodeSpec.style;\n\n var newNode = document.createElementNS(xmlnsNamespaces.svg, nodeType);\n\n if(type === 'sup' || type === 'sub') {\n addTextNode(currentNode, ZERO_WIDTH_SPACE);\n currentNode.appendChild(newNode);\n\n var resetter = document.createElementNS(xmlnsNamespaces.svg, 'tspan');\n addTextNode(resetter, ZERO_WIDTH_SPACE);\n d3.select(resetter).attr('dy', RESET_DY[type]);\n nodeAttrs.dy = SHIFT_DY[type];\n\n currentNode.appendChild(newNode);\n currentNode.appendChild(resetter);\n } else {\n currentNode.appendChild(newNode);\n }\n\n d3.select(newNode).attr(nodeAttrs);\n\n currentNode = nodeSpec.node = newNode;\n nodeStack.push(nodeSpec);\n }\n\n function addTextNode(node, text) {\n node.appendChild(document.createTextNode(text));\n }\n\n function exitNode(type) {\n // A bare closing tag can't close the root node. If we encounter this it\n // means there's an extra closing tag that can just be ignored:\n if(nodeStack.length === 1) {\n Lib.log('Ignoring unexpected end tag .', str);\n return;\n }\n\n var innerNode = nodeStack.pop();\n\n if(type !== innerNode.type) {\n Lib.log('Start tag <' + innerNode.type + '> doesnt match end tag <' +\n type + '>. Pretending it did match.', str);\n }\n currentNode = nodeStack[nodeStack.length - 1].node;\n }\n\n var hasLines = BR_TAG.test(str);\n\n if(hasLines) newLine();\n else {\n currentNode = containerNode;\n nodeStack = [{node: containerNode}];\n }\n\n var parts = str.split(SPLIT_TAGS);\n for(var i = 0; i < parts.length; i++) {\n var parti = parts[i];\n var match = parti.match(ONE_TAG);\n var tagType = match && match[2].toLowerCase();\n var tagStyle = TAG_STYLES[tagType];\n\n if(tagType === 'br') {\n newLine();\n } else if(tagStyle === undefined) {\n addTextNode(currentNode, convertEntities(parti));\n } else {\n // tag - open or close\n if(match[1]) {\n exitNode(tagType);\n } else {\n var extra = match[4];\n\n var nodeSpec = {type: tagType};\n\n // now add style, from both the tag name and any extra css\n // Most of the svg css that users will care about is just like html,\n // but font color is different (uses fill). Let our users ignore this.\n var css = getQuotedMatch(extra, STYLEMATCH);\n if(css) {\n css = css.replace(COLORMATCH, '$1 fill:');\n if(tagStyle) css += ';' + tagStyle;\n } else if(tagStyle) css = tagStyle;\n\n if(css) nodeSpec.style = css;\n\n if(tagType === 'a') {\n hasLink = true;\n\n var href = getQuotedMatch(extra, HREFMATCH);\n\n if(href) {\n // check safe protocols\n var dummyAnchor = document.createElement('a');\n dummyAnchor.href = href;\n if(PROTOCOLS.indexOf(dummyAnchor.protocol) !== -1) {\n // Decode href to allow both already encoded and not encoded\n // URIs. Without decoding prior encoding, an already encoded\n // URI would be encoded twice producing a semantically different URI.\n nodeSpec.href = encodeURI(decodeURI(href));\n nodeSpec.target = getQuotedMatch(extra, TARGETMATCH) || '_blank';\n nodeSpec.popup = getQuotedMatch(extra, POPUPMATCH);\n }\n }\n }\n\n enterNode(nodeSpec);\n }\n }\n }\n\n return hasLink;\n}\n\nexports.lineCount = function lineCount(s) {\n return s.selectAll('tspan.line').size() || 1;\n};\n\nexports.positionText = function positionText(s, x, y) {\n return s.each(function() {\n var text = d3.select(this);\n\n function setOrGet(attr, val) {\n if(val === undefined) {\n val = text.attr(attr);\n if(val === null) {\n text.attr(attr, 0);\n val = 0;\n }\n } else text.attr(attr, val);\n return val;\n }\n\n var thisX = setOrGet('x', x);\n var thisY = setOrGet('y', y);\n\n if(this.nodeName === 'text') {\n text.selectAll('tspan.line').attr({x: thisX, y: thisY});\n }\n });\n};\n\nfunction alignHTMLWith(_base, container, options) {\n var alignH = options.horizontalAlign;\n var alignV = options.verticalAlign || 'top';\n var bRect = _base.node().getBoundingClientRect();\n var cRect = container.node().getBoundingClientRect();\n var thisRect;\n var getTop;\n var getLeft;\n\n if(alignV === 'bottom') {\n getTop = function() { return bRect.bottom - thisRect.height; };\n } else if(alignV === 'middle') {\n getTop = function() { return bRect.top + (bRect.height - thisRect.height) / 2; };\n } else { // default: top\n getTop = function() { return bRect.top; };\n }\n\n if(alignH === 'right') {\n getLeft = function() { return bRect.right - thisRect.width; };\n } else if(alignH === 'center') {\n getLeft = function() { return bRect.left + (bRect.width - thisRect.width) / 2; };\n } else { // default: left\n getLeft = function() { return bRect.left; };\n }\n\n return function() {\n thisRect = this.node().getBoundingClientRect();\n this.style({\n top: (getTop() - cRect.top) + 'px',\n left: (getLeft() - cRect.left) + 'px',\n 'z-index': 1000\n });\n return this;\n };\n}\n\n/*\n * Editable title\n * @param {d3.selection} context: the element being edited. Normally text,\n * but if it isn't, you should provide the styling options\n * @param {object} options:\n * @param {div} options.gd: graphDiv\n * @param {d3.selection} options.delegate: item to bind events to if not this\n * @param {boolean} options.immediate: start editing now (true) or on click (false, default)\n * @param {string} options.fill: font color if not as shown\n * @param {string} options.background: background color if not as shown\n * @param {string} options.text: initial text, if not as shown\n * @param {string} options.horizontalAlign: alignment of the edit box wrt. the bound element\n * @param {string} options.verticalAlign: alignment of the edit box wrt. the bound element\n */\n\nexports.makeEditable = function(context, options) {\n var gd = options.gd;\n var _delegate = options.delegate;\n var dispatch = d3.dispatch('edit', 'input', 'cancel');\n var handlerElement = _delegate || context;\n\n context.style({'pointer-events': _delegate ? 'none' : 'all'});\n\n if(context.size() !== 1) throw new Error('boo');\n\n function handleClick() {\n appendEditable();\n context.style({opacity: 0});\n // also hide any mathjax svg\n var svgClass = handlerElement.attr('class');\n var mathjaxClass;\n if(svgClass) mathjaxClass = '.' + svgClass.split(' ')[0] + '-math-group';\n else mathjaxClass = '[class*=-math-group]';\n if(mathjaxClass) {\n d3.select(context.node().parentNode).select(mathjaxClass).style({opacity: 0});\n }\n }\n\n function selectElementContents(_el) {\n var el = _el.node();\n var range = document.createRange();\n range.selectNodeContents(el);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n el.focus();\n }\n\n function appendEditable() {\n var plotDiv = d3.select(gd);\n var container = plotDiv.select('.svg-container');\n var div = container.append('div');\n var cStyle = context.node().style;\n var fontSize = parseFloat(cStyle.fontSize || 12);\n\n var initialText = options.text;\n if(initialText === undefined) initialText = context.attr('data-unformatted');\n\n div.classed('plugin-editable editable', true)\n .style({\n position: 'absolute',\n 'font-family': cStyle.fontFamily || 'Arial',\n 'font-size': fontSize,\n color: options.fill || cStyle.fill || 'black',\n opacity: 1,\n 'background-color': options.background || 'transparent',\n outline: '#ffffff33 1px solid',\n margin: [-fontSize / 8 + 1, 0, 0, -1].join('px ') + 'px',\n padding: '0',\n 'box-sizing': 'border-box'\n })\n .attr({contenteditable: true})\n .text(initialText)\n .call(alignHTMLWith(context, container, options))\n .on('blur', function() {\n gd._editing = false;\n context.text(this.textContent)\n .style({opacity: 1});\n var svgClass = d3.select(this).attr('class');\n var mathjaxClass;\n if(svgClass) mathjaxClass = '.' + svgClass.split(' ')[0] + '-math-group';\n else mathjaxClass = '[class*=-math-group]';\n if(mathjaxClass) {\n d3.select(context.node().parentNode).select(mathjaxClass).style({opacity: 0});\n }\n var text = this.textContent;\n d3.select(this).transition().duration(0).remove();\n d3.select(document).on('mouseup', null);\n dispatch.edit.call(context, text);\n })\n .on('focus', function() {\n var editDiv = this;\n gd._editing = true;\n d3.select(document).on('mouseup', function() {\n if(d3.event.target === editDiv) return false;\n if(document.activeElement === div.node()) div.node().blur();\n });\n })\n .on('keyup', function() {\n if(d3.event.which === 27) {\n gd._editing = false;\n context.style({opacity: 1});\n d3.select(this)\n .style({opacity: 0})\n .on('blur', function() { return false; })\n .transition().remove();\n dispatch.cancel.call(context, this.textContent);\n } else {\n dispatch.input.call(context, this.textContent);\n d3.select(this).call(alignHTMLWith(context, container, options));\n }\n })\n .on('keydown', function() {\n if(d3.event.which === 13) this.blur();\n })\n .call(selectElementContents);\n }\n\n if(options.immediate) handleClick();\n else handlerElement.on('click', handleClick);\n\n return d3.rebind(context, dispatch, 'on');\n};\n\n\n/***/ }),\n\n/***/ \"037d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function sceneUpdate(gd, trace) {\n var fullLayout = gd._fullLayout;\n var uid = trace.uid;\n\n // must place ref to 'scene' in fullLayout, so that:\n // - it can be relinked properly on updates\n // - it can be destroyed properly when needed\n var splomScenes = fullLayout._splomScenes;\n if(!splomScenes) splomScenes = fullLayout._splomScenes = {};\n\n var reset = {dirty: true};\n\n var first = {\n matrix: false,\n selectBatch: [],\n unselectBatch: []\n };\n\n var scene = splomScenes[trace.uid];\n\n if(!scene) {\n scene = splomScenes[uid] = Lib.extendFlat({}, reset, first);\n\n scene.draw = function draw() {\n if(scene.matrix && scene.matrix.draw) {\n if(scene.selectBatch.length || scene.unselectBatch.length) {\n scene.matrix.draw(scene.unselectBatch, scene.selectBatch);\n } else {\n scene.matrix.draw();\n }\n }\n\n scene.dirty = false;\n };\n\n // remove scene resources\n scene.destroy = function destroy() {\n if(scene.matrix && scene.matrix.destroy) {\n scene.matrix.destroy();\n }\n scene.matrixOptions = null;\n scene.selectBatch = null;\n scene.unselectBatch = null;\n scene = null;\n };\n }\n\n // In case if we have scene from the last calc - reset data\n if(!scene.dirty) {\n Lib.extendFlat(scene, reset);\n }\n\n return scene;\n};\n\n\n/***/ }),\n\n/***/ \"0382\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"86d2\"),\n supplyDefaults: __webpack_require__(\"447e\"),\n calc: __webpack_require__(\"de229\"),\n plot: __webpack_require__(\"0cc1\"),\n style: __webpack_require__(\"464d\"),\n hoverPoints: __webpack_require__(\"cbb8\"),\n eventData: __webpack_require__(\"3e97\"),\n\n moduleType: 'trace',\n name: 'image',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', '2dMap', 'noSortingByValue'],\n animatable: false,\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"038d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\nvar attributes = __webpack_require__(\"8bd8\");\nvar fillText = __webpack_require__(\"fc26\").fillText;\n\nmodule.exports = function hoverPoints(pointData, xval, yval) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var geo = pointData.subplot;\n\n var pt, i, j, isInside;\n\n for(i = 0; i < cd.length; i++) {\n pt = cd[i];\n isInside = false;\n\n if(pt._polygons) {\n for(j = 0; j < pt._polygons.length; j++) {\n if(pt._polygons[j].contains([xval, yval])) {\n isInside = !isInside;\n }\n // for polygons that cross antimeridian as xval is in [-180, 180]\n if(pt._polygons[j].contains([xval + 360, yval])) {\n isInside = !isInside;\n }\n }\n\n if(isInside) break;\n }\n }\n\n if(!isInside || !pt) return;\n\n pointData.x0 = pointData.x1 = pointData.xa.c2p(pt.ct);\n pointData.y0 = pointData.y1 = pointData.ya.c2p(pt.ct);\n\n pointData.index = pt.index;\n pointData.location = pt.loc;\n pointData.z = pt.z;\n pointData.zLabel = Axes.tickText(geo.mockAxis, geo.mockAxis.c2l(pt.z), 'hover').text;\n pointData.hovertemplate = pt.hovertemplate;\n\n makeHoverInfo(pointData, trace, pt, geo.mockAxis);\n\n return [pointData];\n};\n\nfunction makeHoverInfo(pointData, trace, pt) {\n if(trace.hovertemplate) return;\n\n var hoverinfo = pt.hi || trace.hoverinfo;\n var loc = String(pt.loc);\n\n var parts = (hoverinfo === 'all') ?\n attributes.hoverinfo.flags :\n hoverinfo.split('+');\n\n var hasName = (parts.indexOf('name') !== -1);\n var hasLocation = (parts.indexOf('location') !== -1);\n var hasZ = (parts.indexOf('z') !== -1);\n var hasText = (parts.indexOf('text') !== -1);\n var hasIdAsNameLabel = !hasName && hasLocation;\n\n var text = [];\n\n if(hasIdAsNameLabel) {\n pointData.nameOverride = loc;\n } else {\n if(hasName) pointData.nameOverride = trace.name;\n if(hasLocation) text.push(loc);\n }\n\n if(hasZ) {\n text.push(pointData.zLabel);\n }\n if(hasText) {\n fillText(pt, trace, text);\n }\n\n pointData.extraText = text.join('
');\n}\n\n\n/***/ }),\n\n/***/ \"03d7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Drawing = __webpack_require__(\"83d1\");\nvar Color = __webpack_require__(\"d115\");\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\nvar barStyle = __webpack_require__(\"2df3\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\nvar styleTextPoints = barStyle.styleTextPoints;\n\nfunction style(gd, cd, sel) {\n var s = sel ? sel : d3.select(gd).selectAll('g.waterfalllayer').selectAll('g.trace');\n resizeText(gd, s, 'waterfall');\n\n s.style('opacity', function(d) { return d[0].trace.opacity; });\n\n s.each(function(d) {\n var gTrace = d3.select(this);\n var trace = d[0].trace;\n\n gTrace.selectAll('.point > path').each(function(di) {\n if(!di.isBlank) {\n var cont = trace[di.dir].marker;\n\n d3.select(this)\n .call(Color.fill, cont.color)\n .call(Color.stroke, cont.line.color)\n .call(Drawing.dashLine, cont.line.dash, cont.line.width)\n .style('opacity', trace.selectedpoints && !di.selected ? DESELECTDIM : 1);\n }\n });\n\n styleTextPoints(gTrace, trace, gd);\n\n gTrace.selectAll('.lines').each(function() {\n var cont = trace.connector.line;\n\n Drawing.lineGroupStyle(\n d3.select(this).selectAll('path'),\n cont.width,\n cont.color,\n cont.dash\n );\n });\n });\n}\n\nmodule.exports = {\n style: style\n};\n\n\n/***/ }),\n\n/***/ \"0435\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = extendFlat({\n z: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n x: extendFlat({}, scatterAttrs.x, {impliedEdits: {xtype: 'array'}}),\n x0: extendFlat({}, scatterAttrs.x0, {impliedEdits: {xtype: 'scaled'}}),\n dx: extendFlat({}, scatterAttrs.dx, {impliedEdits: {xtype: 'scaled'}}),\n y: extendFlat({}, scatterAttrs.y, {impliedEdits: {ytype: 'array'}}),\n y0: extendFlat({}, scatterAttrs.y0, {impliedEdits: {ytype: 'scaled'}}),\n dy: extendFlat({}, scatterAttrs.dy, {impliedEdits: {ytype: 'scaled'}}),\n\n text: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n hovertext: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n transpose: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n xtype: {\n valType: 'enumerated',\n values: ['array', 'scaled'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n ytype: {\n valType: 'enumerated',\n values: ['array', 'scaled'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n zsmooth: {\n valType: 'enumerated',\n values: ['fast', 'best', false],\n dflt: false,\n \n editType: 'calc',\n \n },\n hoverongaps: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'none',\n \n },\n connectgaps: {\n valType: 'boolean',\n \n editType: 'calc',\n \n },\n xgap: {\n valType: 'number',\n dflt: 0,\n min: 0,\n \n editType: 'plot',\n \n },\n ygap: {\n valType: 'number',\n dflt: 0,\n min: 0,\n \n editType: 'plot',\n \n },\n zhoverformat: {\n valType: 'string',\n dflt: '',\n \n editType: 'none',\n \n },\n hovertemplate: hovertemplateAttrs(),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n}, {\n transforms: undefined\n},\n colorScaleAttrs('', {cLetter: 'z', autoColorDflt: false})\n);\n\n\n/***/ }),\n\n/***/ \"0446\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Axes = __webpack_require__(\"0642\");\n\n/**\n * transitionAxes\n *\n * transition axes from one set of ranges to another, using a svg\n * transformations, similar to during panning.\n *\n * @param {DOM element | object} gd\n * @param {array} edits : array of 'edits', each item with\n * - plotinfo {object} subplot object\n * - xr0 {array} initial x-range\n * - xr1 {array} end x-range\n * - yr0 {array} initial y-range\n * - yr1 {array} end y-range\n * @param {object} transitionOpts\n * @param {function} makeOnCompleteCallback\n */\nmodule.exports = function transitionAxes(gd, edits, transitionOpts, makeOnCompleteCallback) {\n var fullLayout = gd._fullLayout;\n\n // special case for redraw:false Plotly.animate that relies on this\n // to update axis-referenced layout components\n if(edits.length === 0) {\n Axes.redrawComponents(gd);\n return;\n }\n\n function unsetSubplotTransform(subplot) {\n var xa = subplot.xaxis;\n var ya = subplot.yaxis;\n\n fullLayout._defs.select('#' + subplot.clipId + '> rect')\n .call(Drawing.setTranslate, 0, 0)\n .call(Drawing.setScale, 1, 1);\n\n subplot.plot\n .call(Drawing.setTranslate, xa._offset, ya._offset)\n .call(Drawing.setScale, 1, 1);\n\n var traceGroups = subplot.plot.selectAll('.scatterlayer .trace');\n\n // This is specifically directed at scatter traces, applying an inverse\n // scale to individual points to counteract the scale of the trace\n // as a whole:\n traceGroups.selectAll('.point')\n .call(Drawing.setPointGroupScale, 1, 1);\n traceGroups.selectAll('.textpoint')\n .call(Drawing.setTextPointsScale, 1, 1);\n traceGroups\n .call(Drawing.hideOutsideRangePoints, subplot);\n }\n\n function updateSubplot(edit, progress) {\n var plotinfo = edit.plotinfo;\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n var xlen = xa._length;\n var ylen = ya._length;\n var editX = !!edit.xr1;\n var editY = !!edit.yr1;\n var viewBox = [];\n\n if(editX) {\n var xr0 = Lib.simpleMap(edit.xr0, xa.r2l);\n var xr1 = Lib.simpleMap(edit.xr1, xa.r2l);\n var dx0 = xr0[1] - xr0[0];\n var dx1 = xr1[1] - xr1[0];\n viewBox[0] = (xr0[0] * (1 - progress) + progress * xr1[0] - xr0[0]) / (xr0[1] - xr0[0]) * xlen;\n viewBox[2] = xlen * ((1 - progress) + progress * dx1 / dx0);\n xa.range[0] = xa.l2r(xr0[0] * (1 - progress) + progress * xr1[0]);\n xa.range[1] = xa.l2r(xr0[1] * (1 - progress) + progress * xr1[1]);\n } else {\n viewBox[0] = 0;\n viewBox[2] = xlen;\n }\n\n if(editY) {\n var yr0 = Lib.simpleMap(edit.yr0, ya.r2l);\n var yr1 = Lib.simpleMap(edit.yr1, ya.r2l);\n var dy0 = yr0[1] - yr0[0];\n var dy1 = yr1[1] - yr1[0];\n viewBox[1] = (yr0[1] * (1 - progress) + progress * yr1[1] - yr0[1]) / (yr0[0] - yr0[1]) * ylen;\n viewBox[3] = ylen * ((1 - progress) + progress * dy1 / dy0);\n ya.range[0] = xa.l2r(yr0[0] * (1 - progress) + progress * yr1[0]);\n ya.range[1] = ya.l2r(yr0[1] * (1 - progress) + progress * yr1[1]);\n } else {\n viewBox[1] = 0;\n viewBox[3] = ylen;\n }\n\n Axes.drawOne(gd, xa, {skipTitle: true});\n Axes.drawOne(gd, ya, {skipTitle: true});\n Axes.redrawComponents(gd, [xa._id, ya._id]);\n\n var xScaleFactor = editX ? xlen / viewBox[2] : 1;\n var yScaleFactor = editY ? ylen / viewBox[3] : 1;\n var clipDx = editX ? viewBox[0] : 0;\n var clipDy = editY ? viewBox[1] : 0;\n var fracDx = editX ? (viewBox[0] / viewBox[2] * xlen) : 0;\n var fracDy = editY ? (viewBox[1] / viewBox[3] * ylen) : 0;\n var plotDx = xa._offset - fracDx;\n var plotDy = ya._offset - fracDy;\n\n plotinfo.clipRect\n .call(Drawing.setTranslate, clipDx, clipDy)\n .call(Drawing.setScale, 1 / xScaleFactor, 1 / yScaleFactor);\n\n plotinfo.plot\n .call(Drawing.setTranslate, plotDx, plotDy)\n .call(Drawing.setScale, xScaleFactor, yScaleFactor);\n\n // apply an inverse scale to individual points to counteract\n // the scale of the trace group.\n Drawing.setPointGroupScale(plotinfo.zoomScalePts, 1 / xScaleFactor, 1 / yScaleFactor);\n Drawing.setTextPointsScale(plotinfo.zoomScaleTxt, 1 / xScaleFactor, 1 / yScaleFactor);\n }\n\n var onComplete;\n if(makeOnCompleteCallback) {\n // This module makes the choice whether or not it notifies Plotly.transition\n // about completion:\n onComplete = makeOnCompleteCallback();\n }\n\n function transitionComplete() {\n var aobj = {};\n\n for(var i = 0; i < edits.length; i++) {\n var edit = edits[i];\n var xa = edit.plotinfo.xaxis;\n var ya = edit.plotinfo.yaxis;\n if(edit.xr1) aobj[xa._name + '.range'] = edit.xr1.slice();\n if(edit.yr1) aobj[ya._name + '.range'] = edit.yr1.slice();\n }\n\n // Signal that this transition has completed:\n onComplete && onComplete();\n\n return Registry.call('relayout', gd, aobj).then(function() {\n for(var i = 0; i < edits.length; i++) {\n unsetSubplotTransform(edits[i].plotinfo);\n }\n });\n }\n\n function transitionInterrupt() {\n var aobj = {};\n\n for(var i = 0; i < edits.length; i++) {\n var edit = edits[i];\n var xa = edit.plotinfo.xaxis;\n var ya = edit.plotinfo.yaxis;\n if(edit.xr0) aobj[xa._name + '.range'] = edit.xr0.slice();\n if(edit.yr0) aobj[ya._name + '.range'] = edit.yr0.slice();\n }\n\n return Registry.call('relayout', gd, aobj).then(function() {\n for(var i = 0; i < edits.length; i++) {\n unsetSubplotTransform(edits[i].plotinfo);\n }\n });\n }\n\n var t1, t2, raf;\n var easeFn = d3.ease(transitionOpts.easing);\n\n gd._transitionData._interruptCallbacks.push(function() {\n window.cancelAnimationFrame(raf);\n raf = null;\n return transitionInterrupt();\n });\n\n function doFrame() {\n t2 = Date.now();\n\n var tInterp = Math.min(1, (t2 - t1) / transitionOpts.duration);\n var progress = easeFn(tInterp);\n\n for(var i = 0; i < edits.length; i++) {\n updateSubplot(edits[i], progress);\n }\n\n if(t2 - t1 > transitionOpts.duration) {\n transitionComplete();\n raf = window.cancelAnimationFrame(doFrame);\n } else {\n raf = window.requestAnimationFrame(doFrame);\n }\n }\n\n t1 = Date.now();\n raf = window.requestAnimationFrame(doFrame);\n\n return Promise.resolve();\n};\n\n\n/***/ }),\n\n/***/ \"044b\":\n/***/ (function(module, exports) {\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n/***/ }),\n\n/***/ \"046b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar rules = {\n \"X,X div\": \"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\n \"X input,X button\": \"font-family:'Open Sans', verdana, arial, sans-serif;\",\n \"X input:focus,X button:focus\": \"outline:none;\",\n \"X a\": \"text-decoration:none;\",\n \"X a:hover\": \"text-decoration:none;\",\n \"X .crisp\": \"shape-rendering:crispEdges;\",\n \"X .user-select-none\": \"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\n \"X svg\": \"overflow:hidden;\",\n \"X svg a\": \"fill:#447adb;\",\n \"X svg a:hover\": \"fill:#3c6dc5;\",\n \"X .main-svg\": \"position:absolute;top:0;left:0;pointer-events:none;\",\n \"X .main-svg .draglayer\": \"pointer-events:all;\",\n \"X .cursor-default\": \"cursor:default;\",\n \"X .cursor-pointer\": \"cursor:pointer;\",\n \"X .cursor-crosshair\": \"cursor:crosshair;\",\n \"X .cursor-move\": \"cursor:move;\",\n \"X .cursor-col-resize\": \"cursor:col-resize;\",\n \"X .cursor-row-resize\": \"cursor:row-resize;\",\n \"X .cursor-ns-resize\": \"cursor:ns-resize;\",\n \"X .cursor-ew-resize\": \"cursor:ew-resize;\",\n \"X .cursor-sw-resize\": \"cursor:sw-resize;\",\n \"X .cursor-s-resize\": \"cursor:s-resize;\",\n \"X .cursor-se-resize\": \"cursor:se-resize;\",\n \"X .cursor-w-resize\": \"cursor:w-resize;\",\n \"X .cursor-e-resize\": \"cursor:e-resize;\",\n \"X .cursor-nw-resize\": \"cursor:nw-resize;\",\n \"X .cursor-n-resize\": \"cursor:n-resize;\",\n \"X .cursor-ne-resize\": \"cursor:ne-resize;\",\n \"X .cursor-grab\": \"cursor:-webkit-grab;cursor:grab;\",\n \"X .modebar\": \"position:absolute;top:2px;right:2px;\",\n \"X .ease-bg\": \"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;\",\n \"X .modebar--hover>:not(.watermark)\": \"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\n \"X:hover .modebar--hover .modebar-group\": \"opacity:1;\",\n \"X .modebar-group\": \"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\n \"X .modebar-btn\": \"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\n \"X .modebar-btn svg\": \"position:relative;top:2px;\",\n \"X .modebar.vertical\": \"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\n \"X .modebar.vertical svg\": \"top:-1px;\",\n \"X .modebar.vertical .modebar-group\": \"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\n \"X .modebar.vertical .modebar-group .modebar-btn\": \"display:block;text-align:center;\",\n \"X [data-title]:before,X [data-title]:after\": \"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\n \"X [data-title]:hover:before,X [data-title]:hover:after\": \"display:block;opacity:1;\",\n \"X [data-title]:before\": \"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\n \"X [data-title]:after\": \"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\n \"X .vertical [data-title]:before,X .vertical [data-title]:after\": \"top:0%;right:200%;\",\n \"X .vertical [data-title]:before\": \"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\n \"X .select-outline\": \"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\n \"X .select-outline-1\": \"stroke:white;\",\n \"X .select-outline-2\": \"stroke:black;stroke-dasharray:2px 2px;\",\n Y: \"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\n \"Y p\": \"margin:0;\",\n \"Y .notifier-note\": \"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\n \"Y .notifier-close\": \"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\n \"Y .notifier-close:hover\": \"color:#444;text-decoration:none;cursor:pointer;\"\n};\n\nfor(var selector in rules) {\n var fullSelector = selector.replace(/^,/,' ,')\n .replace(/X/g, '.js-plotly-plot .plotly')\n .replace(/Y/g, '.plotly-notifier');\n Lib.addStyleRule(fullSelector, rules[selector]);\n}\n\n\n/***/ }),\n\n/***/ \"04a4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createCamera = __webpack_require__(\"9351\")\nvar createAxes = __webpack_require__(\"dbd1\")\nvar axesRanges = __webpack_require__(\"15dd\")\nvar createSpikes = __webpack_require__(\"794e\")\nvar createSelect = __webpack_require__(\"578f\")\nvar createFBO = __webpack_require__(\"44c3\")\nvar drawTriangle = __webpack_require__(\"a92a\")\nvar mouseChange = __webpack_require__(\"91b8\")\nvar perspective = __webpack_require__(\"7ad0\")\nvar ortho = __webpack_require__(\"f889\")\nvar createShader = __webpack_require__(\"5ccc\")\nvar isMobile = __webpack_require__(\"8df8\")({ tablet: true })\n\nmodule.exports = {\n createScene: createScene,\n createCamera: createCamera\n}\n\nfunction MouseSelect() {\n this.mouse = [-1,-1]\n this.screen = null\n this.distance = Infinity\n this.index = null\n this.dataCoordinate = null\n this.dataPosition = null\n this.object = null\n this.data = null\n}\n\nfunction getContext(canvas, options) {\n var gl = null\n try {\n gl = canvas.getContext('webgl', options)\n if(!gl) {\n gl = canvas.getContext('experimental-webgl', options)\n }\n } catch(e) {\n return null\n }\n return gl\n}\n\nfunction roundUpPow10(x) {\n var y = Math.round(Math.log(Math.abs(x)) / Math.log(10))\n if(y < 0) {\n var base = Math.round(Math.pow(10, -y))\n return Math.ceil(x*base) / base\n } else if(y > 0) {\n var base = Math.round(Math.pow(10, y))\n return Math.ceil(x/base) * base\n }\n return Math.ceil(x)\n}\n\nfunction defaultBool(x) {\n if(typeof x === 'boolean') {\n return x\n }\n return true\n}\n\nfunction createScene(options) {\n options = options || {}\n options.camera = options.camera || {}\n\n var canvas = options.canvas\n if(!canvas) {\n canvas = document.createElement('canvas')\n if(options.container) {\n var container = options.container\n container.appendChild(canvas)\n } else {\n document.body.appendChild(canvas)\n }\n }\n\n var gl = options.gl\n if(!gl) {\n gl = getContext(canvas,\n options.glOptions || {\n premultipliedAlpha: true,\n antialias: true,\n preserveDrawingBuffer: isMobile\n })\n }\n if(!gl) {\n throw new Error('webgl not supported')\n }\n\n //Initial bounds\n var bounds = options.bounds || [[-10,-10,-10], [10,10,10]]\n\n //Create selection\n var selection = new MouseSelect()\n\n //Accumulation buffer\n var accumBuffer = createFBO(gl,\n [gl.drawingBufferWidth, gl.drawingBufferHeight], {\n preferFloat: !isMobile\n })\n\n var accumShader = createShader(gl)\n\n var isOrtho =\n (options.cameraObject && options.cameraObject._ortho === true) ||\n (options.camera.projection && options.camera.projection.type === 'orthographic') ||\n false\n\n //Create a camera\n var cameraOptions = {\n eye: options.camera.eye || [2,0,0],\n center: options.camera.center || [0,0,0],\n up: options.camera.up || [0,1,0],\n zoomMin: options.camera.zoomMax || 0.1,\n zoomMax: options.camera.zoomMin || 100,\n mode: options.camera.mode || 'turntable',\n _ortho: isOrtho\n }\n\n //Create axes\n var axesOptions = options.axes || {}\n var axes = createAxes(gl, axesOptions)\n axes.enable = !axesOptions.disable\n\n //Create spikes\n var spikeOptions = options.spikes || {}\n var spikes = createSpikes(gl, spikeOptions)\n\n //Object list is empty initially\n var objects = []\n var pickBufferIds = []\n var pickBufferCount = []\n var pickBuffers = []\n\n //Dirty flag, skip redraw if scene static\n var dirty = true\n var pickDirty = true\n\n var projection = new Array(16)\n var model = new Array(16)\n\n var cameraParams = {\n view: null,\n projection: projection,\n model: model,\n _ortho: false\n }\n\n var pickDirty = true\n\n var viewShape = [ gl.drawingBufferWidth, gl.drawingBufferHeight ]\n\n var camera = options.cameraObject || createCamera(canvas, cameraOptions)\n\n //Create scene object\n var scene = {\n gl: gl,\n contextLost: false,\n pixelRatio: options.pixelRatio || 1,\n canvas: canvas,\n selection: selection,\n camera: camera,\n axes: axes,\n axesPixels: null,\n spikes: spikes,\n bounds: bounds,\n objects: objects,\n shape: viewShape,\n aspect: options.aspectRatio || [1,1,1],\n pickRadius: options.pickRadius || 10,\n zNear: options.zNear || 0.01,\n zFar: options.zFar || 1000,\n fovy: options.fovy || Math.PI/4,\n clearColor: options.clearColor || [0,0,0,0],\n autoResize: defaultBool(options.autoResize),\n autoBounds: defaultBool(options.autoBounds),\n autoScale: !!options.autoScale,\n autoCenter: defaultBool(options.autoCenter),\n clipToBounds: defaultBool(options.clipToBounds),\n snapToData: !!options.snapToData,\n onselect: options.onselect || null,\n onrender: options.onrender || null,\n onclick: options.onclick || null,\n cameraParams: cameraParams,\n oncontextloss: null,\n mouseListener: null,\n _stopped: false,\n\n getAspectratio: function() {\n return {\n x: this.aspect[0],\n y: this.aspect[1],\n z: this.aspect[2]\n }\n },\n\n setAspectratio: function(aspectratio) {\n this.aspect[0] = aspectratio.x\n this.aspect[1] = aspectratio.y\n this.aspect[2] = aspectratio.z\n },\n\n setBounds: function(axisIndex, range) {\n this.bounds[0][axisIndex] = range.min\n this.bounds[1][axisIndex] = range.max\n },\n\n setClearColor: function(clearColor) {\n this.clearColor = clearColor\n },\n\n clearRGBA: function() {\n this.gl.clearColor(\n this.clearColor[0],\n this.clearColor[1],\n this.clearColor[2],\n this.clearColor[3]\n )\n\n this.gl.clear(\n this.gl.COLOR_BUFFER_BIT |\n this.gl.DEPTH_BUFFER_BIT\n )\n }\n }\n\n var pickShape = [ (gl.drawingBufferWidth/scene.pixelRatio)|0, (gl.drawingBufferHeight/scene.pixelRatio)|0 ]\n\n function resizeListener() {\n if(scene._stopped) {\n return\n }\n if(!scene.autoResize) {\n return\n }\n var parent = canvas.parentNode\n var width = 1\n var height = 1\n if(parent && parent !== document.body) {\n width = parent.clientWidth\n height = parent.clientHeight\n } else {\n width = window.innerWidth\n height = window.innerHeight\n }\n var nextWidth = Math.ceil(width * scene.pixelRatio)|0\n var nextHeight = Math.ceil(height * scene.pixelRatio)|0\n if(nextWidth !== canvas.width || nextHeight !== canvas.height) {\n canvas.width = nextWidth\n canvas.height = nextHeight\n var style = canvas.style\n style.position = style.position || 'absolute'\n style.left = '0px'\n style.top = '0px'\n style.width = width + 'px'\n style.height = height + 'px'\n dirty = true\n }\n }\n if(scene.autoResize) {\n resizeListener()\n }\n window.addEventListener('resize', resizeListener)\n\n function reallocPickIds() {\n var numObjs = objects.length\n var numPick = pickBuffers.length\n for(var i=0; i 0 && pickBufferCount[numPick-1] === 0) {\n pickBufferCount.pop()\n pickBuffers.pop().dispose()\n }\n }\n\n scene.update = function(options) {\n\n if(scene._stopped) {\n return\n }\n options = options || {}\n dirty = true\n pickDirty = true\n }\n\n scene.add = function(obj) {\n if(scene._stopped) {\n return\n }\n obj.axes = axes\n objects.push(obj)\n pickBufferIds.push(-1)\n dirty = true\n pickDirty = true\n reallocPickIds()\n }\n\n scene.remove = function(obj) {\n if(scene._stopped) {\n return\n }\n var idx = objects.indexOf(obj)\n if(idx < 0) {\n return\n }\n objects.splice(idx, 1)\n pickBufferIds.pop()\n dirty = true\n pickDirty = true\n reallocPickIds()\n }\n\n scene.dispose = function() {\n if(scene._stopped) {\n return\n }\n\n scene._stopped = true\n\n window.removeEventListener('resize', resizeListener)\n canvas.removeEventListener('webglcontextlost', checkContextLoss)\n scene.mouseListener.enabled = false\n\n if(scene.contextLost) {\n return\n }\n\n //Destroy objects\n axes.dispose()\n spikes.dispose()\n for(var i=0; i selection.distance) {\n continue\n }\n for(var j=0; j 0) {\n stepVal.push(stride(i, order[j-1]) + \"*\" + shape(order[j-1]) )\n }\n vars.push(step(i,order[j]) + \"=(\" + stepVal.join(\"-\") + \")|0\")\n }\n }\n //Create index variables\n for(var i=0; i=0; --i) {\n sizeVariable.push(shape(order[i]))\n }\n //Previous phases and vertex_ids\n vars.push(POOL_SIZE + \"=(\" + sizeVariable.join(\"*\") + \")|0\",\n PHASES + \"=mallocUint32(\" + POOL_SIZE + \")\",\n VERTEX_IDS + \"=mallocUint32(\" + POOL_SIZE + \")\",\n POINTER + \"=0\")\n //Create cube variables for phases\n vars.push(pcube(0) + \"=0\")\n for(var j=1; j<(1<=0; --i) {\n forLoopBegin(i, 0) \n }\n var phaseFuncArgs = []\n for(var i=0; i0; k=(k-1)&subset) {\n faceArgs.push(VERTEX_IDS + \"[\" + POINTER + \"+\" + pdelta(k) + \"]\")\n }\n faceArgs.push(vert(0))\n for(var k=0; k0){\",\n index(order[i]), \"=1;\")\n createLoop(i-1, mask|(1< 0\")\n }\n if(typeof args.vertex !== \"function\") {\n error(\"Must specify vertex creation function\")\n }\n if(typeof args.cell !== \"function\") {\n error(\"Must specify cell creation function\")\n }\n if(typeof args.phase !== \"function\") {\n error(\"Must specify phase function\")\n }\n var getters = args.getters || []\n var typesig = new Array(arrays)\n for(var i=0; i= 0) {\n typesig[i] = true\n } else {\n typesig[i] = false\n }\n }\n return compileSurfaceProcedure(\n args.vertex,\n args.cell,\n args.phase,\n scalars,\n order,\n typesig)\n}\n\n/***/ }),\n\n/***/ \"05d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n nodeTextOffsetHorizontal: 4,\n nodeTextOffsetVertical: 3,\n nodePadAcross: 10,\n sankeyIterations: 50,\n forceIterations: 5,\n forceTicksPerFrame: 10,\n duration: 500,\n ease: 'linear',\n cn: {\n sankey: 'sankey',\n sankeyLinks: 'sankey-links',\n sankeyLink: 'sankey-link',\n sankeyNodeSet: 'sankey-node-set',\n sankeyNode: 'sankey-node',\n nodeRect: 'node-rect',\n nodeCapture: 'node-capture',\n nodeCentered: 'node-entered',\n nodeLabelGuide: 'node-label-guide',\n nodeLabel: 'node-label',\n nodeLabelTextPath: 'node-label-text-path'\n }\n};\n\n\n/***/ }),\n\n/***/ \"0625\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar histogram2dCalc = __webpack_require__(\"7f9e\");\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar convertColumnData = __webpack_require__(\"d064\");\nvar clean2dArray = __webpack_require__(\"1b6a\");\nvar interp2d = __webpack_require__(\"2d0e\");\nvar findEmpties = __webpack_require__(\"0c3a\");\nvar makeBoundArray = __webpack_require__(\"d706\");\n\nmodule.exports = function calc(gd, trace) {\n // prepare the raw data\n // run makeCalcdata on x and y even for heatmaps, in case of category mappings\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var isContour = Registry.traceIs(trace, 'contour');\n var isHist = Registry.traceIs(trace, 'histogram');\n var isGL2D = Registry.traceIs(trace, 'gl2d');\n var zsmooth = isContour ? 'best' : trace.zsmooth;\n var x;\n var x0;\n var dx;\n var y;\n var y0;\n var dy;\n var z;\n var i;\n var binned;\n\n // cancel minimum tick spacings (only applies to bars and boxes)\n xa._minDtick = 0;\n ya._minDtick = 0;\n\n if(isHist) {\n binned = histogram2dCalc(gd, trace);\n x = binned.x;\n x0 = binned.x0;\n dx = binned.dx;\n y = binned.y;\n y0 = binned.y0;\n dy = binned.dy;\n z = binned.z;\n } else {\n var zIn = trace.z;\n if(Lib.isArray1D(zIn)) {\n convertColumnData(trace, xa, ya, 'x', 'y', ['z']);\n x = trace._x;\n y = trace._y;\n zIn = trace._z;\n } else {\n x = trace._x = trace.x ? xa.makeCalcdata(trace, 'x') : [];\n y = trace._y = trace.y ? ya.makeCalcdata(trace, 'y') : [];\n }\n\n x0 = trace.x0;\n dx = trace.dx;\n y0 = trace.y0;\n dy = trace.dy;\n\n z = clean2dArray(zIn, trace, xa, ya);\n\n if(isContour || trace.connectgaps) {\n trace._emptypoints = findEmpties(z);\n interp2d(z, trace._emptypoints);\n }\n }\n\n function noZsmooth(msg) {\n zsmooth = trace._input.zsmooth = trace.zsmooth = false;\n Lib.warn('cannot use zsmooth: \"fast\": ' + msg);\n }\n\n // check whether we really can smooth (ie all boxes are about the same size)\n if(zsmooth === 'fast') {\n if(xa.type === 'log' || ya.type === 'log') {\n noZsmooth('log axis found');\n } else if(!isHist) {\n if(x.length) {\n var avgdx = (x[x.length - 1] - x[0]) / (x.length - 1);\n var maxErrX = Math.abs(avgdx / 100);\n for(i = 0; i < x.length - 1; i++) {\n if(Math.abs(x[i + 1] - x[i] - avgdx) > maxErrX) {\n noZsmooth('x scale is not linear');\n break;\n }\n }\n }\n if(y.length && zsmooth === 'fast') {\n var avgdy = (y[y.length - 1] - y[0]) / (y.length - 1);\n var maxErrY = Math.abs(avgdy / 100);\n for(i = 0; i < y.length - 1; i++) {\n if(Math.abs(y[i + 1] - y[i] - avgdy) > maxErrY) {\n noZsmooth('y scale is not linear');\n break;\n }\n }\n }\n }\n }\n\n // create arrays of brick boundaries, to be used by autorange and heatmap.plot\n var xlen = Lib.maxRowLength(z);\n var xIn = trace.xtype === 'scaled' ? '' : x;\n var xArray = makeBoundArray(trace, xIn, x0, dx, xlen, xa);\n var yIn = trace.ytype === 'scaled' ? '' : y;\n var yArray = makeBoundArray(trace, yIn, y0, dy, z.length, ya);\n\n // handled in gl2d convert step\n if(!isGL2D) {\n trace._extremes[xa._id] = Axes.findExtremes(xa, xArray);\n trace._extremes[ya._id] = Axes.findExtremes(ya, yArray);\n }\n\n var cd0 = {\n x: xArray,\n y: yArray,\n z: z,\n text: trace._text || trace.text,\n hovertext: trace._hovertext || trace.hovertext\n };\n\n if(xIn && xIn.length === xArray.length - 1) cd0.xCenter = xIn;\n if(yIn && yIn.length === yArray.length - 1) cd0.yCenter = yIn;\n\n if(isHist) {\n cd0.xRanges = binned.xRanges;\n cd0.yRanges = binned.yRanges;\n cd0.pts = binned.pts;\n }\n\n if(!isContour) {\n colorscaleCalc(gd, trace, {vals: z, cLetter: 'z'});\n }\n\n if(isContour && trace.contours && trace.contours.coloring === 'heatmap') {\n var dummyTrace = {\n type: trace.type === 'contour' ? 'heatmap' : 'histogram2d',\n xcalendar: trace.xcalendar,\n ycalendar: trace.ycalendar\n };\n cd0.xfill = makeBoundArray(dummyTrace, xIn, x0, dx, xlen, xa);\n cd0.yfill = makeBoundArray(dummyTrace, yIn, y0, dy, z.length, ya);\n }\n\n return [cd0];\n};\n\n\n/***/ }),\n\n/***/ \"0642\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Plots = __webpack_require__(\"bb71\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar Titles = __webpack_require__(\"1999\");\nvar Color = __webpack_require__(\"d115\");\nvar Drawing = __webpack_require__(\"83d1\");\n\nvar axAttrs = __webpack_require__(\"d798\");\nvar cleanTicks = __webpack_require__(\"da6a\");\n\nvar constants = __webpack_require__(\"e806\");\nvar ONEAVGYEAR = constants.ONEAVGYEAR;\nvar ONEAVGMONTH = constants.ONEAVGMONTH;\nvar ONEDAY = constants.ONEDAY;\nvar ONEHOUR = constants.ONEHOUR;\nvar ONEMIN = constants.ONEMIN;\nvar ONESEC = constants.ONESEC;\nvar MINUS_SIGN = constants.MINUS_SIGN;\nvar BADNUM = constants.BADNUM;\n\nvar alignmentConstants = __webpack_require__(\"63dc\");\nvar MID_SHIFT = alignmentConstants.MID_SHIFT;\nvar CAP_SHIFT = alignmentConstants.CAP_SHIFT;\nvar LINE_SPACING = alignmentConstants.LINE_SPACING;\nvar OPPOSITE_SIDE = alignmentConstants.OPPOSITE_SIDE;\n\nvar axes = module.exports = {};\n\naxes.setConvert = __webpack_require__(\"1a40\");\nvar autoType = __webpack_require__(\"0b77\");\n\nvar axisIds = __webpack_require__(\"3c1c\");\naxes.id2name = axisIds.id2name;\naxes.name2id = axisIds.name2id;\naxes.cleanId = axisIds.cleanId;\naxes.list = axisIds.list;\naxes.listIds = axisIds.listIds;\naxes.getFromId = axisIds.getFromId;\naxes.getFromTrace = axisIds.getFromTrace;\n\nvar autorange = __webpack_require__(\"ce56\");\naxes.getAutoRange = autorange.getAutoRange;\naxes.findExtremes = autorange.findExtremes;\n\n/*\n * find the list of possible axes to reference with an xref or yref attribute\n * and coerce it to that list\n *\n * attr: the attribute we're generating a reference for. Should end in 'x' or 'y'\n * but can be prefixed, like 'ax' for annotation's arrow x\n * dflt: the default to coerce to, or blank to use the first axis (falling back on\n * extraOption if there is no axis)\n * extraOption: aside from existing axes with this letter, what non-axis value is allowed?\n * Only required if it's different from `dflt`\n */\naxes.coerceRef = function(containerIn, containerOut, gd, attr, dflt, extraOption) {\n var axLetter = attr.charAt(attr.length - 1);\n var axlist = gd._fullLayout._subplots[axLetter + 'axis'];\n var refAttr = attr + 'ref';\n var attrDef = {};\n\n if(!dflt) dflt = axlist[0] || extraOption;\n if(!extraOption) extraOption = dflt;\n\n // data-ref annotations are not supported in gl2d yet\n\n attrDef[refAttr] = {\n valType: 'enumerated',\n values: axlist.concat(extraOption ? [extraOption] : []),\n dflt: dflt\n };\n\n // xref, yref\n return Lib.coerce(containerIn, containerOut, attrDef, refAttr);\n};\n\n/*\n * coerce position attributes (range-type) that can be either on axes or absolute\n * (paper or pixel) referenced. The biggest complication here is that we don't know\n * before looking at the axis whether the value must be a number or not (it may be\n * a date string), so we can't use the regular valType='number' machinery\n *\n * axRef (string): the axis this position is referenced to, or:\n * paper: fraction of the plot area\n * pixel: pixels relative to some starting position\n * attr (string): the attribute in containerOut we are coercing\n * dflt (number): the default position, as a fraction or pixels. If the attribute\n * is to be axis-referenced, this will be converted to an axis data value\n *\n * Also cleans the values, since the attribute definition itself has to say\n * valType: 'any' to handle date axes. This allows us to accept:\n * - for category axes: category names, and convert them here into serial numbers.\n * Note that this will NOT work for axis range endpoints, because we don't know\n * the category list yet (it's set by ax.makeCalcdata during calc)\n * but it works for component (note, shape, images) positions.\n * - for date axes: JS Dates or milliseconds, and convert to date strings\n * - for other types: coerce them to numbers\n */\naxes.coercePosition = function(containerOut, gd, coerce, axRef, attr, dflt) {\n var cleanPos, pos;\n\n if(axRef === 'paper' || axRef === 'pixel') {\n cleanPos = Lib.ensureNumber;\n pos = coerce(attr, dflt);\n } else {\n var ax = axes.getFromId(gd, axRef);\n dflt = ax.fraction2r(dflt);\n pos = coerce(attr, dflt);\n cleanPos = ax.cleanPos;\n }\n\n containerOut[attr] = cleanPos(pos);\n};\n\naxes.cleanPosition = function(pos, gd, axRef) {\n var cleanPos = (axRef === 'paper' || axRef === 'pixel') ?\n Lib.ensureNumber :\n axes.getFromId(gd, axRef).cleanPos;\n\n return cleanPos(pos);\n};\n\naxes.redrawComponents = function(gd, axIds) {\n axIds = axIds ? axIds : axes.listIds(gd);\n\n var fullLayout = gd._fullLayout;\n\n function _redrawOneComp(moduleName, methodName, stashName, shortCircuit) {\n var method = Registry.getComponentMethod(moduleName, methodName);\n var stash = {};\n\n for(var i = 0; i < axIds.length; i++) {\n var ax = fullLayout[axes.id2name(axIds[i])];\n var indices = ax[stashName];\n\n for(var j = 0; j < indices.length; j++) {\n var ind = indices[j];\n\n if(!stash[ind]) {\n method(gd, ind);\n stash[ind] = 1;\n // once is enough for images (which doesn't use the `i` arg anyway)\n if(shortCircuit) return;\n }\n }\n }\n }\n\n // annotations and shapes 'draw' method is slow,\n // use the finer-grained 'drawOne' method instead\n _redrawOneComp('annotations', 'drawOne', '_annIndices');\n _redrawOneComp('shapes', 'drawOne', '_shapeIndices');\n _redrawOneComp('images', 'draw', '_imgIndices', true);\n};\n\nvar getDataConversions = axes.getDataConversions = function(gd, trace, target, targetArray) {\n var ax;\n\n // If target points to an axis, use the type we already have for that\n // axis to find the data type. Otherwise use the values to autotype.\n var d2cTarget = (target === 'x' || target === 'y' || target === 'z') ?\n target :\n targetArray;\n\n // In the case of an array target, make a mock data array\n // and call supplyDefaults to the data type and\n // setup the data-to-calc method.\n if(Array.isArray(d2cTarget)) {\n ax = {\n type: autoType(targetArray),\n _categories: []\n };\n axes.setConvert(ax);\n\n // build up ax._categories (usually done during ax.makeCalcdata()\n if(ax.type === 'category') {\n for(var i = 0; i < targetArray.length; i++) {\n ax.d2c(targetArray[i]);\n }\n }\n // TODO what to do for transforms?\n } else {\n ax = axes.getFromTrace(gd, trace, d2cTarget);\n }\n\n // if 'target' has corresponding axis\n // -> use setConvert method\n if(ax) return {d2c: ax.d2c, c2d: ax.c2d};\n\n // special case for 'ids'\n // -> cast to String\n if(d2cTarget === 'ids') return {d2c: toString, c2d: toString};\n\n // otherwise (e.g. numeric-array of 'marker.color' or 'marker.size')\n // -> cast to Number\n\n return {d2c: toNum, c2d: toNum};\n};\n\nfunction toNum(v) { return +v; }\nfunction toString(v) { return String(v); }\n\naxes.getDataToCoordFunc = function(gd, trace, target, targetArray) {\n return getDataConversions(gd, trace, target, targetArray).d2c;\n};\n\n// get counteraxis letter for this axis (name or id)\n// this can also be used as the id for default counter axis\naxes.counterLetter = function(id) {\n var axLetter = id.charAt(0);\n if(axLetter === 'x') return 'y';\n if(axLetter === 'y') return 'x';\n};\n\n// incorporate a new minimum difference and first tick into\n// forced\n// note that _forceTick0 is linearized, so needs to be turned into\n// a range value for setting tick0\naxes.minDtick = function(ax, newDiff, newFirst, allow) {\n // doesn't make sense to do forced min dTick on log or category axes,\n // and the plot itself may decide to cancel (ie non-grouped bars)\n if(['log', 'category', 'multicategory'].indexOf(ax.type) !== -1 || !allow) {\n ax._minDtick = 0;\n } else if(ax._minDtick === undefined) {\n // undefined means there's nothing there yet\n\n ax._minDtick = newDiff;\n ax._forceTick0 = newFirst;\n } else if(ax._minDtick) {\n if((ax._minDtick / newDiff + 1e-6) % 1 < 2e-6 &&\n // existing minDtick is an integer multiple of newDiff\n // (within rounding err)\n // and forceTick0 can be shifted to newFirst\n\n (((newFirst - ax._forceTick0) / newDiff % 1) +\n 1.000001) % 1 < 2e-6) {\n ax._minDtick = newDiff;\n ax._forceTick0 = newFirst;\n } else if((newDiff / ax._minDtick + 1e-6) % 1 > 2e-6 ||\n // if the converse is true (newDiff is a multiple of minDtick and\n // newFirst can be shifted to forceTick0) then do nothing - same\n // forcing stands. Otherwise, cancel forced minimum\n\n (((newFirst - ax._forceTick0) / ax._minDtick % 1) +\n 1.000001) % 1 > 2e-6) {\n ax._minDtick = 0;\n }\n }\n};\n\n// save a copy of the initial axis ranges in fullLayout\n// use them in mode bar and dblclick events\naxes.saveRangeInitial = function(gd, overwrite) {\n var axList = axes.list(gd, '', true);\n var hasOneAxisChanged = false;\n\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n var isNew = (ax._rangeInitial === undefined);\n var hasChanged = isNew || !(\n ax.range[0] === ax._rangeInitial[0] &&\n ax.range[1] === ax._rangeInitial[1]\n );\n\n if((isNew && ax.autorange === false) || (overwrite && hasChanged)) {\n ax._rangeInitial = ax.range.slice();\n hasOneAxisChanged = true;\n }\n }\n\n return hasOneAxisChanged;\n};\n\n// save a copy of the initial spike visibility\naxes.saveShowSpikeInitial = function(gd, overwrite) {\n var axList = axes.list(gd, '', true);\n var hasOneAxisChanged = false;\n var allSpikesEnabled = 'on';\n\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n var isNew = (ax._showSpikeInitial === undefined);\n var hasChanged = isNew || !(ax.showspikes === ax._showspikes);\n\n if(isNew || (overwrite && hasChanged)) {\n ax._showSpikeInitial = ax.showspikes;\n hasOneAxisChanged = true;\n }\n\n if(allSpikesEnabled === 'on' && !ax.showspikes) {\n allSpikesEnabled = 'off';\n }\n }\n gd._fullLayout._cartesianSpikesEnabled = allSpikesEnabled;\n return hasOneAxisChanged;\n};\n\naxes.autoBin = function(data, ax, nbins, is2d, calendar, size) {\n var dataMin = Lib.aggNums(Math.min, null, data);\n var dataMax = Lib.aggNums(Math.max, null, data);\n\n if(ax.type === 'category' || ax.type === 'multicategory') {\n return {\n start: dataMin - 0.5,\n end: dataMax + 0.5,\n size: Math.max(1, Math.round(size) || 1),\n _dataSpan: dataMax - dataMin,\n };\n }\n\n if(!calendar) calendar = ax.calendar;\n\n // piggyback off tick code to make \"nice\" bin sizes and edges\n var dummyAx;\n if(ax.type === 'log') {\n dummyAx = {\n type: 'linear',\n range: [dataMin, dataMax]\n };\n } else {\n dummyAx = {\n type: ax.type,\n range: Lib.simpleMap([dataMin, dataMax], ax.c2r, 0, calendar),\n calendar: calendar\n };\n }\n axes.setConvert(dummyAx);\n\n size = size && cleanTicks.dtick(size, dummyAx.type);\n\n if(size) {\n dummyAx.dtick = size;\n dummyAx.tick0 = cleanTicks.tick0(undefined, dummyAx.type, calendar);\n } else {\n var size0;\n if(nbins) size0 = ((dataMax - dataMin) / nbins);\n else {\n // totally auto: scale off std deviation so the highest bin is\n // somewhat taller than the total number of bins, but don't let\n // the size get smaller than the 'nice' rounded down minimum\n // difference between values\n var distinctData = Lib.distinctVals(data);\n var msexp = Math.pow(10, Math.floor(\n Math.log(distinctData.minDiff) / Math.LN10));\n var minSize = msexp * Lib.roundUp(\n distinctData.minDiff / msexp, [0.9, 1.9, 4.9, 9.9], true);\n size0 = Math.max(minSize, 2 * Lib.stdev(data) /\n Math.pow(data.length, is2d ? 0.25 : 0.4));\n\n // fallback if ax.d2c output BADNUMs\n // e.g. when user try to plot categorical bins\n // on a layout.xaxis.type: 'linear'\n if(!isNumeric(size0)) size0 = 1;\n }\n\n axes.autoTicks(dummyAx, size0);\n }\n\n var finalSize = dummyAx.dtick;\n var binStart = axes.tickIncrement(\n axes.tickFirst(dummyAx), finalSize, 'reverse', calendar);\n var binEnd, bincount;\n\n // check for too many data points right at the edges of bins\n // (>50% within 1% of bin edges) or all data points integral\n // and offset the bins accordingly\n if(typeof finalSize === 'number') {\n binStart = autoShiftNumericBins(binStart, data, dummyAx, dataMin, dataMax);\n\n bincount = 1 + Math.floor((dataMax - binStart) / finalSize);\n binEnd = binStart + bincount * finalSize;\n } else {\n // month ticks - should be the only nonlinear kind we have at this point.\n // dtick (as supplied by axes.autoTick) only has nonlinear values on\n // date and log axes, but even if you display a histogram on a log axis\n // we bin it on a linear axis (which one could argue against, but that's\n // a separate issue)\n if(dummyAx.dtick.charAt(0) === 'M') {\n binStart = autoShiftMonthBins(binStart, data, finalSize, dataMin, calendar);\n }\n\n // calculate the endpoint for nonlinear ticks - you have to\n // just increment until you're done\n binEnd = binStart;\n bincount = 0;\n while(binEnd <= dataMax) {\n binEnd = axes.tickIncrement(binEnd, finalSize, false, calendar);\n bincount++;\n }\n }\n\n return {\n start: ax.c2r(binStart, 0, calendar),\n end: ax.c2r(binEnd, 0, calendar),\n size: finalSize,\n _dataSpan: dataMax - dataMin\n };\n};\n\n\nfunction autoShiftNumericBins(binStart, data, ax, dataMin, dataMax) {\n var edgecount = 0;\n var midcount = 0;\n var intcount = 0;\n var blankCount = 0;\n\n function nearEdge(v) {\n // is a value within 1% of a bin edge?\n return (1 + (v - binStart) * 100 / ax.dtick) % 100 < 2;\n }\n\n for(var i = 0; i < data.length; i++) {\n if(data[i] % 1 === 0) intcount++;\n else if(!isNumeric(data[i])) blankCount++;\n\n if(nearEdge(data[i])) edgecount++;\n if(nearEdge(data[i] + ax.dtick / 2)) midcount++;\n }\n var dataCount = data.length - blankCount;\n\n if(intcount === dataCount && ax.type !== 'date') {\n if(ax.dtick < 1) {\n // all integers: if bin size is <1, it's because\n // that was specifically requested (large nbins)\n // so respect that... but center the bins containing\n // integers on those integers\n\n binStart = dataMin - 0.5 * ax.dtick;\n } else {\n // otherwise start half an integer down regardless of\n // the bin size, just enough to clear up endpoint\n // ambiguity about which integers are in which bins.\n\n binStart -= 0.5;\n if(binStart + ax.dtick < dataMin) binStart += ax.dtick;\n }\n } else if(midcount < dataCount * 0.1) {\n if(edgecount > dataCount * 0.3 ||\n nearEdge(dataMin) || nearEdge(dataMax)) {\n // lots of points at the edge, not many in the middle\n // shift half a bin\n var binshift = ax.dtick / 2;\n binStart += (binStart + binshift < dataMin) ? binshift : -binshift;\n }\n }\n return binStart;\n}\n\n\nfunction autoShiftMonthBins(binStart, data, dtick, dataMin, calendar) {\n var stats = Lib.findExactDates(data, calendar);\n // number of data points that needs to be an exact value\n // to shift that increment to (near) the bin center\n var threshold = 0.8;\n\n if(stats.exactDays > threshold) {\n var numMonths = Number(dtick.substr(1));\n\n if((stats.exactYears > threshold) && (numMonths % 12 === 0)) {\n // The exact middle of a non-leap-year is 1.5 days into July\n // so if we start the bins here, all but leap years will\n // get hover-labeled as exact years.\n binStart = axes.tickIncrement(binStart, 'M6', 'reverse') + ONEDAY * 1.5;\n } else if(stats.exactMonths > threshold) {\n // Months are not as clean, but if we shift half the *longest*\n // month (31/2 days) then 31-day months will get labeled exactly\n // and shorter months will get labeled with the correct month\n // but shifted 12-36 hours into it.\n binStart = axes.tickIncrement(binStart, 'M1', 'reverse') + ONEDAY * 15.5;\n } else {\n // Shifting half a day is exact, but since these are month bins it\n // will always give a somewhat odd-looking label, until we do something\n // smarter like showing the bin boundaries (or the bounds of the actual\n // data in each bin)\n binStart -= ONEDAY / 2;\n }\n var nextBinStart = axes.tickIncrement(binStart, dtick);\n\n if(nextBinStart <= dataMin) return nextBinStart;\n }\n return binStart;\n}\n\n// ----------------------------------------------------\n// Ticks and grids\n// ----------------------------------------------------\n\n// ensure we have tick0, dtick, and tick rounding calculated\naxes.prepTicks = function(ax) {\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n\n // calculate max number of (auto) ticks to display based on plot size\n if(ax.tickmode === 'auto' || !ax.dtick) {\n var nt = ax.nticks;\n var minPx;\n\n if(!nt) {\n if(ax.type === 'category' || ax.type === 'multicategory') {\n minPx = ax.tickfont ? (ax.tickfont.size || 12) * 1.2 : 15;\n nt = ax._length / minPx;\n } else {\n minPx = ax._id.charAt(0) === 'y' ? 40 : 80;\n nt = Lib.constrain(ax._length / minPx, 4, 9) + 1;\n }\n\n // radial axes span half their domain,\n // multiply nticks value by two to get correct number of auto ticks.\n if(ax._name === 'radialaxis') nt *= 2;\n }\n\n // add a couple of extra digits for filling in ticks when we\n // have explicit tickvals without tick text\n if(ax.tickmode === 'array') nt *= 100;\n\n axes.autoTicks(ax, Math.abs(rng[1] - rng[0]) / nt);\n // check for a forced minimum dtick\n if(ax._minDtick > 0 && ax.dtick < ax._minDtick * 2) {\n ax.dtick = ax._minDtick;\n ax.tick0 = ax.l2r(ax._forceTick0);\n }\n }\n\n // check for missing tick0\n if(!ax.tick0) {\n ax.tick0 = (ax.type === 'date') ? '2000-01-01' : 0;\n }\n\n // ensure we don't try to make ticks below our minimum precision\n // see https://github.com/plotly/plotly.js/issues/2892\n if(ax.type === 'date' && ax.dtick < 0.1) ax.dtick = 0.1;\n\n // now figure out rounding of tick values\n autoTickRound(ax);\n};\n\n// calculate the ticks: text, values, positioning\n// if ticks are set to automatic, determine the right values (tick0,dtick)\n// in any case, set tickround to # of digits to round tick labels to,\n// or codes to this effect for log and date scales\naxes.calcTicks = function calcTicks(ax) {\n axes.prepTicks(ax);\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n\n // now that we've figured out the auto values for formatting\n // in case we're missing some ticktext, we can break out for array ticks\n if(ax.tickmode === 'array') return arrayTicks(ax);\n\n // find the first tick\n ax._tmin = axes.tickFirst(ax);\n\n // add a tiny bit so we get ticks which may have rounded out\n var startTick = rng[0] * 1.0001 - rng[1] * 0.0001;\n var endTick = rng[1] * 1.0001 - rng[0] * 0.0001;\n // check for reversed axis\n var axrev = (rng[1] < rng[0]);\n\n // No visible ticks? Quit.\n // I've only seen this on category axes with all categories off the edge.\n if((ax._tmin < startTick) !== axrev) return [];\n\n // return the full set of tick vals\n var tickVals = [];\n if(ax.type === 'category' || ax.type === 'multicategory') {\n endTick = (axrev) ? Math.max(-0.5, endTick) :\n Math.min(ax._categories.length - 0.5, endTick);\n }\n\n var isDLog = (ax.type === 'log') && !(isNumeric(ax.dtick) || ax.dtick.charAt(0) === 'L');\n\n var xPrevious = null;\n var maxTicks = Math.max(1000, ax._length || 0);\n for(var x = ax._tmin;\n (axrev) ? (x >= endTick) : (x <= endTick);\n x = axes.tickIncrement(x, ax.dtick, axrev, ax.calendar)) {\n // prevent infinite loops - no more than one tick per pixel,\n // and make sure each value is different from the previous\n if(tickVals.length > maxTicks || x === xPrevious) break;\n xPrevious = x;\n\n var minor = false;\n if(isDLog && (x !== (x | 0))) {\n minor = true;\n }\n\n tickVals.push({\n minor: minor,\n value: x\n });\n }\n\n // If same angle over a full circle, the last tick vals is a duplicate.\n // TODO must do something similar for angular date axes.\n if(isAngular(ax) && Math.abs(rng[1] - rng[0]) === 360) {\n tickVals.pop();\n }\n\n // save the last tick as well as first, so we can\n // show the exponent only on the last one\n ax._tmax = (tickVals[tickVals.length - 1] || {}).value;\n\n // for showing the rest of a date when the main tick label is only the\n // latter part: ax._prevDateHead holds what we showed most recently.\n // Start with it cleared and mark that we're in calcTicks (ie calculating a\n // whole string of these so we should care what the previous date head was!)\n ax._prevDateHead = '';\n ax._inCalcTicks = true;\n\n var ticksOut = new Array(tickVals.length);\n for(var i = 0; i < tickVals.length; i++) {\n ticksOut[i] = axes.tickText(\n ax,\n tickVals[i].value,\n false, // hover\n tickVals[i].minor // noSuffixPrefix\n );\n }\n\n ax._inCalcTicks = false;\n\n return ticksOut;\n};\n\nfunction arrayTicks(ax) {\n var vals = ax.tickvals;\n var text = ax.ticktext;\n var ticksOut = new Array(vals.length);\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n var r0expanded = rng[0] * 1.0001 - rng[1] * 0.0001;\n var r1expanded = rng[1] * 1.0001 - rng[0] * 0.0001;\n var tickMin = Math.min(r0expanded, r1expanded);\n var tickMax = Math.max(r0expanded, r1expanded);\n var j = 0;\n\n // without a text array, just format the given values as any other ticks\n // except with more precision to the numbers\n if(!Array.isArray(text)) text = [];\n\n // make sure showing ticks doesn't accidentally add new categories\n // TODO multicategory, if we allow ticktext / tickvals\n var tickVal2l = ax.type === 'category' ? ax.d2l_noadd : ax.d2l;\n\n // array ticks on log axes always show the full number\n // (if no explicit ticktext overrides it)\n if(ax.type === 'log' && String(ax.dtick).charAt(0) !== 'L') {\n ax.dtick = 'L' + Math.pow(10, Math.floor(Math.min(ax.range[0], ax.range[1])) - 1);\n }\n\n for(var i = 0; i < vals.length; i++) {\n var vali = tickVal2l(vals[i]);\n if(vali > tickMin && vali < tickMax) {\n if(text[i] === undefined) ticksOut[j] = axes.tickText(ax, vali);\n else ticksOut[j] = tickTextObj(ax, vali, String(text[i]));\n j++;\n }\n }\n\n if(j < vals.length) ticksOut.splice(j, vals.length - j);\n\n return ticksOut;\n}\n\nvar roundBase10 = [2, 5, 10];\nvar roundBase24 = [1, 2, 3, 6, 12];\nvar roundBase60 = [1, 2, 5, 10, 15, 30];\n// 2&3 day ticks are weird, but need something btwn 1&7\nvar roundDays = [1, 2, 3, 7, 14];\n// approx. tick positions for log axes, showing all (1) and just 1, 2, 5 (2)\n// these don't have to be exact, just close enough to round to the right value\nvar roundLog1 = [-0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, 1];\nvar roundLog2 = [-0.301, 0, 0.301, 0.699, 1];\n// N.B. `thetaunit; 'radians' angular axes must be converted to degrees\nvar roundAngles = [15, 30, 45, 90, 180];\n\nfunction roundDTick(roughDTick, base, roundingSet) {\n return base * Lib.roundUp(roughDTick / base, roundingSet);\n}\n\n// autoTicks: calculate best guess at pleasant ticks for this axis\n// inputs:\n// ax - an axis object\n// roughDTick - rough tick spacing (to be turned into a nice round number)\n// outputs (into ax):\n// tick0: starting point for ticks (not necessarily on the graph)\n// usually 0 for numeric (=10^0=1 for log) or jan 1, 2000 for dates\n// dtick: the actual, nice round tick spacing, usually a little larger than roughDTick\n// if the ticks are spaced linearly (linear scale, categories,\n// log with only full powers, date ticks < month),\n// this will just be a number\n// months: M#\n// years: M# where # is 12*number of years\n// log with linear ticks: L# where # is the linear tick spacing\n// log showing powers plus some intermediates:\n// D1 shows all digits, D2 shows 2 and 5\naxes.autoTicks = function(ax, roughDTick) {\n var base;\n\n function getBase(v) {\n return Math.pow(v, Math.floor(Math.log(roughDTick) / Math.LN10));\n }\n\n if(ax.type === 'date') {\n ax.tick0 = Lib.dateTick0(ax.calendar);\n // the criteria below are all based on the rough spacing we calculate\n // being > half of the final unit - so precalculate twice the rough val\n var roughX2 = 2 * roughDTick;\n\n if(roughX2 > ONEAVGYEAR) {\n roughDTick /= ONEAVGYEAR;\n base = getBase(10);\n ax.dtick = 'M' + (12 * roundDTick(roughDTick, base, roundBase10));\n } else if(roughX2 > ONEAVGMONTH) {\n roughDTick /= ONEAVGMONTH;\n ax.dtick = 'M' + roundDTick(roughDTick, 1, roundBase24);\n } else if(roughX2 > ONEDAY) {\n ax.dtick = roundDTick(roughDTick, ONEDAY, roundDays);\n // get week ticks on sunday\n // this will also move the base tick off 2000-01-01 if dtick is\n // 2 or 3 days... but that's a weird enough case that we'll ignore it.\n ax.tick0 = Lib.dateTick0(ax.calendar, true);\n } else if(roughX2 > ONEHOUR) {\n ax.dtick = roundDTick(roughDTick, ONEHOUR, roundBase24);\n } else if(roughX2 > ONEMIN) {\n ax.dtick = roundDTick(roughDTick, ONEMIN, roundBase60);\n } else if(roughX2 > ONESEC) {\n ax.dtick = roundDTick(roughDTick, ONESEC, roundBase60);\n } else {\n // milliseconds\n base = getBase(10);\n ax.dtick = roundDTick(roughDTick, base, roundBase10);\n }\n } else if(ax.type === 'log') {\n ax.tick0 = 0;\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n\n if(roughDTick > 0.7) {\n // only show powers of 10\n ax.dtick = Math.ceil(roughDTick);\n } else if(Math.abs(rng[1] - rng[0]) < 1) {\n // span is less than one power of 10\n var nt = 1.5 * Math.abs((rng[1] - rng[0]) / roughDTick);\n\n // ticks on a linear scale, labeled fully\n roughDTick = Math.abs(Math.pow(10, rng[1]) -\n Math.pow(10, rng[0])) / nt;\n base = getBase(10);\n ax.dtick = 'L' + roundDTick(roughDTick, base, roundBase10);\n } else {\n // include intermediates between powers of 10,\n // labeled with small digits\n // ax.dtick = \"D2\" (show 2 and 5) or \"D1\" (show all digits)\n ax.dtick = (roughDTick > 0.3) ? 'D2' : 'D1';\n }\n } else if(ax.type === 'category' || ax.type === 'multicategory') {\n ax.tick0 = 0;\n ax.dtick = Math.ceil(Math.max(roughDTick, 1));\n } else if(isAngular(ax)) {\n ax.tick0 = 0;\n base = 1;\n ax.dtick = roundDTick(roughDTick, base, roundAngles);\n } else {\n // auto ticks always start at 0\n ax.tick0 = 0;\n base = getBase(10);\n ax.dtick = roundDTick(roughDTick, base, roundBase10);\n }\n\n // prevent infinite loops\n if(ax.dtick === 0) ax.dtick = 1;\n\n // TODO: this is from log axis histograms with autorange off\n if(!isNumeric(ax.dtick) && typeof ax.dtick !== 'string') {\n var olddtick = ax.dtick;\n ax.dtick = 1;\n throw 'ax.dtick error: ' + String(olddtick);\n }\n};\n\n// after dtick is already known, find tickround = precision\n// to display in tick labels\n// for numeric ticks, integer # digits after . to round to\n// for date ticks, the last date part to show (y,m,d,H,M,S)\n// or an integer # digits past seconds\nfunction autoTickRound(ax) {\n var dtick = ax.dtick;\n\n ax._tickexponent = 0;\n if(!isNumeric(dtick) && typeof dtick !== 'string') {\n dtick = 1;\n }\n\n if(ax.type === 'category' || ax.type === 'multicategory') {\n ax._tickround = null;\n }\n if(ax.type === 'date') {\n // If tick0 is unusual, give tickround a bit more information\n // not necessarily *all* the information in tick0 though, if it's really odd\n // minimal string length for tick0: 'd' is 10, 'M' is 16, 'S' is 19\n // take off a leading minus (year < 0) and i (intercalary month) so length is consistent\n var tick0ms = ax.r2l(ax.tick0);\n var tick0str = ax.l2r(tick0ms).replace(/(^-|i)/g, '');\n var tick0len = tick0str.length;\n\n if(String(dtick).charAt(0) === 'M') {\n // any tick0 more specific than a year: alway show the full date\n if(tick0len > 10 || tick0str.substr(5) !== '01-01') ax._tickround = 'd';\n // show the month unless ticks are full multiples of a year\n else ax._tickround = (+(dtick.substr(1)) % 12 === 0) ? 'y' : 'm';\n } else if((dtick >= ONEDAY && tick0len <= 10) || (dtick >= ONEDAY * 15)) ax._tickround = 'd';\n else if((dtick >= ONEMIN && tick0len <= 16) || (dtick >= ONEHOUR)) ax._tickround = 'M';\n else if((dtick >= ONESEC && tick0len <= 19) || (dtick >= ONEMIN)) ax._tickround = 'S';\n else {\n // tickround is a number of digits of fractional seconds\n // of any two adjacent ticks, at least one will have the maximum fractional digits\n // of all possible ticks - so take the max. length of tick0 and the next one\n var tick1len = ax.l2r(tick0ms + dtick).replace(/^-/, '').length;\n ax._tickround = Math.max(tick0len, tick1len) - 20;\n\n // We shouldn't get here... but in case there's a situation I'm\n // not thinking of where tick0str and tick1str are identical or\n // something, fall back on maximum precision\n if(ax._tickround < 0) ax._tickround = 4;\n }\n } else if(isNumeric(dtick) || dtick.charAt(0) === 'L') {\n // linear or log (except D1, D2)\n var rng = ax.range.map(ax.r2d || Number);\n if(!isNumeric(dtick)) dtick = Number(dtick.substr(1));\n // 2 digits past largest digit of dtick\n ax._tickround = 2 - Math.floor(Math.log(dtick) / Math.LN10 + 0.01);\n\n var maxend = Math.max(Math.abs(rng[0]), Math.abs(rng[1]));\n var rangeexp = Math.floor(Math.log(maxend) / Math.LN10 + 0.01);\n if(Math.abs(rangeexp) > 3) {\n if(isSIFormat(ax.exponentformat) && !beyondSI(rangeexp)) {\n ax._tickexponent = 3 * Math.round((rangeexp - 1) / 3);\n } else ax._tickexponent = rangeexp;\n }\n } else {\n // D1 or D2 (log)\n ax._tickround = null;\n }\n}\n\n// months and years don't have constant millisecond values\n// (but a year is always 12 months so we only need months)\n// log-scale ticks are also not consistently spaced, except\n// for pure powers of 10\n// numeric ticks always have constant differences, other datetime ticks\n// can all be calculated as constant number of milliseconds\naxes.tickIncrement = function(x, dtick, axrev, calendar) {\n var axSign = axrev ? -1 : 1;\n\n // includes linear, all dates smaller than month, and pure 10^n in log\n if(isNumeric(dtick)) return x + axSign * dtick;\n\n // everything else is a string, one character plus a number\n var tType = dtick.charAt(0);\n var dtSigned = axSign * Number(dtick.substr(1));\n\n // Dates: months (or years - see Lib.incrementMonth)\n if(tType === 'M') return Lib.incrementMonth(x, dtSigned, calendar);\n\n // Log scales: Linear, Digits\n else if(tType === 'L') return Math.log(Math.pow(10, x) + dtSigned) / Math.LN10;\n\n // log10 of 2,5,10, or all digits (logs just have to be\n // close enough to round)\n else if(tType === 'D') {\n var tickset = (dtick === 'D2') ? roundLog2 : roundLog1;\n var x2 = x + axSign * 0.01;\n var frac = Lib.roundUp(Lib.mod(x2, 1), tickset, axrev);\n\n return Math.floor(x2) +\n Math.log(d3.round(Math.pow(10, frac), 1)) / Math.LN10;\n } else throw 'unrecognized dtick ' + String(dtick);\n};\n\n// calculate the first tick on an axis\naxes.tickFirst = function(ax) {\n var r2l = ax.r2l || Number;\n var rng = Lib.simpleMap(ax.range, r2l);\n var axrev = rng[1] < rng[0];\n var sRound = axrev ? Math.floor : Math.ceil;\n // add a tiny extra bit to make sure we get ticks\n // that may have been rounded out\n var r0 = rng[0] * 1.0001 - rng[1] * 0.0001;\n var dtick = ax.dtick;\n var tick0 = r2l(ax.tick0);\n\n if(isNumeric(dtick)) {\n var tmin = sRound((r0 - tick0) / dtick) * dtick + tick0;\n\n // make sure no ticks outside the category list\n if(ax.type === 'category' || ax.type === 'multicategory') {\n tmin = Lib.constrain(tmin, 0, ax._categories.length - 1);\n }\n return tmin;\n }\n\n var tType = dtick.charAt(0);\n var dtNum = Number(dtick.substr(1));\n\n // Dates: months (or years)\n if(tType === 'M') {\n var cnt = 0;\n var t0 = tick0;\n var t1, mult, newDTick;\n\n // This algorithm should work for *any* nonlinear (but close to linear!)\n // tick spacing. Limit to 10 iterations, for gregorian months it's normally <=3.\n while(cnt < 10) {\n t1 = axes.tickIncrement(t0, dtick, axrev, ax.calendar);\n if((t1 - r0) * (t0 - r0) <= 0) {\n // t1 and t0 are on opposite sides of r0! we've succeeded!\n if(axrev) return Math.min(t0, t1);\n return Math.max(t0, t1);\n }\n mult = (r0 - ((t0 + t1) / 2)) / (t1 - t0);\n newDTick = tType + ((Math.abs(Math.round(mult)) || 1) * dtNum);\n t0 = axes.tickIncrement(t0, newDTick, mult < 0 ? !axrev : axrev, ax.calendar);\n cnt++;\n }\n Lib.error('tickFirst did not converge', ax);\n return t0;\n } else if(tType === 'L') {\n // Log scales: Linear, Digits\n\n return Math.log(sRound(\n (Math.pow(10, r0) - tick0) / dtNum) * dtNum + tick0) / Math.LN10;\n } else if(tType === 'D') {\n var tickset = (dtick === 'D2') ? roundLog2 : roundLog1;\n var frac = Lib.roundUp(Lib.mod(r0, 1), tickset, axrev);\n\n return Math.floor(r0) +\n Math.log(d3.round(Math.pow(10, frac), 1)) / Math.LN10;\n } else throw 'unrecognized dtick ' + String(dtick);\n};\n\n// draw the text for one tick.\n// px,py are the location on gd.paper\n// prefix is there so the x axis ticks can be dropped a line\n// ax is the axis layout, x is the tick value\n// hover is a (truthy) flag for whether to show numbers with a bit\n// more precision for hovertext\naxes.tickText = function(ax, x, hover, noSuffixPrefix) {\n var out = tickTextObj(ax, x);\n var arrayMode = ax.tickmode === 'array';\n var extraPrecision = hover || arrayMode;\n var axType = ax.type;\n // TODO multicategory, if we allow ticktext / tickvals\n var tickVal2l = axType === 'category' ? ax.d2l_noadd : ax.d2l;\n var i;\n\n if(arrayMode && Array.isArray(ax.ticktext)) {\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n var minDiff = Math.abs(rng[1] - rng[0]) / 10000;\n\n for(i = 0; i < ax.ticktext.length; i++) {\n if(Math.abs(x - tickVal2l(ax.tickvals[i])) < minDiff) break;\n }\n if(i < ax.ticktext.length) {\n out.text = String(ax.ticktext[i]);\n return out;\n }\n }\n\n function isHidden(showAttr) {\n if(showAttr === undefined) return true;\n if(hover) return showAttr === 'none';\n\n var firstOrLast = {\n first: ax._tmin,\n last: ax._tmax\n }[showAttr];\n\n return showAttr !== 'all' && x !== firstOrLast;\n }\n\n var hideexp = hover ?\n 'never' :\n ax.exponentformat !== 'none' && isHidden(ax.showexponent) ? 'hide' : '';\n\n if(axType === 'date') formatDate(ax, out, hover, extraPrecision);\n else if(axType === 'log') formatLog(ax, out, hover, extraPrecision, hideexp);\n else if(axType === 'category') formatCategory(ax, out);\n else if(axType === 'multicategory') formatMultiCategory(ax, out, hover);\n else if(isAngular(ax)) formatAngle(ax, out, hover, extraPrecision, hideexp);\n else formatLinear(ax, out, hover, extraPrecision, hideexp);\n\n // add prefix and suffix\n if(!noSuffixPrefix) {\n if(ax.tickprefix && !isHidden(ax.showtickprefix)) out.text = ax.tickprefix + out.text;\n if(ax.ticksuffix && !isHidden(ax.showticksuffix)) out.text += ax.ticksuffix;\n }\n\n // Setup ticks and grid lines boundaries\n // at 1/2 a 'category' to the left/bottom\n if(ax.tickson === 'boundaries' || ax.showdividers) {\n var inbounds = function(v) {\n var p = ax.l2p(v);\n return p >= 0 && p <= ax._length ? v : null;\n };\n\n out.xbnd = [\n inbounds(out.x - 0.5),\n inbounds(out.x + ax.dtick - 0.5)\n ];\n }\n\n return out;\n};\n\n/**\n * create text for a hover label on this axis, with special handling of\n * log axes (where negative values can't be displayed but can appear in hover text)\n *\n * @param {object} ax: the axis to format text for\n * @param {number} val: calcdata value to format\n * @param {Optional(number)} val2: a second value to display\n *\n * @returns {string} `val` formatted as a string appropriate to this axis, or\n * `val` and `val2` as a range (ie ' - ') if `val2` is provided and\n * it's different from `val`.\n */\naxes.hoverLabelText = function(ax, val, val2) {\n if(val2 !== BADNUM && val2 !== val) {\n return axes.hoverLabelText(ax, val) + ' - ' + axes.hoverLabelText(ax, val2);\n }\n\n var logOffScale = (ax.type === 'log' && val <= 0);\n var tx = axes.tickText(ax, ax.c2l(logOffScale ? -val : val), 'hover').text;\n\n if(logOffScale) {\n return val === 0 ? '0' : MINUS_SIGN + tx;\n }\n\n // TODO: should we do something special if the axis calendar and\n // the data calendar are different? Somehow display both dates with\n // their system names? Right now it will just display in the axis calendar\n // but users could add the other one as text.\n return tx;\n};\n\nfunction tickTextObj(ax, x, text) {\n var tf = ax.tickfont || {};\n\n return {\n x: x,\n dx: 0,\n dy: 0,\n text: text || '',\n fontSize: tf.size,\n font: tf.family,\n fontColor: tf.color\n };\n}\n\nfunction formatDate(ax, out, hover, extraPrecision) {\n var tr = ax._tickround;\n var fmt = (hover && ax.hoverformat) || axes.getTickFormat(ax);\n\n if(extraPrecision) {\n // second or sub-second precision: extra always shows max digits.\n // for other fields, extra precision just adds one field.\n if(isNumeric(tr)) tr = 4;\n else tr = {y: 'm', m: 'd', d: 'M', M: 'S', S: 4}[tr];\n }\n\n var dateStr = Lib.formatDate(out.x, fmt, tr, ax._dateFormat, ax.calendar, ax._extraFormat);\n var headStr;\n\n var splitIndex = dateStr.indexOf('\\n');\n if(splitIndex !== -1) {\n headStr = dateStr.substr(splitIndex + 1);\n dateStr = dateStr.substr(0, splitIndex);\n }\n\n if(extraPrecision) {\n // if extraPrecision led to trailing zeros, strip them off\n // actually, this can lead to removing even more zeros than\n // in the original rounding, but that's fine because in these\n // contexts uniformity is not so important (if there's even\n // anything to be uniform with!)\n\n // can we remove the whole time part?\n if(dateStr === '00:00:00' || dateStr === '00:00') {\n dateStr = headStr;\n headStr = '';\n } else if(dateStr.length === 8) {\n // strip off seconds if they're zero (zero fractional seconds\n // are already omitted)\n // but we never remove minutes and leave just hours\n dateStr = dateStr.replace(/:00$/, '');\n }\n }\n\n if(headStr) {\n if(hover) {\n // hover puts it all on one line, so headPart works best up front\n // except for year headPart: turn this into \"Jan 1, 2000\" etc.\n if(tr === 'd') dateStr += ', ' + headStr;\n else dateStr = headStr + (dateStr ? ', ' + dateStr : '');\n } else if(!ax._inCalcTicks || (headStr !== ax._prevDateHead)) {\n dateStr += '
' + headStr;\n ax._prevDateHead = headStr;\n }\n }\n\n out.text = dateStr;\n}\n\nfunction formatLog(ax, out, hover, extraPrecision, hideexp) {\n var dtick = ax.dtick;\n var x = out.x;\n var tickformat = ax.tickformat;\n var dtChar0 = typeof dtick === 'string' && dtick.charAt(0);\n\n if(hideexp === 'never') {\n // If this is a hover label, then we must *never* hide the exponent\n // for the sake of display, which could give the wrong value by\n // potentially many orders of magnitude. If hideexp was 'never', then\n // it's now succeeded by preventing the other condition from automating\n // this choice. Thus we can unset it so that the axis formatting takes\n // precedence.\n hideexp = '';\n }\n\n if(extraPrecision && (dtChar0 !== 'L')) {\n dtick = 'L3';\n dtChar0 = 'L';\n }\n\n if(tickformat || (dtChar0 === 'L')) {\n out.text = numFormat(Math.pow(10, x), ax, hideexp, extraPrecision);\n } else if(isNumeric(dtick) || ((dtChar0 === 'D') && (Lib.mod(x + 0.01, 1) < 0.1))) {\n var p = Math.round(x);\n var absP = Math.abs(p);\n var exponentFormat = ax.exponentformat;\n if(exponentFormat === 'power' || (isSIFormat(exponentFormat) && beyondSI(p))) {\n if(p === 0) out.text = 1;\n else if(p === 1) out.text = '10';\n else out.text = '10' + (p > 1 ? '' : MINUS_SIGN) + absP + '';\n\n out.fontSize *= 1.25;\n } else if((exponentFormat === 'e' || exponentFormat === 'E') && absP > 2) {\n out.text = '1' + exponentFormat + (p > 0 ? '+' : MINUS_SIGN) + absP;\n } else {\n out.text = numFormat(Math.pow(10, x), ax, '', 'fakehover');\n if(dtick === 'D1' && ax._id.charAt(0) === 'y') {\n out.dy -= out.fontSize / 6;\n }\n }\n } else if(dtChar0 === 'D') {\n out.text = String(Math.round(Math.pow(10, Lib.mod(x, 1))));\n out.fontSize *= 0.75;\n } else throw 'unrecognized dtick ' + String(dtick);\n\n // if 9's are printed on log scale, move the 10's away a bit\n if(ax.dtick === 'D1') {\n var firstChar = String(out.text).charAt(0);\n if(firstChar === '0' || firstChar === '1') {\n if(ax._id.charAt(0) === 'y') {\n out.dx -= out.fontSize / 4;\n } else {\n out.dy += out.fontSize / 2;\n out.dx += (ax.range[1] > ax.range[0] ? 1 : -1) *\n out.fontSize * (x < 0 ? 0.5 : 0.25);\n }\n }\n }\n}\n\nfunction formatCategory(ax, out) {\n var tt = ax._categories[Math.round(out.x)];\n if(tt === undefined) tt = '';\n out.text = String(tt);\n}\n\nfunction formatMultiCategory(ax, out, hover) {\n var v = Math.round(out.x);\n var cats = ax._categories[v] || [];\n var tt = cats[1] === undefined ? '' : String(cats[1]);\n var tt2 = cats[0] === undefined ? '' : String(cats[0]);\n\n if(hover) {\n // TODO is this what we want?\n out.text = tt2 + ' - ' + tt;\n } else {\n // setup for secondary labels\n out.text = tt;\n out.text2 = tt2;\n }\n}\n\nfunction formatLinear(ax, out, hover, extraPrecision, hideexp) {\n if(hideexp === 'never') {\n // If this is a hover label, then we must *never* hide the exponent\n // for the sake of display, which could give the wrong value by\n // potentially many orders of magnitude. If hideexp was 'never', then\n // it's now succeeded by preventing the other condition from automating\n // this choice. Thus we can unset it so that the axis formatting takes\n // precedence.\n hideexp = '';\n } else if(ax.showexponent === 'all' && Math.abs(out.x / ax.dtick) < 1e-6) {\n // don't add an exponent to zero if we're showing all exponents\n // so the only reason you'd show an exponent on zero is if it's the\n // ONLY tick to get an exponent (first or last)\n hideexp = 'hide';\n }\n out.text = numFormat(out.x, ax, hideexp, extraPrecision);\n}\n\nfunction formatAngle(ax, out, hover, extraPrecision, hideexp) {\n if(ax.thetaunit === 'radians' && !hover) {\n var num = out.x / 180;\n\n if(num === 0) {\n out.text = '0';\n } else {\n var frac = num2frac(num);\n\n if(frac[1] >= 100) {\n out.text = numFormat(Lib.deg2rad(out.x), ax, hideexp, extraPrecision);\n } else {\n var isNeg = out.x < 0;\n\n if(frac[1] === 1) {\n if(frac[0] === 1) out.text = 'ฯ€';\n else out.text = frac[0] + 'ฯ€';\n } else {\n out.text = [\n '', frac[0], '',\n 'โ„',\n '', frac[1], '',\n 'ฯ€'\n ].join('');\n }\n\n if(isNeg) out.text = MINUS_SIGN + out.text;\n }\n }\n } else {\n out.text = numFormat(out.x, ax, hideexp, extraPrecision);\n }\n}\n\n// inspired by\n// https://github.com/yisibl/num2fraction/blob/master/index.js\nfunction num2frac(num) {\n function almostEq(a, b) {\n return Math.abs(a - b) <= 1e-6;\n }\n\n function findGCD(a, b) {\n return almostEq(b, 0) ? a : findGCD(b, a % b);\n }\n\n function findPrecision(n) {\n var e = 1;\n while(!almostEq(Math.round(n * e) / e, n)) {\n e *= 10;\n }\n return e;\n }\n\n var precision = findPrecision(num);\n var number = num * precision;\n var gcd = Math.abs(findGCD(number, precision));\n\n return [\n // numerator\n Math.round(number / gcd),\n // denominator\n Math.round(precision / gcd)\n ];\n}\n\n// format a number (tick value) according to the axis settings\n// new, more reliable procedure than d3.round or similar:\n// add half the rounding increment, then stringify and truncate\n// also automatically switch to sci. notation\nvar SIPREFIXES = ['f', 'p', 'n', 'ฮผ', 'm', '', 'k', 'M', 'G', 'T'];\n\nfunction isSIFormat(exponentFormat) {\n return exponentFormat === 'SI' || exponentFormat === 'B';\n}\n\n// are we beyond the range of common SI prefixes?\n// 10^-16 -> 1x10^-16\n// 10^-15 -> 1f\n// ...\n// 10^14 -> 100T\n// 10^15 -> 1x10^15\n// 10^16 -> 1x10^16\nfunction beyondSI(exponent) {\n return exponent > 14 || exponent < -15;\n}\n\nfunction numFormat(v, ax, fmtoverride, hover) {\n var isNeg = v < 0;\n // max number of digits past decimal point to show\n var tickRound = ax._tickround;\n var exponentFormat = fmtoverride || ax.exponentformat || 'B';\n var exponent = ax._tickexponent;\n var tickformat = axes.getTickFormat(ax);\n var separatethousands = ax.separatethousands;\n\n // special case for hover: set exponent just for this value, and\n // add a couple more digits of precision over tick labels\n if(hover) {\n // make a dummy axis obj to get the auto rounding and exponent\n var ah = {\n exponentformat: exponentFormat,\n dtick: ax.showexponent === 'none' ? ax.dtick :\n (isNumeric(v) ? Math.abs(v) || 1 : 1),\n // if not showing any exponents, don't change the exponent\n // from what we calculate\n range: ax.showexponent === 'none' ? ax.range.map(ax.r2d) : [0, v || 1]\n };\n autoTickRound(ah);\n tickRound = (Number(ah._tickround) || 0) + 4;\n exponent = ah._tickexponent;\n if(ax.hoverformat) tickformat = ax.hoverformat;\n }\n\n if(tickformat) return ax._numFormat(tickformat)(v).replace(/-/g, MINUS_SIGN);\n\n // 'epsilon' - rounding increment\n var e = Math.pow(10, -tickRound) / 2;\n\n // exponentFormat codes:\n // 'e' (1.2e+6, default)\n // 'E' (1.2E+6)\n // 'SI' (1.2M)\n // 'B' (same as SI except 10^9=B not G)\n // 'none' (1200000)\n // 'power' (1.2x10^6)\n // 'hide' (1.2, use 3rd argument=='hide' to eg\n // only show exponent on last tick)\n if(exponentFormat === 'none') exponent = 0;\n\n // take the sign out, put it back manually at the end\n // - makes cases easier\n v = Math.abs(v);\n if(v < e) {\n // 0 is just 0, but may get exponent if it's the last tick\n v = '0';\n isNeg = false;\n } else {\n v += e;\n // take out a common exponent, if any\n if(exponent) {\n v *= Math.pow(10, -exponent);\n tickRound += exponent;\n }\n // round the mantissa\n if(tickRound === 0) v = String(Math.floor(v));\n else if(tickRound < 0) {\n v = String(Math.round(v));\n v = v.substr(0, v.length + tickRound);\n for(var i = tickRound; i < 0; i++) v += '0';\n } else {\n v = String(v);\n var dp = v.indexOf('.') + 1;\n if(dp) v = v.substr(0, dp + tickRound).replace(/\\.?0+$/, '');\n }\n // insert appropriate decimal point and thousands separator\n v = Lib.numSeparate(v, ax._separators, separatethousands);\n }\n\n // add exponent\n if(exponent && exponentFormat !== 'hide') {\n if(isSIFormat(exponentFormat) && beyondSI(exponent)) exponentFormat = 'power';\n\n var signedExponent;\n if(exponent < 0) signedExponent = MINUS_SIGN + -exponent;\n else if(exponentFormat !== 'power') signedExponent = '+' + exponent;\n else signedExponent = String(exponent);\n\n if(exponentFormat === 'e' || exponentFormat === 'E') {\n v += exponentFormat + signedExponent;\n } else if(exponentFormat === 'power') {\n v += 'ร—10' + signedExponent + '';\n } else if(exponentFormat === 'B' && exponent === 9) {\n v += 'B';\n } else if(isSIFormat(exponentFormat)) {\n v += SIPREFIXES[exponent / 3 + 5];\n }\n }\n\n // put sign back in and return\n // replace standard minus character (which is technically a hyphen)\n // with a true minus sign\n if(isNeg) return MINUS_SIGN + v;\n return v;\n}\n\naxes.getTickFormat = function(ax) {\n var i;\n\n function convertToMs(dtick) {\n return typeof dtick !== 'string' ? dtick : Number(dtick.replace('M', '')) * ONEAVGMONTH;\n }\n\n function compareLogTicks(left, right) {\n var priority = ['L', 'D'];\n if(typeof left === typeof right) {\n if(typeof left === 'number') {\n return left - right;\n } else {\n var leftPriority = priority.indexOf(left.charAt(0));\n var rightPriority = priority.indexOf(right.charAt(0));\n if(leftPriority === rightPriority) {\n return Number(left.replace(/(L|D)/g, '')) - Number(right.replace(/(L|D)/g, ''));\n } else {\n return leftPriority - rightPriority;\n }\n }\n } else {\n return typeof left === 'number' ? 1 : -1;\n }\n }\n\n function isProperStop(dtick, range, convert) {\n var convertFn = convert || function(x) { return x;};\n var leftDtick = range[0];\n var rightDtick = range[1];\n return ((!leftDtick && typeof leftDtick !== 'number') || convertFn(leftDtick) <= convertFn(dtick)) &&\n ((!rightDtick && typeof rightDtick !== 'number') || convertFn(rightDtick) >= convertFn(dtick));\n }\n\n function isProperLogStop(dtick, range) {\n var isLeftDtickNull = range[0] === null;\n var isRightDtickNull = range[1] === null;\n var isDtickInRangeLeft = compareLogTicks(dtick, range[0]) >= 0;\n var isDtickInRangeRight = compareLogTicks(dtick, range[1]) <= 0;\n return (isLeftDtickNull || isDtickInRangeLeft) && (isRightDtickNull || isDtickInRangeRight);\n }\n\n var tickstop, stopi;\n if(ax.tickformatstops && ax.tickformatstops.length > 0) {\n switch(ax.type) {\n case 'date':\n case 'linear': {\n for(i = 0; i < ax.tickformatstops.length; i++) {\n stopi = ax.tickformatstops[i];\n if(stopi.enabled && isProperStop(ax.dtick, stopi.dtickrange, convertToMs)) {\n tickstop = stopi;\n break;\n }\n }\n break;\n }\n case 'log': {\n for(i = 0; i < ax.tickformatstops.length; i++) {\n stopi = ax.tickformatstops[i];\n if(stopi.enabled && isProperLogStop(ax.dtick, stopi.dtickrange)) {\n tickstop = stopi;\n break;\n }\n }\n break;\n }\n default:\n }\n }\n return tickstop ? tickstop.value : ax.tickformat;\n};\n\n// getSubplots - extract all subplot IDs we need\n// as an array of items like 'xy', 'x2y', 'x2y2'...\n// sorted by x (x,x2,x3...) then y\n// optionally restrict to only subplots containing axis object ax\n//\n// NOTE: this is currently only used OUTSIDE plotly.js (toolpanel, webapp)\n// ideally we get rid of it there (or just copy this there) and remove it here\naxes.getSubplots = function(gd, ax) {\n var subplotObj = gd._fullLayout._subplots;\n var allSubplots = subplotObj.cartesian.concat(subplotObj.gl2d || []);\n\n var out = ax ? axes.findSubplotsWithAxis(allSubplots, ax) : allSubplots;\n\n out.sort(function(a, b) {\n var aParts = a.substr(1).split('y');\n var bParts = b.substr(1).split('y');\n\n if(aParts[0] === bParts[0]) return +aParts[1] - +bParts[1];\n return +aParts[0] - +bParts[0];\n });\n\n return out;\n};\n\n// find all subplots with axis 'ax'\n// NOTE: this is only used in axes.getSubplots (only used outside plotly.js) and\n// gl2d/convert (where it restricts axis subplots to only those with gl2d)\naxes.findSubplotsWithAxis = function(subplots, ax) {\n var axMatch = new RegExp(\n (ax._id.charAt(0) === 'x') ? ('^' + ax._id + 'y') : (ax._id + '$')\n );\n var subplotsWithAx = [];\n\n for(var i = 0; i < subplots.length; i++) {\n var sp = subplots[i];\n if(axMatch.test(sp)) subplotsWithAx.push(sp);\n }\n\n return subplotsWithAx;\n};\n\n// makeClipPaths: prepare clipPaths for all single axes and all possible xy pairings\naxes.makeClipPaths = function(gd) {\n var fullLayout = gd._fullLayout;\n\n // for more info: https://github.com/plotly/plotly.js/issues/2595\n if(fullLayout._hasOnlyLargeSploms) return;\n\n var fullWidth = {_offset: 0, _length: fullLayout.width, _id: ''};\n var fullHeight = {_offset: 0, _length: fullLayout.height, _id: ''};\n var xaList = axes.list(gd, 'x', true);\n var yaList = axes.list(gd, 'y', true);\n var clipList = [];\n var i, j;\n\n for(i = 0; i < xaList.length; i++) {\n clipList.push({x: xaList[i], y: fullHeight});\n for(j = 0; j < yaList.length; j++) {\n if(i === 0) clipList.push({x: fullWidth, y: yaList[j]});\n clipList.push({x: xaList[i], y: yaList[j]});\n }\n }\n\n // selectors don't work right with camelCase tags,\n // have to use class instead\n // https://groups.google.com/forum/#!topic/d3-js/6EpAzQ2gU9I\n var axClips = fullLayout._clips.selectAll('.axesclip')\n .data(clipList, function(d) { return d.x._id + d.y._id; });\n\n axClips.enter().append('clipPath')\n .classed('axesclip', true)\n .attr('id', function(d) { return 'clip' + fullLayout._uid + d.x._id + d.y._id; })\n .append('rect');\n\n axClips.exit().remove();\n\n axClips.each(function(d) {\n d3.select(this).select('rect').attr({\n x: d.x._offset || 0,\n y: d.y._offset || 0,\n width: d.x._length || 1,\n height: d.y._length || 1\n });\n });\n};\n\n/**\n * Main multi-axis drawing routine!\n *\n * @param {DOM element} gd : graph div\n * @param {string or array of strings} arg : polymorphic argument\n * @param {object} opts:\n * - @param {boolean} skipTitle : optional flag to skip axis title draw/update\n *\n * Signature 1: Axes.draw(gd, 'redraw')\n * use this to clear and redraw all axes on graph\n *\n * Signature 2: Axes.draw(gd, '')\n * use this to draw all axes on graph w/o the selectAll().remove()\n * of the 'redraw' signature\n *\n * Signature 3: Axes.draw(gd, [axId, axId2, ...])\n * where the items are axis id string,\n * use this to update multiple axes in one call\n *\n * N.B draw updates:\n * - ax._r (stored range for use by zoom/pan)\n * - ax._rl (stored linearized range for use by zoom/pan)\n */\naxes.draw = function(gd, arg, opts) {\n var fullLayout = gd._fullLayout;\n\n if(arg === 'redraw') {\n fullLayout._paper.selectAll('g.subplot').each(function(d) {\n var id = d[0];\n var plotinfo = fullLayout._plots[id];\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n plotinfo.xaxislayer.selectAll('.' + xa._id + 'tick').remove();\n plotinfo.yaxislayer.selectAll('.' + ya._id + 'tick').remove();\n plotinfo.xaxislayer.selectAll('.' + xa._id + 'tick2').remove();\n plotinfo.yaxislayer.selectAll('.' + ya._id + 'tick2').remove();\n plotinfo.xaxislayer.selectAll('.' + xa._id + 'divider').remove();\n plotinfo.yaxislayer.selectAll('.' + ya._id + 'divider').remove();\n\n if(plotinfo.gridlayer) plotinfo.gridlayer.selectAll('path').remove();\n if(plotinfo.zerolinelayer) plotinfo.zerolinelayer.selectAll('path').remove();\n\n fullLayout._infolayer.select('.g-' + xa._id + 'title').remove();\n fullLayout._infolayer.select('.g-' + ya._id + 'title').remove();\n });\n }\n\n var axList = (!arg || arg === 'redraw') ? axes.listIds(gd) : arg;\n\n return Lib.syncOrAsync(axList.map(function(axId) {\n return function() {\n if(!axId) return;\n\n var ax = axes.getFromId(gd, axId);\n var axDone = axes.drawOne(gd, ax, opts);\n\n ax._r = ax.range.slice();\n ax._rl = Lib.simpleMap(ax._r, ax.r2l);\n\n return axDone;\n };\n }));\n};\n\n/**\n * Draw one cartesian axis\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * @param {object} opts\n * - @param {boolean} skipTitle (set to true to skip axis title draw call)\n *\n * Depends on:\n * - ax._mainSubplot (from linkSubplots)\n * - ax._mainAxis\n * - ax._anchorAxis\n * - ax._subplotsWith\n * - ax._counterDomainMin, ax._counterDomainMax (optionally, from linkSubplots)\n * - ax._tickAngles (on redraw only, old value relinked during supplyDefaults)\n * - ax._mainLinePosition (from lsInner)\n * - ax._mainMirrorPosition\n * - ax._linepositions\n *\n * Fills in:\n * - ax._vals:\n * - ax._gridVals:\n * - ax._selections:\n * - ax._tickAngles:\n * - ax._depth (when required only):\n * - and calls ax.setScale\n */\naxes.drawOne = function(gd, ax, opts) {\n opts = opts || {};\n\n var i, sp, plotinfo;\n\n ax.setScale();\n\n var fullLayout = gd._fullLayout;\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var counterLetter = axes.counterLetter(axId);\n var mainLinePosition = ax._mainLinePosition;\n var mainMirrorPosition = ax._mainMirrorPosition;\n var mainPlotinfo = fullLayout._plots[ax._mainSubplot];\n var mainAxLayer = mainPlotinfo[axLetter + 'axislayer'];\n\n var vals = ax._vals = axes.calcTicks(ax);\n\n // Add a couple of axis properties that should cause us to recreate\n // elements. Used in d3 data function.\n var axInfo = [ax.mirror, mainLinePosition, mainMirrorPosition].join('_');\n for(i = 0; i < vals.length; i++) {\n vals[i].axInfo = axInfo;\n }\n\n // stash selections to avoid DOM queries e.g.\n // - stash tickLabels selection, so that drawTitle can use it to scoot title\n ax._selections = {};\n // stash tick angle (including the computed 'auto' values) per tick-label class\n // linkup 'previous' tick angles on redraws\n if(ax._tickAngles) ax._prevTickAngles = ax._tickAngles;\n ax._tickAngles = {};\n // measure [in px] between axis position and outward-most part of bounding box\n // (touching either the tick label or ticks)\n // depth can be expansive to compute, so we only do so when required\n ax._depth = null;\n\n // calcLabelLevelBbox can be expensive,\n // so make sure to not call it twice during the same Axes.drawOne call\n // by stashing label-level bounding boxes per tick-label class\n var llbboxes = {};\n function getLabelLevelBbox(suffix) {\n var cls = axId + (suffix || 'tick');\n if(!llbboxes[cls]) llbboxes[cls] = calcLabelLevelBbox(ax, cls);\n return llbboxes[cls];\n }\n\n if(!ax.visible) return;\n\n var transFn = axes.makeTransFn(ax);\n var tickVals;\n // We remove zero lines, grid lines, and inside ticks if they're within 1px of the end\n // The key case here is removing zero lines when the axis bound is zero\n var valsClipped;\n\n if(ax.tickson === 'boundaries') {\n var boundaryVals = getBoundaryVals(ax, vals);\n valsClipped = axes.clipEnds(ax, boundaryVals);\n tickVals = ax.ticks === 'inside' ? valsClipped : boundaryVals;\n } else {\n valsClipped = axes.clipEnds(ax, vals);\n tickVals = ax.ticks === 'inside' ? valsClipped : vals;\n }\n\n var gridVals = ax._gridVals = valsClipped;\n var dividerVals = getDividerVals(ax, vals);\n\n if(!fullLayout._hasOnlyLargeSploms) {\n var subplotsWithAx = ax._subplotsWith;\n\n // keep track of which subplots (by main counter axis) we've already\n // drawn grids for, so we don't overdraw overlaying subplots\n var finishedGrids = {};\n\n for(i = 0; i < subplotsWithAx.length; i++) {\n sp = subplotsWithAx[i];\n plotinfo = fullLayout._plots[sp];\n\n var counterAxis = plotinfo[counterLetter + 'axis'];\n var mainCounterID = counterAxis._mainAxis._id;\n if(finishedGrids[mainCounterID]) continue;\n finishedGrids[mainCounterID] = 1;\n\n var gridPath = axLetter === 'x' ?\n 'M0,' + counterAxis._offset + 'v' + counterAxis._length :\n 'M' + counterAxis._offset + ',0h' + counterAxis._length;\n\n axes.drawGrid(gd, ax, {\n vals: gridVals,\n counterAxis: counterAxis,\n layer: plotinfo.gridlayer.select('.' + axId),\n path: gridPath,\n transFn: transFn\n });\n axes.drawZeroLine(gd, ax, {\n counterAxis: counterAxis,\n layer: plotinfo.zerolinelayer,\n path: gridPath,\n transFn: transFn\n });\n }\n }\n\n var tickSigns = axes.getTickSigns(ax);\n var tickSubplots = [];\n\n if(ax.ticks) {\n var mainTickPath = axes.makeTickPath(ax, mainLinePosition, tickSigns[2]);\n var mirrorTickPath;\n var fullTickPath;\n if(ax._anchorAxis && ax.mirror && ax.mirror !== true) {\n mirrorTickPath = axes.makeTickPath(ax, mainMirrorPosition, tickSigns[3]);\n fullTickPath = mainTickPath + mirrorTickPath;\n } else {\n mirrorTickPath = '';\n fullTickPath = mainTickPath;\n }\n\n var tickPath;\n if(ax.showdividers && ax.ticks === 'outside' && ax.tickson === 'boundaries') {\n var dividerLookup = {};\n for(i = 0; i < dividerVals.length; i++) {\n dividerLookup[dividerVals[i].x] = 1;\n }\n tickPath = function(d) {\n return dividerLookup[d.x] ? mirrorTickPath : fullTickPath;\n };\n } else {\n tickPath = fullTickPath;\n }\n\n axes.drawTicks(gd, ax, {\n vals: tickVals,\n layer: mainAxLayer,\n path: tickPath,\n transFn: transFn\n });\n\n if(ax.mirror === 'allticks') {\n tickSubplots = Object.keys(ax._linepositions || {});\n }\n }\n\n for(i = 0; i < tickSubplots.length; i++) {\n sp = tickSubplots[i];\n plotinfo = fullLayout._plots[sp];\n // [bottom or left, top or right], free and main are handled above\n var linepositions = ax._linepositions[sp] || [];\n var spTickPath = axes.makeTickPath(ax, linepositions[0], tickSigns[0]) +\n axes.makeTickPath(ax, linepositions[1], tickSigns[1]);\n\n axes.drawTicks(gd, ax, {\n vals: tickVals,\n layer: plotinfo[axLetter + 'axislayer'],\n path: spTickPath,\n transFn: transFn\n });\n }\n\n var seq = [];\n\n // tick labels - for now just the main labels.\n // TODO: mirror labels, esp for subplots\n\n seq.push(function() {\n return axes.drawLabels(gd, ax, {\n vals: vals,\n layer: mainAxLayer,\n transFn: transFn,\n labelFns: axes.makeLabelFns(ax, mainLinePosition)\n });\n });\n\n if(ax.type === 'multicategory') {\n var pad = {x: 2, y: 10}[axLetter];\n\n seq.push(function() {\n var bboxKey = {x: 'height', y: 'width'}[axLetter];\n var standoff = getLabelLevelBbox()[bboxKey] + pad +\n (ax._tickAngles[axId + 'tick'] ? ax.tickfont.size * LINE_SPACING : 0);\n\n return axes.drawLabels(gd, ax, {\n vals: getSecondaryLabelVals(ax, vals),\n layer: mainAxLayer,\n cls: axId + 'tick2',\n repositionOnUpdate: true,\n secondary: true,\n transFn: transFn,\n labelFns: axes.makeLabelFns(ax, mainLinePosition + standoff * tickSigns[4])\n });\n });\n\n seq.push(function() {\n ax._depth = tickSigns[4] * (getLabelLevelBbox('tick2')[ax.side] - mainLinePosition);\n\n return drawDividers(gd, ax, {\n vals: dividerVals,\n layer: mainAxLayer,\n path: axes.makeTickPath(ax, mainLinePosition, tickSigns[4], ax._depth),\n transFn: transFn\n });\n });\n } else if(ax.title.hasOwnProperty('standoff')) {\n seq.push(function() {\n ax._depth = tickSigns[4] * (getLabelLevelBbox()[ax.side] - mainLinePosition);\n });\n }\n\n var hasRangeSlider = Registry.getComponentMethod('rangeslider', 'isVisible')(ax);\n\n seq.push(function() {\n var s = ax.side.charAt(0);\n var sMirror = OPPOSITE_SIDE[ax.side].charAt(0);\n var pos = axes.getPxPosition(gd, ax);\n var outsideTickLen = ax.ticks === 'outside' ? ax.ticklen : 0;\n var llbbox;\n\n var push;\n var mirrorPush;\n var rangeSliderPush;\n\n if(ax.automargin || hasRangeSlider) {\n if(ax.type === 'multicategory') {\n llbbox = getLabelLevelBbox('tick2');\n } else {\n llbbox = getLabelLevelBbox();\n if(axLetter === 'x' && s === 'b') {\n ax._depth = Math.max(llbbox.width > 0 ? llbbox.bottom - pos : 0, outsideTickLen);\n }\n }\n }\n\n if(ax.automargin) {\n push = {x: 0, y: 0, r: 0, l: 0, t: 0, b: 0};\n var domainIndices = [0, 1];\n\n if(axLetter === 'x') {\n if(s === 'b') {\n push[s] = ax._depth;\n } else {\n push[s] = ax._depth = Math.max(llbbox.width > 0 ? pos - llbbox.top : 0, outsideTickLen);\n domainIndices.reverse();\n }\n\n if(llbbox.width > 0) {\n var rExtra = llbbox.right - (ax._offset + ax._length);\n if(rExtra > 0) {\n push.xr = 1;\n push.r = rExtra;\n }\n var lExtra = ax._offset - llbbox.left;\n if(lExtra > 0) {\n push.xl = 0;\n push.l = lExtra;\n }\n }\n } else {\n if(s === 'l') {\n push[s] = ax._depth = Math.max(llbbox.height > 0 ? pos - llbbox.left : 0, outsideTickLen);\n } else {\n push[s] = ax._depth = Math.max(llbbox.height > 0 ? llbbox.right - pos : 0, outsideTickLen);\n domainIndices.reverse();\n }\n\n if(llbbox.height > 0) {\n var bExtra = llbbox.bottom - (ax._offset + ax._length);\n if(bExtra > 0) {\n push.yb = 0;\n push.b = bExtra;\n }\n var tExtra = ax._offset - llbbox.top;\n if(tExtra > 0) {\n push.yt = 1;\n push.t = tExtra;\n }\n }\n }\n\n push[counterLetter] = ax.anchor === 'free' ?\n ax.position :\n ax._anchorAxis.domain[domainIndices[0]];\n\n if(ax.title.text !== fullLayout._dfltTitle[axLetter]) {\n push[s] += approxTitleDepth(ax) + (ax.title.standoff || 0);\n }\n\n if(ax.mirror && ax.anchor !== 'free') {\n mirrorPush = {x: 0, y: 0, r: 0, l: 0, t: 0, b: 0};\n\n mirrorPush[sMirror] = ax.linewidth;\n if(ax.mirror && ax.mirror !== true) mirrorPush[sMirror] += outsideTickLen;\n\n if(ax.mirror === true || ax.mirror === 'ticks') {\n mirrorPush[counterLetter] = ax._anchorAxis.domain[domainIndices[1]];\n } else if(ax.mirror === 'all' || ax.mirror === 'allticks') {\n mirrorPush[counterLetter] = [ax._counterDomainMin, ax._counterDomainMax][domainIndices[1]];\n }\n }\n }\n\n if(hasRangeSlider) {\n rangeSliderPush = Registry.getComponentMethod('rangeslider', 'autoMarginOpts')(gd, ax);\n }\n\n Plots.autoMargin(gd, axAutoMarginID(ax), push);\n Plots.autoMargin(gd, axMirrorAutoMarginID(ax), mirrorPush);\n Plots.autoMargin(gd, rangeSliderAutoMarginID(ax), rangeSliderPush);\n });\n\n if(!opts.skipTitle &&\n !(hasRangeSlider && ax.side === 'bottom')\n ) {\n seq.push(function() { return drawTitle(gd, ax); });\n }\n\n return Lib.syncOrAsync(seq);\n};\n\nfunction getBoundaryVals(ax, vals) {\n var out = [];\n var i;\n\n // boundaryVals are never used for labels;\n // no need to worry about the other tickTextObj keys\n var _push = function(d, bndIndex) {\n var xb = d.xbnd[bndIndex];\n if(xb !== null) {\n out.push(Lib.extendFlat({}, d, {x: xb}));\n }\n };\n\n if(vals.length) {\n for(i = 0; i < vals.length; i++) {\n _push(vals[i], 0);\n }\n _push(vals[i - 1], 1);\n }\n\n return out;\n}\n\nfunction getSecondaryLabelVals(ax, vals) {\n var out = [];\n var lookup = {};\n\n for(var i = 0; i < vals.length; i++) {\n var d = vals[i];\n if(lookup[d.text2]) {\n lookup[d.text2].push(d.x);\n } else {\n lookup[d.text2] = [d.x];\n }\n }\n\n for(var k in lookup) {\n out.push(tickTextObj(ax, Lib.interp(lookup[k], 0.5), k));\n }\n\n return out;\n}\n\nfunction getDividerVals(ax, vals) {\n var out = [];\n var i, current;\n\n // never used for labels;\n // no need to worry about the other tickTextObj keys\n var _push = function(d, bndIndex) {\n var xb = d.xbnd[bndIndex];\n if(xb !== null) {\n out.push(Lib.extendFlat({}, d, {x: xb}));\n }\n };\n\n if(ax.showdividers && vals.length) {\n for(i = 0; i < vals.length; i++) {\n var d = vals[i];\n if(d.text2 !== current) {\n _push(d, 0);\n }\n current = d.text2;\n }\n _push(vals[i - 1], 1);\n }\n\n return out;\n}\n\nfunction calcLabelLevelBbox(ax, cls) {\n var top, bottom;\n var left, right;\n\n if(ax._selections[cls].size()) {\n top = Infinity;\n bottom = -Infinity;\n left = Infinity;\n right = -Infinity;\n ax._selections[cls].each(function() {\n var thisLabel = selectTickLabel(this);\n // Use parent node , to make Drawing.bBox\n // retrieve a bbox computed with transform info\n //\n // To improve perf, it would be nice to use `thisLabel.node()`\n // (like in fixLabelOverlaps) instead and use Axes.getPxPosition\n // together with the makeLabelFns outputs and `tickangle`\n // to compute one bbox per (tick value x tick style)\n var bb = Drawing.bBox(thisLabel.node().parentNode);\n top = Math.min(top, bb.top);\n bottom = Math.max(bottom, bb.bottom);\n left = Math.min(left, bb.left);\n right = Math.max(right, bb.right);\n });\n } else {\n top = 0;\n bottom = 0;\n left = 0;\n right = 0;\n }\n\n return {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n height: bottom - top,\n width: right - left\n };\n}\n\n/**\n * Which direction do the 'ax.side' values, and free ticks go?\n *\n * @param {object} ax (full) axis object\n * - {string} _id (starting with 'x' or 'y')\n * - {string} side\n * - {string} ticks\n * @return {array} all entries are either -1 or 1\n * - [0]: sign for top/right ticks (i.e. negative SVG direction)\n * - [1]: sign for bottom/left ticks (i.e. positive SVG direction)\n * - [2]: sign for ticks corresponding to 'ax.side'\n * - [3]: sign for ticks mirroring 'ax.side'\n * - [4]: sign of arrow starting at axis pointing towards margin\n */\naxes.getTickSigns = function(ax) {\n var axLetter = ax._id.charAt(0);\n var sideOpposite = {x: 'top', y: 'right'}[axLetter];\n var main = ax.side === sideOpposite ? 1 : -1;\n var out = [-1, 1, main, -main];\n // then we flip if outside XOR y axis\n if((ax.ticks !== 'inside') === (axLetter === 'x')) {\n out = out.map(function(v) { return -v; });\n }\n // independent of `ticks`; do not flip this one\n if(ax.side) {\n out.push({l: -1, t: -1, r: 1, b: 1}[ax.side.charAt(0)]);\n }\n return out;\n};\n\n/**\n * Make axis translate transform function\n *\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {number} _offset\n * - {fn} l2p\n * @return {fn} function of calcTicks items\n */\naxes.makeTransFn = function(ax) {\n var axLetter = ax._id.charAt(0);\n var offset = ax._offset;\n return axLetter === 'x' ?\n function(d) { return 'translate(' + (offset + ax.l2p(d.x)) + ',0)'; } :\n function(d) { return 'translate(0,' + (offset + ax.l2p(d.x)) + ')'; };\n};\n\n/**\n * Make axis tick path string\n *\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {number} ticklen\n * - {number} linewidth\n * @param {number} shift along direction of ticklen\n * @param {1 or -1} sgn tick sign\n * @param {number (optional)} len tick length\n * @return {string}\n */\naxes.makeTickPath = function(ax, shift, sgn, len) {\n len = len !== undefined ? len : ax.ticklen;\n\n var axLetter = ax._id.charAt(0);\n var pad = (ax.linewidth || 1) / 2;\n\n return axLetter === 'x' ?\n 'M0,' + (shift + pad * sgn) + 'v' + (len * sgn) :\n 'M' + (shift + pad * sgn) + ',0h' + (len * sgn);\n};\n\n/**\n * Make axis tick label x, y and anchor functions\n *\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} ticks\n * - {number} ticklen\n * - {string} side\n * - {number} linewidth\n * - {number} tickfont.size\n * - {boolean} showline\n * @param {number} shift\n * @param {number} angle [in degrees] ...\n * @return {object}\n * - {fn} xFn\n * - {fn} yFn\n * - {fn} anchorFn\n * - {fn} heightFn\n * - {number} labelStandoff (gap parallel to ticks)\n * - {number} labelShift (gap perpendicular to ticks)\n */\naxes.makeLabelFns = function(ax, shift, angle) {\n var axLetter = ax._id.charAt(0);\n var ticksOnOutsideLabels = ax.tickson !== 'boundaries' && ax.ticks === 'outside';\n\n var labelStandoff = 0;\n var labelShift = 0;\n\n if(ticksOnOutsideLabels) {\n labelStandoff += ax.ticklen;\n }\n if(angle && ax.ticks === 'outside') {\n var rad = Lib.deg2rad(angle);\n labelStandoff = ax.ticklen * Math.cos(rad) + 1;\n labelShift = ax.ticklen * Math.sin(rad);\n }\n if(ax.showticklabels && (ticksOnOutsideLabels || ax.showline)) {\n labelStandoff += 0.2 * ax.tickfont.size;\n }\n labelStandoff += (ax.linewidth || 1) / 2;\n\n var out = {\n labelStandoff: labelStandoff,\n labelShift: labelShift\n };\n\n var x0, y0, ff, flipIt;\n\n if(axLetter === 'x') {\n flipIt = ax.side === 'bottom' ? 1 : -1;\n x0 = labelShift * flipIt;\n y0 = shift + labelStandoff * flipIt;\n ff = ax.side === 'bottom' ? 1 : -0.2;\n\n out.xFn = function(d) { return d.dx + x0; };\n out.yFn = function(d) { return d.dy + y0 + d.fontSize * ff; };\n out.anchorFn = function(d, a) {\n if(!isNumeric(a) || a === 0 || a === 180) {\n return 'middle';\n }\n return (a * flipIt < 0) ? 'end' : 'start';\n };\n out.heightFn = function(d, a, h) {\n return (a < -60 || a > 60) ? -0.5 * h :\n ax.side === 'top' ? -h :\n 0;\n };\n } else if(axLetter === 'y') {\n flipIt = ax.side === 'right' ? 1 : -1;\n x0 = labelStandoff;\n y0 = -labelShift * flipIt;\n ff = Math.abs(ax.tickangle) === 90 ? 0.5 : 0;\n\n out.xFn = function(d) { return d.dx + shift + (x0 + d.fontSize * ff) * flipIt; };\n out.yFn = function(d) { return d.dy + y0 + d.fontSize * MID_SHIFT; };\n out.anchorFn = function(d, a) {\n if(isNumeric(a) && Math.abs(a) === 90) {\n return 'middle';\n }\n return ax.side === 'right' ? 'start' : 'end';\n };\n out.heightFn = function(d, a, h) {\n a *= ax.side === 'left' ? 1 : -1;\n return a < -30 ? -h :\n a < 30 ? -0.5 * h :\n 0;\n };\n }\n\n return out;\n};\n\nfunction tickDataFn(d) {\n return [d.text, d.x, d.axInfo, d.font, d.fontSize, d.fontColor].join('_');\n}\n\n/**\n * Draw axis ticks\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} ticks\n * - {number} linewidth\n * - {string} tickcolor\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {string or fn} path\n * - {fn} transFn\n * - {boolean} crisp (set to false to unset crisp-edge SVG rendering)\n */\naxes.drawTicks = function(gd, ax, opts) {\n opts = opts || {};\n\n var cls = ax._id + 'tick';\n\n var ticks = opts.layer.selectAll('path.' + cls)\n .data(ax.ticks ? opts.vals : [], tickDataFn);\n\n ticks.exit().remove();\n\n ticks.enter().append('path')\n .classed(cls, 1)\n .classed('ticks', 1)\n .classed('crisp', opts.crisp !== false)\n .call(Color.stroke, ax.tickcolor)\n .style('stroke-width', Drawing.crispRound(gd, ax.tickwidth, 1) + 'px')\n .attr('d', opts.path);\n\n ticks.attr('transform', opts.transFn);\n};\n\n/**\n * Draw axis grid\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {boolean} showgrid\n * - {string} gridcolor\n * - {string} gridwidth\n * - {boolean} zeroline\n * - {string} type\n * - {string} dtick\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {object} counterAxis (full axis object corresponding to counter axis)\n * optional - only required if this axis supports zero lines\n * - {string or fn} path\n * - {fn} transFn\n * - {boolean} crisp (set to false to unset crisp-edge SVG rendering)\n */\naxes.drawGrid = function(gd, ax, opts) {\n opts = opts || {};\n\n var cls = ax._id + 'grid';\n var vals = opts.vals;\n var counterAx = opts.counterAxis;\n if(ax.showgrid === false) {\n vals = [];\n } else if(counterAx && axes.shouldShowZeroLine(gd, ax, counterAx)) {\n var isArrayMode = ax.tickmode === 'array';\n for(var i = 0; i < vals.length; i++) {\n var xi = vals[i].x;\n if(isArrayMode ? !xi : (Math.abs(xi) < ax.dtick / 100)) {\n vals = vals.slice(0, i).concat(vals.slice(i + 1));\n // In array mode you can in principle have multiple\n // ticks at 0, so test them all. Otherwise once we found\n // one we can stop.\n if(isArrayMode) i--;\n else break;\n }\n }\n }\n\n var grid = opts.layer.selectAll('path.' + cls)\n .data(vals, tickDataFn);\n\n grid.exit().remove();\n\n grid.enter().append('path')\n .classed(cls, 1)\n .classed('crisp', opts.crisp !== false);\n\n ax._gw = Drawing.crispRound(gd, ax.gridwidth, 1);\n\n grid.attr('transform', opts.transFn)\n .attr('d', opts.path)\n .call(Color.stroke, ax.gridcolor || '#ddd')\n .style('stroke-width', ax._gw + 'px');\n\n if(typeof opts.path === 'function') grid.attr('d', opts.path);\n};\n\n/**\n * Draw axis zero-line\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {boolean} zeroline\n * - {number} zerolinewidth\n * - {string} zerolinecolor\n * - {number (optional)} _gridWidthCrispRound\n * @param {object} opts\n * - {d3 selection} layer\n * - {object} counterAxis (full axis object corresponding to counter axis)\n * - {string or fn} path\n * - {fn} transFn\n * - {boolean} crisp (set to false to unset crisp-edge SVG rendering)\n */\naxes.drawZeroLine = function(gd, ax, opts) {\n opts = opts || opts;\n\n var cls = ax._id + 'zl';\n var show = axes.shouldShowZeroLine(gd, ax, opts.counterAxis);\n\n var zl = opts.layer.selectAll('path.' + cls)\n .data(show ? [{x: 0, id: ax._id}] : []);\n\n zl.exit().remove();\n\n zl.enter().append('path')\n .classed(cls, 1)\n .classed('zl', 1)\n .classed('crisp', opts.crisp !== false)\n .each(function() {\n // use the fact that only one element can enter to trigger a sort.\n // If several zerolines enter at the same time we will sort once per,\n // but generally this should be a minimal overhead.\n opts.layer.selectAll('path').sort(function(da, db) {\n return axisIds.idSort(da.id, db.id);\n });\n });\n\n zl.attr('transform', opts.transFn)\n .attr('d', opts.path)\n .call(Color.stroke, ax.zerolinecolor || Color.defaultLine)\n .style('stroke-width', Drawing.crispRound(gd, ax.zerolinewidth, ax._gw || 1) + 'px');\n};\n\n/**\n * Draw axis tick labels\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {boolean} showticklabels\n * - {number} tickangle\n * - {object (optional)} _selections\n * - {object} (optional)} _tickAngles\n * - {object} (optional)} _prevTickAngles\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {string (optional)} cls (node className)\n * - {boolean} repositionOnUpdate (set to true to reposition update selection)\n * - {boolean} secondary\n * - {fn} transFn\n * - {object} labelFns\n * + {fn} xFn\n * + {fn} yFn\n * + {fn} anchorFn\n * + {fn} heightFn\n */\naxes.drawLabels = function(gd, ax, opts) {\n opts = opts || {};\n\n var fullLayout = gd._fullLayout;\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var cls = opts.cls || axId + 'tick';\n var vals = opts.vals;\n var labelFns = opts.labelFns;\n var tickAngle = opts.secondary ? 0 : ax.tickangle;\n var prevAngle = (ax._prevTickAngles || {})[cls];\n\n var tickLabels = opts.layer.selectAll('g.' + cls)\n .data(ax.showticklabels ? vals : [], tickDataFn);\n\n var labelsReady = [];\n\n tickLabels.enter().append('g')\n .classed(cls, 1)\n .append('text')\n // only so tex has predictable alignment that we can\n // alter later\n .attr('text-anchor', 'middle')\n .each(function(d) {\n var thisLabel = d3.select(this);\n var newPromise = gd._promises.length;\n\n thisLabel\n .call(svgTextUtils.positionText, labelFns.xFn(d), labelFns.yFn(d))\n .call(Drawing.font, d.font, d.fontSize, d.fontColor)\n .text(d.text)\n .call(svgTextUtils.convertToTspans, gd);\n\n if(gd._promises[newPromise]) {\n // if we have an async label, we'll deal with that\n // all here so take it out of gd._promises and\n // instead position the label and promise this in\n // labelsReady\n labelsReady.push(gd._promises.pop().then(function() {\n positionLabels(thisLabel, tickAngle);\n }));\n } else {\n // sync label: just position it now.\n positionLabels(thisLabel, tickAngle);\n }\n });\n\n tickLabels.exit().remove();\n\n if(opts.repositionOnUpdate) {\n tickLabels.each(function(d) {\n d3.select(this).select('text')\n .call(svgTextUtils.positionText, labelFns.xFn(d), labelFns.yFn(d));\n });\n }\n\n function positionLabels(s, angle) {\n s.each(function(d) {\n var thisLabel = d3.select(this);\n var mathjaxGroup = thisLabel.select('.text-math-group');\n var anchor = labelFns.anchorFn(d, angle);\n\n var transform = opts.transFn.call(thisLabel.node(), d) +\n ((isNumeric(angle) && +angle !== 0) ?\n (' rotate(' + angle + ',' + labelFns.xFn(d) + ',' +\n (labelFns.yFn(d) - d.fontSize / 2) + ')') :\n '');\n\n // how much to shift a multi-line label to center it vertically.\n var nLines = svgTextUtils.lineCount(thisLabel);\n var lineHeight = LINE_SPACING * d.fontSize;\n var anchorHeight = labelFns.heightFn(d, isNumeric(angle) ? +angle : 0, (nLines - 1) * lineHeight);\n\n if(anchorHeight) {\n transform += ' translate(0, ' + anchorHeight + ')';\n }\n\n if(mathjaxGroup.empty()) {\n thisLabel.select('text').attr({\n transform: transform,\n 'text-anchor': anchor\n });\n } else {\n var mjWidth = Drawing.bBox(mathjaxGroup.node()).width;\n var mjShift = mjWidth * {end: -0.5, start: 0.5}[anchor];\n mathjaxGroup.attr('transform', transform + (mjShift ? 'translate(' + mjShift + ',0)' : ''));\n }\n });\n }\n\n // make sure all labels are correctly positioned at their base angle\n // the positionLabels call above is only for newly drawn labels.\n // do this without waiting, using the last calculated angle to\n // minimize flicker, then do it again when we know all labels are\n // there, putting back the prescribed angle to check for overlaps.\n positionLabels(tickLabels, (prevAngle + 1) ? prevAngle : tickAngle);\n\n function allLabelsReady() {\n return labelsReady.length && Promise.all(labelsReady);\n }\n\n var autoangle = null;\n\n function fixLabelOverlaps() {\n positionLabels(tickLabels, tickAngle);\n\n // check for auto-angling if x labels overlap\n // don't auto-angle at all for log axes with\n // base and digit format\n if(vals.length && axLetter === 'x' && !isNumeric(tickAngle) &&\n (ax.type !== 'log' || String(ax.dtick).charAt(0) !== 'D')\n ) {\n autoangle = 0;\n\n var maxFontSize = 0;\n var lbbArray = [];\n var i;\n\n tickLabels.each(function(d) {\n maxFontSize = Math.max(maxFontSize, d.fontSize);\n\n var x = ax.l2p(d.x);\n var thisLabel = selectTickLabel(this);\n var bb = Drawing.bBox(thisLabel.node());\n\n lbbArray.push({\n // ignore about y, just deal with x overlaps\n top: 0,\n bottom: 10,\n height: 10,\n left: x - bb.width / 2,\n // impose a 2px gap\n right: x + bb.width / 2 + 2,\n width: bb.width + 2\n });\n });\n\n if((ax.tickson === 'boundaries' || ax.showdividers) && !opts.secondary) {\n var gap = 2;\n if(ax.ticks) gap += ax.tickwidth / 2;\n\n // TODO should secondary labels also fall into this fix-overlap regime?\n\n for(i = 0; i < lbbArray.length; i++) {\n var xbnd = vals[i].xbnd;\n var lbb = lbbArray[i];\n if(\n (xbnd[0] !== null && (lbb.left - ax.l2p(xbnd[0])) < gap) ||\n (xbnd[1] !== null && (ax.l2p(xbnd[1]) - lbb.right) < gap)\n ) {\n autoangle = 90;\n break;\n }\n }\n } else {\n var vLen = vals.length;\n var tickSpacing = Math.abs((vals[vLen - 1].x - vals[0].x) * ax._m) / (vLen - 1);\n var rotate90 = (tickSpacing < maxFontSize * 2.5) || ax.type === 'multicategory';\n\n // any overlap at all - set 30 degrees or 90 degrees\n for(i = 0; i < lbbArray.length - 1; i++) {\n if(Lib.bBoxIntersect(lbbArray[i], lbbArray[i + 1])) {\n autoangle = rotate90 ? 90 : 30;\n break;\n }\n }\n }\n\n if(autoangle) {\n positionLabels(tickLabels, autoangle);\n }\n }\n }\n\n if(ax._selections) {\n ax._selections[cls] = tickLabels;\n }\n\n var seq = [allLabelsReady];\n\n // N.B. during auto-margin redraws, if the axis fixed its label overlaps\n // by rotating 90 degrees, do not attempt to re-fix its label overlaps\n // as this can lead to infinite redraw loops!\n if(ax.automargin && fullLayout._redrawFromAutoMarginCount && prevAngle === 90) {\n autoangle = 90;\n seq.push(function() {\n positionLabels(tickLabels, prevAngle);\n });\n } else {\n seq.push(fixLabelOverlaps);\n }\n\n // save current tick angle for future redraws\n if(ax._tickAngles) {\n seq.push(function() {\n ax._tickAngles[cls] = autoangle === null ?\n (isNumeric(tickAngle) ? tickAngle : 0) :\n autoangle;\n });\n }\n\n var done = Lib.syncOrAsync(seq);\n if(done && done.then) gd._promises.push(done);\n return done;\n};\n\n/**\n * Draw axis dividers\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} showdividers\n * - {number} dividerwidth\n * - {string} dividercolor\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {fn} path\n * - {fn} transFn\n */\nfunction drawDividers(gd, ax, opts) {\n var cls = ax._id + 'divider';\n var vals = opts.vals;\n\n var dividers = opts.layer.selectAll('path.' + cls)\n .data(vals, tickDataFn);\n\n dividers.exit().remove();\n\n dividers.enter().insert('path', ':first-child')\n .classed(cls, 1)\n .classed('crisp', 1)\n .call(Color.stroke, ax.dividercolor)\n .style('stroke-width', Drawing.crispRound(gd, ax.dividerwidth, 1) + 'px');\n\n dividers\n .attr('transform', opts.transFn)\n .attr('d', opts.path);\n}\n\n/**\n * Get axis position in px, that is the distance for the graph's\n * top (left) edge for x (y) axes.\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} side\n * if anchored:\n * - {object} _anchorAxis\n * Otherwise:\n * - {number} position\n * @return {number}\n */\naxes.getPxPosition = function(gd, ax) {\n var gs = gd._fullLayout._size;\n var axLetter = ax._id.charAt(0);\n var side = ax.side;\n var anchorAxis;\n\n if(ax.anchor !== 'free') {\n anchorAxis = ax._anchorAxis;\n } else if(axLetter === 'x') {\n anchorAxis = {\n _offset: gs.t + (1 - (ax.position || 0)) * gs.h,\n _length: 0\n };\n } else if(axLetter === 'y') {\n anchorAxis = {\n _offset: gs.l + (ax.position || 0) * gs.w,\n _length: 0\n };\n }\n\n if(side === 'top' || side === 'left') {\n return anchorAxis._offset;\n } else if(side === 'bottom' || side === 'right') {\n return anchorAxis._offset + anchorAxis._length;\n }\n};\n\n/**\n * Approximate axis title depth (w/o computing its bounding box)\n *\n * @param {object} ax (full) axis object\n * - {string} title.text\n * - {number} title.font.size\n * - {number} title.standoff\n * @return {number} (in px)\n */\nfunction approxTitleDepth(ax) {\n var fontSize = ax.title.font.size;\n var extraLines = (ax.title.text.match(svgTextUtils.BR_TAG_ALL) || []).length;\n if(ax.title.hasOwnProperty('standoff')) {\n return extraLines ?\n fontSize * (CAP_SHIFT + (extraLines * LINE_SPACING)) :\n fontSize * CAP_SHIFT;\n } else {\n return extraLines ?\n fontSize * (extraLines + 1) * LINE_SPACING :\n fontSize;\n }\n}\n\n/**\n * Draw axis title, compute default standoff if necessary\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} _name\n * - {string} side\n * - {number} title.font.size\n * - {object} _selections\n *\n * - {number} _depth\n * - {number} title.standoff\n * OR\n * - {number} linewidth\n * - {boolean} showticklabels\n */\nfunction drawTitle(gd, ax) {\n var fullLayout = gd._fullLayout;\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var fontSize = ax.title.font.size;\n\n var titleStandoff;\n\n if(ax.title.hasOwnProperty('standoff')) {\n titleStandoff = ax._depth + ax.title.standoff + approxTitleDepth(ax);\n } else {\n if(ax.type === 'multicategory') {\n titleStandoff = ax._depth;\n } else {\n var offsetBase = 1.5;\n titleStandoff = 10 + fontSize * offsetBase + (ax.linewidth ? ax.linewidth - 1 : 0);\n }\n\n if(axLetter === 'x') {\n titleStandoff += ax.side === 'top' ?\n fontSize * (ax.showticklabels ? 1 : 0) :\n fontSize * (ax.showticklabels ? 1.5 : 0.5);\n } else {\n titleStandoff += ax.side === 'right' ?\n fontSize * (ax.showticklabels ? 1 : 0.5) :\n fontSize * (ax.showticklabels ? 0.5 : 0);\n }\n }\n\n var pos = axes.getPxPosition(gd, ax);\n var transform, x, y;\n\n if(axLetter === 'x') {\n x = ax._offset + ax._length / 2;\n y = (ax.side === 'top') ? pos - titleStandoff : pos + titleStandoff;\n } else {\n y = ax._offset + ax._length / 2;\n x = (ax.side === 'right') ? pos + titleStandoff : pos - titleStandoff;\n transform = {rotate: '-90', offset: 0};\n }\n\n var avoid;\n\n if(ax.type !== 'multicategory') {\n var tickLabels = ax._selections[ax._id + 'tick'];\n\n avoid = {\n selection: tickLabels,\n side: ax.side\n };\n\n if(tickLabels && tickLabels.node() && tickLabels.node().parentNode) {\n var translation = Drawing.getTranslate(tickLabels.node().parentNode);\n avoid.offsetLeft = translation.x;\n avoid.offsetTop = translation.y;\n }\n\n if(ax.title.hasOwnProperty('standoff')) {\n avoid.pad = 0;\n }\n }\n\n return Titles.draw(gd, axId + 'title', {\n propContainer: ax,\n propName: ax._name + '.title.text',\n placeholder: fullLayout._dfltTitle[axLetter],\n avoid: avoid,\n transform: transform,\n attributes: {x: x, y: y, 'text-anchor': 'middle'}\n });\n}\n\naxes.shouldShowZeroLine = function(gd, ax, counterAxis) {\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n return (\n (rng[0] * rng[1] <= 0) &&\n ax.zeroline &&\n (ax.type === 'linear' || ax.type === '-') &&\n (\n clipEnds(ax, 0) ||\n !anyCounterAxLineAtZero(gd, ax, counterAxis, rng) ||\n hasBarsOrFill(gd, ax)\n )\n );\n};\n\naxes.clipEnds = function(ax, vals) {\n return vals.filter(function(d) { return clipEnds(ax, d.x); });\n};\n\nfunction clipEnds(ax, l) {\n var p = ax.l2p(l);\n return (p > 1 && p < ax._length - 1);\n}\n\nfunction anyCounterAxLineAtZero(gd, ax, counterAxis, rng) {\n var mainCounterAxis = counterAxis._mainAxis;\n if(!mainCounterAxis) return;\n\n var fullLayout = gd._fullLayout;\n var axLetter = ax._id.charAt(0);\n var counterLetter = axes.counterLetter(ax._id);\n\n var zeroPosition = ax._offset + (\n ((Math.abs(rng[0]) < Math.abs(rng[1])) === (axLetter === 'x')) ?\n 0 : ax._length\n );\n\n function lineNearZero(ax2) {\n if(!ax2.showline || !ax2.linewidth) return false;\n var tolerance = Math.max((ax2.linewidth + ax.zerolinewidth) / 2, 1);\n\n function closeEnough(pos2) {\n return typeof pos2 === 'number' && Math.abs(pos2 - zeroPosition) < tolerance;\n }\n\n if(closeEnough(ax2._mainLinePosition) || closeEnough(ax2._mainMirrorPosition)) {\n return true;\n }\n var linePositions = ax2._linepositions || {};\n for(var k in linePositions) {\n if(closeEnough(linePositions[k][0]) || closeEnough(linePositions[k][1])) {\n return true;\n }\n }\n }\n\n var plotinfo = fullLayout._plots[counterAxis._mainSubplot];\n if(!(plotinfo.mainplotinfo || plotinfo).overlays.length) {\n return lineNearZero(counterAxis, zeroPosition);\n }\n\n var counterLetterAxes = axes.list(gd, counterLetter);\n for(var i = 0; i < counterLetterAxes.length; i++) {\n var counterAxis2 = counterLetterAxes[i];\n if(\n counterAxis2._mainAxis === mainCounterAxis &&\n lineNearZero(counterAxis2, zeroPosition)\n ) {\n return true;\n }\n }\n}\n\nfunction hasBarsOrFill(gd, ax) {\n var fullData = gd._fullData;\n var subplot = ax._mainSubplot;\n var axLetter = ax._id.charAt(0);\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n\n if(trace.visible === true && (trace.xaxis + trace.yaxis) === subplot) {\n if(\n Registry.traceIs(trace, 'bar-like') &&\n trace.orientation === {x: 'h', y: 'v'}[axLetter]\n ) return true;\n\n if(\n trace.fill &&\n trace.fill.charAt(trace.fill.length - 1) === axLetter\n ) return true;\n }\n }\n return false;\n}\n\nfunction selectTickLabel(gTick) {\n var s = d3.select(gTick);\n var mj = s.select('.text-math-group');\n return mj.empty() ? s.select('text') : mj;\n}\n\n/**\n * Find all margin pushers for 2D axes and reserve them for later use\n * Both label and rangeslider automargin calculations happen later so\n * we need to explicitly allow their ids in order to not delete them.\n *\n * TODO: can we pull the actual automargin calls forward to avoid this hack?\n * We're probably also doing multiple redraws in this case, would be faster\n * if we can just do the whole calculation ahead of time and draw once.\n */\naxes.allowAutoMargin = function(gd) {\n var axList = axes.list(gd, '', true);\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n if(ax.automargin) {\n Plots.allowAutoMargin(gd, axAutoMarginID(ax));\n if(ax.mirror) {\n Plots.allowAutoMargin(gd, axMirrorAutoMarginID(ax));\n }\n }\n if(Registry.getComponentMethod('rangeslider', 'isVisible')(ax)) {\n Plots.allowAutoMargin(gd, rangeSliderAutoMarginID(ax));\n }\n }\n};\n\nfunction axAutoMarginID(ax) { return ax._id + '.automargin'; }\nfunction axMirrorAutoMarginID(ax) { return axAutoMarginID(ax) + '.mirror'; }\nfunction rangeSliderAutoMarginID(ax) { return ax._id + '.rangeslider'; }\n\n// swap all the presentation attributes of the axes showing these traces\naxes.swap = function(gd, traces) {\n var axGroups = makeAxisGroups(gd, traces);\n\n for(var i = 0; i < axGroups.length; i++) {\n swapAxisGroup(gd, axGroups[i].x, axGroups[i].y);\n }\n};\n\nfunction makeAxisGroups(gd, traces) {\n var groups = [];\n var i, j;\n\n for(i = 0; i < traces.length; i++) {\n var groupsi = [];\n var xi = gd._fullData[traces[i]].xaxis;\n var yi = gd._fullData[traces[i]].yaxis;\n if(!xi || !yi) continue; // not a 2D cartesian trace?\n\n for(j = 0; j < groups.length; j++) {\n if(groups[j].x.indexOf(xi) !== -1 || groups[j].y.indexOf(yi) !== -1) {\n groupsi.push(j);\n }\n }\n\n if(!groupsi.length) {\n groups.push({x: [xi], y: [yi]});\n continue;\n }\n\n var group0 = groups[groupsi[0]];\n var groupj;\n\n if(groupsi.length > 1) {\n for(j = 1; j < groupsi.length; j++) {\n groupj = groups[groupsi[j]];\n mergeAxisGroups(group0.x, groupj.x);\n mergeAxisGroups(group0.y, groupj.y);\n }\n }\n mergeAxisGroups(group0.x, [xi]);\n mergeAxisGroups(group0.y, [yi]);\n }\n\n return groups;\n}\n\nfunction mergeAxisGroups(intoSet, fromSet) {\n for(var i = 0; i < fromSet.length; i++) {\n if(intoSet.indexOf(fromSet[i]) === -1) intoSet.push(fromSet[i]);\n }\n}\n\nfunction swapAxisGroup(gd, xIds, yIds) {\n var xFullAxes = [];\n var yFullAxes = [];\n var layout = gd.layout;\n var i, j;\n\n for(i = 0; i < xIds.length; i++) xFullAxes.push(axes.getFromId(gd, xIds[i]));\n for(i = 0; i < yIds.length; i++) yFullAxes.push(axes.getFromId(gd, yIds[i]));\n\n var allAxKeys = Object.keys(axAttrs);\n\n var noSwapAttrs = [\n 'anchor', 'domain', 'overlaying', 'position', 'side', 'tickangle', 'editType'\n ];\n var numericTypes = ['linear', 'log'];\n\n for(i = 0; i < allAxKeys.length; i++) {\n var keyi = allAxKeys[i];\n var xVal = xFullAxes[0][keyi];\n var yVal = yFullAxes[0][keyi];\n var allEqual = true;\n var coerceLinearX = false;\n var coerceLinearY = false;\n if(keyi.charAt(0) === '_' || typeof xVal === 'function' ||\n noSwapAttrs.indexOf(keyi) !== -1) {\n continue;\n }\n for(j = 1; j < xFullAxes.length && allEqual; j++) {\n var xVali = xFullAxes[j][keyi];\n if(keyi === 'type' && numericTypes.indexOf(xVal) !== -1 &&\n numericTypes.indexOf(xVali) !== -1 && xVal !== xVali) {\n // type is special - if we find a mixture of linear and log,\n // coerce them all to linear on flipping\n coerceLinearX = true;\n } else if(xVali !== xVal) allEqual = false;\n }\n for(j = 1; j < yFullAxes.length && allEqual; j++) {\n var yVali = yFullAxes[j][keyi];\n if(keyi === 'type' && numericTypes.indexOf(yVal) !== -1 &&\n numericTypes.indexOf(yVali) !== -1 && yVal !== yVali) {\n // type is special - if we find a mixture of linear and log,\n // coerce them all to linear on flipping\n coerceLinearY = true;\n } else if(yFullAxes[j][keyi] !== yVal) allEqual = false;\n }\n if(allEqual) {\n if(coerceLinearX) layout[xFullAxes[0]._name].type = 'linear';\n if(coerceLinearY) layout[yFullAxes[0]._name].type = 'linear';\n swapAxisAttrs(layout, keyi, xFullAxes, yFullAxes, gd._fullLayout._dfltTitle);\n }\n }\n\n // now swap x&y for any annotations anchored to these x & y\n for(i = 0; i < gd._fullLayout.annotations.length; i++) {\n var ann = gd._fullLayout.annotations[i];\n if(xIds.indexOf(ann.xref) !== -1 &&\n yIds.indexOf(ann.yref) !== -1) {\n Lib.swapAttrs(layout.annotations[i], ['?']);\n }\n }\n}\n\nfunction swapAxisAttrs(layout, key, xFullAxes, yFullAxes, dfltTitle) {\n // in case the value is the default for either axis,\n // look at the first axis in each list and see if\n // this key's value is undefined\n var np = Lib.nestedProperty;\n var xVal = np(layout[xFullAxes[0]._name], key).get();\n var yVal = np(layout[yFullAxes[0]._name], key).get();\n var i;\n\n if(key === 'title') {\n // special handling of placeholder titles\n if(xVal && xVal.text === dfltTitle.x) {\n xVal.text = dfltTitle.y;\n }\n if(yVal && yVal.text === dfltTitle.y) {\n yVal.text = dfltTitle.x;\n }\n }\n\n for(i = 0; i < xFullAxes.length; i++) {\n np(layout, xFullAxes[i]._name + '.' + key).set(yVal);\n }\n for(i = 0; i < yFullAxes.length; i++) {\n np(layout, yFullAxes[i]._name + '.' + key).set(xVal);\n }\n}\n\nfunction isAngular(ax) {\n return ax._id === 'angularaxis';\n}\n\n\n/***/ }),\n\n/***/ \"0648\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 300es builtins/reserved words that were previously valid in v100\r\nvar v100 = __webpack_require__(\"5ecd\")\r\n\r\n// The texture2D|Cube functions have been removed\r\n// And the gl_ features are updated\r\nv100 = v100.slice().filter(function (b) {\r\n return !/^(gl\\_|texture)/.test(b)\r\n})\r\n\r\nmodule.exports = v100.concat([\r\n // the updated gl_ constants\r\n 'gl_VertexID'\r\n , 'gl_InstanceID'\r\n , 'gl_Position'\r\n , 'gl_PointSize'\r\n , 'gl_FragCoord'\r\n , 'gl_FrontFacing'\r\n , 'gl_FragDepth'\r\n , 'gl_PointCoord'\r\n , 'gl_MaxVertexAttribs'\r\n , 'gl_MaxVertexUniformVectors'\r\n , 'gl_MaxVertexOutputVectors'\r\n , 'gl_MaxFragmentInputVectors'\r\n , 'gl_MaxVertexTextureImageUnits'\r\n , 'gl_MaxCombinedTextureImageUnits'\r\n , 'gl_MaxTextureImageUnits'\r\n , 'gl_MaxFragmentUniformVectors'\r\n , 'gl_MaxDrawBuffers'\r\n , 'gl_MinProgramTexelOffset'\r\n , 'gl_MaxProgramTexelOffset'\r\n , 'gl_DepthRangeParameters'\r\n , 'gl_DepthRange'\r\n\r\n // other builtins\r\n , 'trunc'\r\n , 'round'\r\n , 'roundEven'\r\n , 'isnan'\r\n , 'isinf'\r\n , 'floatBitsToInt'\r\n , 'floatBitsToUint'\r\n , 'intBitsToFloat'\r\n , 'uintBitsToFloat'\r\n , 'packSnorm2x16'\r\n , 'unpackSnorm2x16'\r\n , 'packUnorm2x16'\r\n , 'unpackUnorm2x16'\r\n , 'packHalf2x16'\r\n , 'unpackHalf2x16'\r\n , 'outerProduct'\r\n , 'transpose'\r\n , 'determinant'\r\n , 'inverse'\r\n , 'texture'\r\n , 'textureSize'\r\n , 'textureProj'\r\n , 'textureLod'\r\n , 'textureOffset'\r\n , 'texelFetch'\r\n , 'texelFetchOffset'\r\n , 'textureProjOffset'\r\n , 'textureLodOffset'\r\n , 'textureProjLod'\r\n , 'textureProjLodOffset'\r\n , 'textureGrad'\r\n , 'textureGradOffset'\r\n , 'textureProjGrad'\r\n , 'textureProjGradOffset'\r\n])\r\n\n\n/***/ }),\n\n/***/ \"0681\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// Maybe add kernels more down the road,\n// but note that the default `spanmode: 'soft'` bounds might have\n// to become kernel-dependent\nvar kernels = {\n gaussian: function(v) {\n return (1 / Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * v * v);\n }\n};\n\nexports.makeKDE = function(calcItem, trace, vals) {\n var len = vals.length;\n var kernel = kernels.gaussian;\n var bandwidth = calcItem.bandwidth;\n var factor = 1 / (len * bandwidth);\n\n // don't use Lib.aggNums to skip isNumeric checks\n return function(x) {\n var sum = 0;\n for(var i = 0; i < len; i++) {\n sum += kernel((x - vals[i]) / bandwidth);\n }\n return factor * sum;\n };\n};\n\nexports.getPositionOnKdePath = function(calcItem, trace, valuePx) {\n var posLetter, valLetter;\n\n if(trace.orientation === 'h') {\n posLetter = 'y';\n valLetter = 'x';\n } else {\n posLetter = 'x';\n valLetter = 'y';\n }\n\n var pointOnPath = Lib.findPointOnPath(\n calcItem.path,\n valuePx,\n valLetter,\n {pathLength: calcItem.pathLength}\n );\n\n var posCenterPx = calcItem.posCenterPx;\n var posOnPath0 = pointOnPath[posLetter];\n var posOnPath1 = trace.side === 'both' ?\n 2 * posCenterPx - posOnPath0 :\n posCenterPx;\n\n return [posOnPath0, posOnPath1];\n};\n\nexports.getKdeValue = function(calcItem, trace, valueDist) {\n var vals = calcItem.pts.map(exports.extractVal);\n var kde = exports.makeKDE(calcItem, trace, vals);\n return kde(valueDist) / calcItem.posDensityScale;\n};\n\nexports.extractVal = function(o) { return o.v; };\n\n\n/***/ }),\n\n/***/ \"06a2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar clear = __webpack_require__(\"a671d\")\n , assign = __webpack_require__(\"2031\")\n , callable = __webpack_require__(\"1a94\")\n , value = __webpack_require__(\"96ae\")\n , d = __webpack_require__(\"f508\")\n , autoBind = __webpack_require__(\"986b\")\n , Symbol = __webpack_require__(\"1c4a\");\n\nvar defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, Iterator;\n\nmodule.exports = Iterator = function (list, context) {\n\tif (!(this instanceof Iterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tdefineProperties(this, {\n\t\t__list__: d(\"w\", value(list)),\n\t\t__context__: d(\"w\", context),\n\t\t__nextIndex__: d(\"w\", 0)\n\t});\n\tif (!context) return;\n\tcallable(context.on);\n\tcontext.on(\"_add\", this._onAdd);\n\tcontext.on(\"_delete\", this._onDelete);\n\tcontext.on(\"_clear\", this._onClear);\n};\n\n// Internal %IteratorPrototype% doesn't expose its constructor\ndelete Iterator.prototype.constructor;\n\ndefineProperties(\n\tIterator.prototype,\n\tassign(\n\t\t{\n\t\t\t_next: d(function () {\n\t\t\t\tvar i;\n\t\t\t\tif (!this.__list__) return undefined;\n\t\t\t\tif (this.__redo__) {\n\t\t\t\t\ti = this.__redo__.shift();\n\t\t\t\t\tif (i !== undefined) return i;\n\t\t\t\t}\n\t\t\t\tif (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++;\n\t\t\t\tthis._unBind();\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t\tnext: d(function () {\n\t\t\t\treturn this._createResult(this._next());\n\t\t\t}),\n\t\t\t_createResult: d(function (i) {\n\t\t\t\tif (i === undefined) return { done: true, value: undefined };\n\t\t\t\treturn { done: false, value: this._resolve(i) };\n\t\t\t}),\n\t\t\t_resolve: d(function (i) {\n\t\t\t\treturn this.__list__[i];\n\t\t\t}),\n\t\t\t_unBind: d(function () {\n\t\t\t\tthis.__list__ = null;\n\t\t\t\tdelete this.__redo__;\n\t\t\t\tif (!this.__context__) return;\n\t\t\t\tthis.__context__.off(\"_add\", this._onAdd);\n\t\t\t\tthis.__context__.off(\"_delete\", this._onDelete);\n\t\t\t\tthis.__context__.off(\"_clear\", this._onClear);\n\t\t\t\tthis.__context__ = null;\n\t\t\t}),\n\t\t\ttoString: d(function () {\n\t\t\t\treturn \"[object \" + (this[Symbol.toStringTag] || \"Object\") + \"]\";\n\t\t\t})\n\t\t},\n\t\tautoBind({\n\t\t\t_onAdd: d(function (index) {\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t++this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) {\n\t\t\t\t\tdefineProperty(this, \"__redo__\", d(\"c\", [index]));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.__redo__.forEach(function (redo, i) {\n\t\t\t\t\tif (redo >= index) this.__redo__[i] = ++redo;\n\t\t\t\t}, this);\n\t\t\t\tthis.__redo__.push(index);\n\t\t\t}),\n\t\t\t_onDelete: d(function (index) {\n\t\t\t\tvar i;\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t--this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) return;\n\t\t\t\ti = this.__redo__.indexOf(index);\n\t\t\t\tif (i !== -1) this.__redo__.splice(i, 1);\n\t\t\t\tthis.__redo__.forEach(function (redo, j) {\n\t\t\t\t\tif (redo > index) this.__redo__[j] = --redo;\n\t\t\t\t}, this);\n\t\t\t}),\n\t\t\t_onClear: d(function () {\n\t\t\t\tif (this.__redo__) clear.call(this.__redo__);\n\t\t\t\tthis.__nextIndex__ = 0;\n\t\t\t})\n\t\t})\n\t)\n);\n\ndefineProperty(\n\tIterator.prototype,\n\tSymbol.iterator,\n\td(function () {\n\t\treturn this;\n\t})\n);\n\n\n/***/ }),\n\n/***/ \"06ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"60dc\");\n\nfunction _supply(layoutIn, layoutOut, fullData, coerce, traceType) {\n var category = traceType + 'Layout';\n var hasTraceType = false;\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n\n if(Registry.traceIs(trace, category)) {\n hasTraceType = true;\n break;\n }\n }\n if(!hasTraceType) return;\n\n coerce(traceType + 'mode');\n coerce(traceType + 'gap');\n coerce(traceType + 'groupgap');\n}\n\nfunction supplyLayoutDefaults(layoutIn, layoutOut, fullData) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n _supply(layoutIn, layoutOut, fullData, coerce, 'box');\n}\n\nmodule.exports = {\n supplyLayoutDefaults: supplyLayoutDefaults,\n _supply: _supply\n};\n\n\n/***/ }),\n\n/***/ \"06cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar has = __webpack_require__(\"5135\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"0cfb\");\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/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/***/ \"075f\":\n/***/ (function(module, exports) {\n\nvar DEFAULT_NORMALS_EPSILON = 1e-6;\nvar DEFAULT_FACE_EPSILON = 1e-6;\n\n//Estimate the vertex normals of a mesh\nexports.vertexNormals = function(faces, positions, specifiedEpsilon) {\n\n var N = positions.length;\n var normals = new Array(N);\n var epsilon = specifiedEpsilon === void(0) ? DEFAULT_NORMALS_EPSILON : specifiedEpsilon;\n\n //Initialize normal array\n for(var i=0; i epsilon) {\n var norm = normals[c];\n var w = 1.0 / Math.sqrt(m01 * m21);\n for(var k=0; k<3; ++k) {\n var u = (k+1)%3;\n var v = (k+2)%3;\n norm[k] += w * (d21[u] * d01[v] - d21[v] * d01[u]);\n }\n }\n }\n }\n\n //Scale all normals to unit length\n for(var i=0; i epsilon) {\n var w = 1.0 / Math.sqrt(m);\n for(var k=0; k<3; ++k) {\n norm[k] *= w;\n }\n } else {\n for(var k=0; k<3; ++k) {\n norm[k] = 0.0;\n }\n }\n }\n\n //Return the resulting set of patches\n return normals;\n}\n\n//Compute face normals of a mesh\nexports.faceNormals = function(faces, positions, specifiedEpsilon) {\n\n var N = faces.length;\n var normals = new Array(N);\n var epsilon = specifiedEpsilon === void(0) ? DEFAULT_FACE_EPSILON : specifiedEpsilon;\n\n for(var i=0; i epsilon) {\n l = 1.0 / Math.sqrt(l);\n } else {\n l = 0.0;\n }\n for(var j=0; j<3; ++j) {\n n[j] *= l;\n }\n normals[i] = n;\n }\n return normals;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"076f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nmodule.exports = function handleXYDefaults(traceIn, traceOut, layout, coerce) {\n var x = coerce('x');\n var y = coerce('y');\n var len;\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y'], layout);\n\n if(x) {\n var xlen = Lib.minRowLength(x);\n if(y) {\n len = Math.min(xlen, Lib.minRowLength(y));\n } else {\n len = xlen;\n coerce('y0');\n coerce('dy');\n }\n } else {\n if(!y) return 0;\n\n len = Lib.minRowLength(y);\n coerce('x0');\n coerce('dx');\n }\n\n traceOut._length = len;\n\n return len;\n};\n\n\n/***/ }),\n\n/***/ \"078e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar Scene2D = __webpack_require__(\"e212\");\nvar layoutGlobalAttrs = __webpack_require__(\"a685\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar constants = __webpack_require__(\"d301\");\nvar Cartesian = __webpack_require__(\"91cd\");\nvar fxAttrs = __webpack_require__(\"927d\");\nvar getSubplotData = __webpack_require__(\"ad62\").getSubplotData;\n\nexports.name = 'gl2d';\n\nexports.attr = ['xaxis', 'yaxis'];\n\nexports.idRoot = ['x', 'y'];\n\nexports.idRegex = constants.idRegex;\n\nexports.attrRegex = constants.attrRegex;\n\nexports.attributes = __webpack_require__(\"3ff7\");\n\nexports.supplyLayoutDefaults = function(layoutIn, layoutOut, fullData) {\n if(!layoutOut._has('cartesian')) {\n Cartesian.supplyLayoutDefaults(layoutIn, layoutOut, fullData);\n }\n};\n\n// gl2d uses svg axis attributes verbatim, but overrides editType\n// this could potentially be just `layoutAttributes` but it would\n// still need special handling somewhere to give it precedence over\n// the svg version when both are in use on one plot\nexports.layoutAttrOverrides = overrideAll(Cartesian.layoutAttributes, 'plot', 'from-root');\n\n// similar overrides for base plot attributes (and those added by components)\nexports.baseLayoutAttrOverrides = overrideAll({\n plot_bgcolor: layoutGlobalAttrs.plot_bgcolor,\n hoverlabel: fxAttrs.hoverlabel\n // dragmode needs calc but only when transitioning TO lasso or select\n // so for now it's left inside _relayout\n // dragmode: fxAttrs.dragmode\n}, 'plot', 'nested');\n\nexports.plot = function plot(gd) {\n var fullLayout = gd._fullLayout;\n var fullData = gd._fullData;\n var subplotIds = fullLayout._subplots.gl2d;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotId = subplotIds[i];\n var subplotObj = fullLayout._plots[subplotId];\n var fullSubplotData = getSubplotData(fullData, 'gl2d', subplotId);\n\n // ref. to corresp. Scene instance\n var scene = subplotObj._scene2d;\n\n // If Scene is not instantiated, create one!\n if(scene === undefined) {\n scene = new Scene2D({\n id: subplotId,\n graphDiv: gd,\n container: gd.querySelector('.gl-container'),\n staticPlot: gd._context.staticPlot,\n plotGlPixelRatio: gd._context.plotGlPixelRatio\n },\n fullLayout\n );\n\n // set ref to Scene instance\n subplotObj._scene2d = scene;\n }\n\n scene.plot(fullSubplotData, gd.calcdata, fullLayout, gd.layout);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var oldSceneKeys = oldFullLayout._subplots.gl2d || [];\n\n for(var i = 0; i < oldSceneKeys.length; i++) {\n var id = oldSceneKeys[i];\n var oldSubplot = oldFullLayout._plots[id];\n\n // old subplot wasn't gl2d; nothing to do\n if(!oldSubplot._scene2d) continue;\n\n // if no traces are present, delete gl2d subplot\n var subplotData = getSubplotData(newFullData, 'gl2d', id);\n if(subplotData.length === 0) {\n oldSubplot._scene2d.destroy();\n delete oldFullLayout._plots[id];\n }\n }\n\n // since we use cartesian interactions, do cartesian clean\n Cartesian.clean.apply(this, arguments);\n};\n\nexports.drawFramework = function(gd) {\n if(!gd._context.staticPlot) {\n Cartesian.drawFramework(gd);\n }\n};\n\nexports.toSVG = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots.gl2d;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplot = fullLayout._plots[subplotIds[i]];\n var scene = subplot._scene2d;\n\n var imageData = scene.toImage('png');\n var image = fullLayout._glimages.append('svg:image');\n\n image.attr({\n xmlns: xmlnsNamespaces.svg,\n 'xlink:href': imageData,\n x: 0,\n y: 0,\n width: '100%',\n height: '100%',\n preserveAspectRatio: 'none'\n });\n\n scene.destroy();\n }\n};\n\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots.gl2d;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotObj = fullLayout._plots[subplotIds[i]]._scene2d;\n subplotObj.updateFx(fullLayout.dragmode);\n }\n};\n\n\n/***/ }),\n\n/***/ \"07db\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar sprintf = __webpack_require__(\"e19f\").sprintf;\nvar glConstants = __webpack_require__(\"b42a\");\nvar shaderName = __webpack_require__(\"b2dd\");\nvar addLineNumbers = __webpack_require__(\"911e\");\n\nmodule.exports = formatCompilerError;\n\nfunction formatCompilerError(errLog, src, type) {\n \"use strict\";\n\n var name = shaderName(src) || 'of unknown name (see npm glsl-shader-name)';\n\n var typeName = 'unknown type';\n if (type !== undefined) {\n typeName = type === glConstants.FRAGMENT_SHADER ? 'fragment' : 'vertex'\n }\n\n var longForm = sprintf('Error compiling %s shader %s:\\n', typeName, name);\n var shortForm = sprintf(\"%s%s\", longForm, errLog);\n\n var errorStrings = errLog.split('\\n');\n var errors = {};\n\n for (var i = 0; i < errorStrings.length; i++) {\n var errorString = errorStrings[i];\n if (errorString === '' || errorString === \"\\0\") continue;\n var lineNo = parseInt(errorString.split(':')[2]);\n if (isNaN(lineNo)) {\n throw new Error(sprintf('Could not parse error: %s', errorString));\n }\n errors[lineNo] = errorString;\n }\n\n var lines = addLineNumbers(src).split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n if (!errors[i+3] && !errors[i+2] && !errors[i+1]) continue;\n var line = lines[i];\n longForm += line + '\\n';\n if (errors[i+1]) {\n var e = errors[i+1];\n e = e.substr(e.split(':', 3).join(':').length + 1).trim();\n longForm += sprintf('^^^ %s\\n\\n', e);\n }\n }\n\n return {\n long: longForm.trim(),\n short: shortForm.trim()\n };\n}\n\n\n\n/***/ }),\n\n/***/ \"07dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\nvar attributes = __webpack_require__(\"a08c\");\nvar colorscaleDefaults = __webpack_require__(\"4183\");\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n supplyIsoDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n}\n\nfunction supplyIsoDefaults(traceIn, traceOut, defaultColor, layout, coerce) {\n var isomin = coerce('isomin');\n var isomax = coerce('isomax');\n\n if(isomax !== undefined && isomax !== null &&\n isomin !== undefined && isomin !== null &&\n isomin > isomax) {\n // applying default values in this case:\n traceOut.isomin = null;\n traceOut.isomax = null;\n }\n\n var x = coerce('x');\n var y = coerce('y');\n var z = coerce('z');\n var value = coerce('value');\n\n if(\n !x || !x.length ||\n !y || !y.length ||\n !z || !z.length ||\n !value || !value.length\n ) {\n traceOut.visible = false;\n return;\n }\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y', 'z'], layout);\n\n ['x', 'y', 'z'].forEach(function(dim) {\n var capDim = 'caps.' + dim;\n var showCap = coerce(capDim + '.show');\n if(showCap) {\n coerce(capDim + '.fill');\n }\n\n var sliceDim = 'slices.' + dim;\n var showSlice = coerce(sliceDim + '.show');\n if(showSlice) {\n coerce(sliceDim + '.fill');\n coerce(sliceDim + '.locations');\n }\n });\n\n var showSpaceframe = coerce('spaceframe.show');\n if(showSpaceframe) {\n coerce('spaceframe.fill');\n }\n\n var showSurface = coerce('surface.show');\n if(showSurface) {\n coerce('surface.count');\n coerce('surface.fill');\n coerce('surface.pattern');\n }\n\n var showContour = coerce('contour.show');\n if(showContour) {\n coerce('contour.color');\n coerce('contour.width');\n }\n\n // Coerce remaining properties\n [\n 'text',\n 'hovertext',\n 'hovertemplate',\n 'lighting.ambient',\n 'lighting.diffuse',\n 'lighting.specular',\n 'lighting.roughness',\n 'lighting.fresnel',\n 'lighting.vertexnormalsepsilon',\n 'lighting.facenormalsepsilon',\n 'lightposition.x',\n 'lightposition.y',\n 'lightposition.z',\n 'flatshading',\n 'opacity'\n ].forEach(function(x) { coerce(x); });\n\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'c'});\n\n // disable 1D transforms (for now)\n traceOut._length = null;\n}\n\nmodule.exports = {\n supplyDefaults: supplyDefaults,\n supplyIsoDefaults: supplyIsoDefaults\n};\n\n\n/***/ }),\n\n/***/ \"0804\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// projection names to d3 function name\nexports.projNames = {\n // d3.geo.projection\n 'equirectangular': 'equirectangular',\n 'mercator': 'mercator',\n 'orthographic': 'orthographic',\n 'natural earth': 'naturalEarth',\n 'kavrayskiy7': 'kavrayskiy7',\n 'miller': 'miller',\n 'robinson': 'robinson',\n 'eckert4': 'eckert4',\n 'azimuthal equal area': 'azimuthalEqualArea',\n 'azimuthal equidistant': 'azimuthalEquidistant',\n 'conic equal area': 'conicEqualArea',\n 'conic conformal': 'conicConformal',\n 'conic equidistant': 'conicEquidistant',\n 'gnomonic': 'gnomonic',\n 'stereographic': 'stereographic',\n 'mollweide': 'mollweide',\n 'hammer': 'hammer',\n 'transverse mercator': 'transverseMercator',\n 'albers usa': 'albersUsa',\n 'winkel tripel': 'winkel3',\n 'aitoff': 'aitoff',\n 'sinusoidal': 'sinusoidal'\n};\n\n// name of the axes\nexports.axesNames = ['lonaxis', 'lataxis'];\n\n// max longitudinal angular span (EXPERIMENTAL)\nexports.lonaxisSpan = {\n 'orthographic': 180,\n 'azimuthal equal area': 360,\n 'azimuthal equidistant': 360,\n 'conic conformal': 180,\n 'gnomonic': 160,\n 'stereographic': 180,\n 'transverse mercator': 180,\n '*': 360\n};\n\n// max latitudinal angular span (EXPERIMENTAL)\nexports.lataxisSpan = {\n 'conic conformal': 150,\n 'stereographic': 179.5,\n '*': 180\n};\n\n// defaults for each scope\nexports.scopeDefaults = {\n world: {\n lonaxisRange: [-180, 180],\n lataxisRange: [-90, 90],\n projType: 'equirectangular',\n projRotate: [0, 0, 0]\n },\n usa: {\n lonaxisRange: [-180, -50],\n lataxisRange: [15, 80],\n projType: 'albers usa'\n },\n europe: {\n lonaxisRange: [-30, 60],\n lataxisRange: [30, 85],\n projType: 'conic conformal',\n projRotate: [15, 0, 0],\n projParallels: [0, 60]\n },\n asia: {\n lonaxisRange: [22, 160],\n lataxisRange: [-15, 55],\n projType: 'mercator',\n projRotate: [0, 0, 0]\n },\n africa: {\n lonaxisRange: [-30, 60],\n lataxisRange: [-40, 40],\n projType: 'mercator',\n projRotate: [0, 0, 0]\n },\n 'north america': {\n lonaxisRange: [-180, -45],\n lataxisRange: [5, 85],\n projType: 'conic conformal',\n projRotate: [-100, 0, 0],\n projParallels: [29.5, 45.5]\n },\n 'south america': {\n lonaxisRange: [-100, -30],\n lataxisRange: [-60, 15],\n projType: 'mercator',\n projRotate: [0, 0, 0]\n }\n};\n\n// angular pad to avoid rounding error around clip angles\nexports.clipPad = 1e-3;\n\n// map projection precision\nexports.precision = 0.1;\n\n// default land and water fill colors\nexports.landColor = '#F0DC82';\nexports.waterColor = '#3399FF';\n\n// locationmode to layer name\nexports.locationmodeToLayer = {\n 'ISO-3': 'countries',\n 'USA-states': 'subunits',\n 'country names': 'countries'\n};\n\n// SVG element for a sphere (use to frame maps)\nexports.sphereSVG = {type: 'Sphere'};\n\n// N.B. base layer names must be the same as in the topojson files\n\n// base layer with a fill color\nexports.fillLayers = {\n ocean: 1,\n land: 1,\n lakes: 1\n};\n\n// base layer with a only a line color\nexports.lineLayers = {\n subunits: 1,\n countries: 1,\n coastlines: 1,\n rivers: 1,\n frame: 1\n};\n\nexports.layers = [\n 'bg',\n 'ocean', 'land', 'lakes',\n 'subunits', 'countries', 'coastlines', 'rivers',\n 'lataxis', 'lonaxis', 'frame',\n 'backplot',\n 'frontplot'\n];\n\nexports.layersForChoropleth = [\n 'bg',\n 'ocean', 'land',\n 'subunits', 'countries', 'coastlines',\n 'lataxis', 'lonaxis', 'frame',\n 'backplot',\n 'rivers', 'lakes',\n 'frontplot'\n];\n\nexports.layerNameToAdjective = {\n ocean: 'ocean',\n land: 'land',\n lakes: 'lake',\n subunits: 'subunit',\n countries: 'country',\n coastlines: 'coastline',\n rivers: 'river',\n frame: 'frame'\n};\n\n\n/***/ }),\n\n/***/ \"085f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar doubleBits = __webpack_require__(\"abc0\")\n\nvar SMALLEST_DENORM = Math.pow(2, -1074)\nvar UINT_MAX = (-1)>>>0\n\nmodule.exports = nextafter\n\nfunction nextafter(x, y) {\n if(isNaN(x) || isNaN(y)) {\n return NaN\n }\n if(x === y) {\n return x\n }\n if(x === 0) {\n if(y < 0) {\n return -SMALLEST_DENORM\n } else {\n return SMALLEST_DENORM\n }\n }\n var hi = doubleBits.hi(x)\n var lo = doubleBits.lo(x)\n if((y > x) === (x > 0)) {\n if(lo === UINT_MAX) {\n hi += 1\n lo = 0\n } else {\n lo += 1\n }\n } else {\n if(lo === 0) {\n lo = UINT_MAX\n hi -= 1\n } else {\n lo -= 1\n }\n }\n return doubleBits.pack(lo, hi)\n}\n\n/***/ }),\n\n/***/ \"089c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n solid: [[], 0],\n dot: [[0.5, 1], 200],\n dash: [[0.5, 1], 50],\n longdash: [[0.5, 1], 10],\n dashdot: [[0.5, 0.625, 0.875, 1], 50],\n longdashdot: [[0.5, 0.7, 0.8, 1], 10]\n};\n\n\n/***/ }),\n\n/***/ \"08ed\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'barpolar',\n basePlotModule: __webpack_require__(\"c07c\"),\n categories: ['polar', 'bar', 'showLegend'],\n\n attributes: __webpack_require__(\"792f\"),\n layoutAttributes: __webpack_require__(\"4ce7\"),\n supplyDefaults: __webpack_require__(\"5da2\"),\n supplyLayoutDefaults: __webpack_require__(\"25f3\"),\n\n calc: __webpack_require__(\"ce20\").calc,\n crossTraceCalc: __webpack_require__(\"ce20\").crossTraceCalc,\n\n plot: __webpack_require__(\"ec16\"),\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"98e74\"),\n\n style: __webpack_require__(\"2df3\").style,\n styleOnSelect: __webpack_require__(\"2df3\").styleOnSelect,\n\n hoverPoints: __webpack_require__(\"f11b\"),\n selectPoints: __webpack_require__(\"7000\"),\n\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"0919\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar countryRegex = __webpack_require__(\"cec7\");\nvar turfArea = __webpack_require__(\"3b74\");\nvar turfCentroid = __webpack_require__(\"8dde\");\nvar turfBbox = __webpack_require__(\"409f\");\n\nvar identity = __webpack_require__(\"306c\");\nvar loggers = __webpack_require__(\"ae13\");\nvar isPlainObject = __webpack_require__(\"1385\");\nvar nestedProperty = __webpack_require__(\"74d6\");\nvar polygon = __webpack_require__(\"b68b\");\n\n// make list of all country iso3 ids from at runtime\nvar countryIds = Object.keys(countryRegex);\n\nvar locationmodeToIdFinder = {\n 'ISO-3': identity,\n 'USA-states': identity,\n 'country names': countryNameToISO3\n};\n\nfunction countryNameToISO3(countryName) {\n for(var i = 0; i < countryIds.length; i++) {\n var iso3 = countryIds[i];\n var regex = new RegExp(countryRegex[iso3]);\n\n if(regex.test(countryName.trim().toLowerCase())) return iso3;\n }\n\n loggers.log('Unrecognized country name: ' + countryName + '.');\n\n return false;\n}\n\nfunction locationToFeature(locationmode, location, features) {\n if(!location || typeof location !== 'string') return false;\n\n var locationId = locationmodeToIdFinder[locationmode](location);\n var filteredFeatures;\n var f, i;\n\n if(locationId) {\n if(locationmode === 'USA-states') {\n // Filter out features out in USA\n //\n // This is important as the Natural Earth files\n // include state/provinces from USA, Canada, Australia and Brazil\n // which have some overlay in their two-letter ids. For example,\n // 'WA' is used for both Washington state and Western Australia.\n filteredFeatures = [];\n for(i = 0; i < features.length; i++) {\n f = features[i];\n if(f.properties && f.properties.gu && f.properties.gu === 'USA') {\n filteredFeatures.push(f);\n }\n }\n } else {\n filteredFeatures = features;\n }\n\n for(i = 0; i < filteredFeatures.length; i++) {\n f = filteredFeatures[i];\n if(f.id === locationId) return f;\n }\n\n loggers.log([\n 'Location with id', locationId,\n 'does not have a matching topojson feature at this resolution.'\n ].join(' '));\n }\n\n return false;\n}\n\nfunction feature2polygons(feature) {\n var geometry = feature.geometry;\n var coords = geometry.coordinates;\n var loc = feature.id;\n\n var polygons = [];\n var appendPolygon, j, k, m;\n\n function doesCrossAntiMerdian(pts) {\n for(var l = 0; l < pts.length - 1; l++) {\n if(pts[l][0] > 0 && pts[l + 1][0] < 0) return l;\n }\n return null;\n }\n\n if(loc === 'RUS' || loc === 'FJI') {\n // Russia and Fiji have landmasses that cross the antimeridian,\n // we need to add +360 to their longitude coordinates, so that\n // polygon 'contains' doesn't get confused when crossing the antimeridian.\n //\n // Note that other countries have polygons on either side of the antimeridian\n // (e.g. some Aleutian island for the USA), but those don't confuse\n // the 'contains' method; these are skipped here.\n appendPolygon = function(_pts) {\n var pts;\n\n if(doesCrossAntiMerdian(_pts) === null) {\n pts = _pts;\n } else {\n pts = new Array(_pts.length);\n for(m = 0; m < _pts.length; m++) {\n // do not mutate calcdata[i][j].geojson !!\n pts[m] = [\n _pts[m][0] < 0 ? _pts[m][0] + 360 : _pts[m][0],\n _pts[m][1]\n ];\n }\n }\n\n polygons.push(polygon.tester(pts));\n };\n } else if(loc === 'ATA') {\n // Antarctica has a landmass that wraps around every longitudes which\n // confuses the 'contains' methods.\n appendPolygon = function(pts) {\n var crossAntiMeridianIndex = doesCrossAntiMerdian(pts);\n\n // polygon that do not cross anti-meridian need no special handling\n if(crossAntiMeridianIndex === null) {\n return polygons.push(polygon.tester(pts));\n }\n\n // stitch polygon by adding pt over South Pole,\n // so that it covers the projected region covers all latitudes\n //\n // Note that the algorithm below only works for polygons that\n // start and end on longitude -180 (like the ones built by\n // https://github.com/etpinard/sane-topojson).\n var stitch = new Array(pts.length + 1);\n var si = 0;\n\n for(m = 0; m < pts.length; m++) {\n if(m > crossAntiMeridianIndex) {\n stitch[si++] = [pts[m][0] + 360, pts[m][1]];\n } else if(m === crossAntiMeridianIndex) {\n stitch[si++] = pts[m];\n stitch[si++] = [pts[m][0], -90];\n } else {\n stitch[si++] = pts[m];\n }\n }\n\n // polygon.tester by default appends pt[0] to the points list,\n // we must remove it here, to avoid a jump in longitude from 180 to -180,\n // that would confuse the 'contains' method\n var tester = polygon.tester(stitch);\n tester.pts.pop();\n polygons.push(tester);\n };\n } else {\n // otherwise using same array ref is fine\n appendPolygon = function(pts) {\n polygons.push(polygon.tester(pts));\n };\n }\n\n switch(geometry.type) {\n case 'MultiPolygon':\n for(j = 0; j < coords.length; j++) {\n for(k = 0; k < coords[j].length; k++) {\n appendPolygon(coords[j][k]);\n }\n }\n break;\n case 'Polygon':\n for(j = 0; j < coords.length; j++) {\n appendPolygon(coords[j]);\n }\n break;\n }\n\n return polygons;\n}\n\nfunction getTraceGeojson(trace) {\n var g = trace.geojson;\n var PlotlyGeoAssets = window.PlotlyGeoAssets || {};\n var geojsonIn = typeof g === 'string' ? PlotlyGeoAssets[g] : g;\n\n // This should not happen, but just in case something goes\n // really wrong when fetching the GeoJSON\n if(!isPlainObject(geojsonIn)) {\n loggers.error('Oops ... something went wrong when fetching ' + g);\n return false;\n }\n\n return geojsonIn;\n}\n\nfunction extractTraceFeature(calcTrace) {\n var trace = calcTrace[0].trace;\n\n var geojsonIn = getTraceGeojson(trace);\n if(!geojsonIn) return false;\n\n var lookup = {};\n var featuresOut = [];\n var i;\n\n for(i = 0; i < trace._length; i++) {\n var cdi = calcTrace[i];\n if(cdi.loc || cdi.loc === 0) {\n lookup[cdi.loc] = cdi;\n }\n }\n\n function appendFeature(fIn) {\n var id = nestedProperty(fIn, trace.featureidkey || 'id').get();\n var cdi = lookup[id];\n\n if(cdi) {\n var geometry = fIn.geometry;\n\n if(geometry.type === 'Polygon' || geometry.type === 'MultiPolygon') {\n var fOut = {\n type: 'Feature',\n id: id,\n geometry: geometry,\n properties: {}\n };\n\n // Compute centroid, add it to the properties\n fOut.properties.ct = findCentroid(fOut);\n\n // Mutate in in/out features into calcdata\n cdi.fIn = fIn;\n cdi.fOut = fOut;\n\n featuresOut.push(fOut);\n } else {\n loggers.log([\n 'Location', cdi.loc, 'does not have a valid GeoJSON geometry.',\n 'Traces with locationmode *geojson-id* only support',\n '*Polygon* and *MultiPolygon* geometries.'\n ].join(' '));\n }\n }\n\n // remove key from lookup, so that we can track (if any)\n // the locations that did not have a corresponding GeoJSON feature\n delete lookup[id];\n }\n\n switch(geojsonIn.type) {\n case 'FeatureCollection':\n var featuresIn = geojsonIn.features;\n for(i = 0; i < featuresIn.length; i++) {\n appendFeature(featuresIn[i]);\n }\n break;\n case 'Feature':\n appendFeature(geojsonIn);\n break;\n default:\n loggers.warn([\n 'Invalid GeoJSON type', (geojsonIn.type || 'none') + '.',\n 'Traces with locationmode *geojson-id* only support',\n '*FeatureCollection* and *Feature* types.'\n ].join(' '));\n return false;\n }\n\n for(var loc in lookup) {\n loggers.log([\n 'Location *' + loc + '*',\n 'does not have a matching feature with id-key',\n '*' + trace.featureidkey + '*.'\n ].join(' '));\n }\n\n return featuresOut;\n}\n\n// TODO this find the centroid of the polygon of maxArea\n// (just like we currently do for geo choropleth polygons),\n// maybe instead it would make more sense to compute the centroid\n// of each polygon and consider those on hover/select\nfunction findCentroid(feature) {\n var geometry = feature.geometry;\n var poly;\n\n if(geometry.type === 'MultiPolygon') {\n var coords = geometry.coordinates;\n var maxArea = 0;\n\n for(var i = 0; i < coords.length; i++) {\n var polyi = {type: 'Polygon', coordinates: coords[i]};\n var area = turfArea.default(polyi);\n if(area > maxArea) {\n maxArea = area;\n poly = polyi;\n }\n }\n } else {\n poly = geometry;\n }\n\n return turfCentroid.default(poly).geometry.coordinates;\n}\n\nfunction fetchTraceGeoData(calcData) {\n var PlotlyGeoAssets = window.PlotlyGeoAssets || {};\n var promises = [];\n\n function fetch(url) {\n return new Promise(function(resolve, reject) {\n d3.json(url, function(err, d) {\n if(err) {\n delete PlotlyGeoAssets[url];\n var msg = err.status === 404 ?\n ('GeoJSON at URL \"' + url + '\" does not exist.') :\n ('Unexpected error while fetching from ' + url);\n return reject(new Error(msg));\n }\n\n PlotlyGeoAssets[url] = d;\n return resolve(d);\n });\n });\n }\n\n function wait(url) {\n return new Promise(function(resolve, reject) {\n var cnt = 0;\n var interval = setInterval(function() {\n if(PlotlyGeoAssets[url] && PlotlyGeoAssets[url] !== 'pending') {\n clearInterval(interval);\n return resolve(PlotlyGeoAssets[url]);\n }\n if(cnt > 100) {\n clearInterval(interval);\n return reject('Unexpected error while fetching from ' + url);\n }\n cnt++;\n }, 50);\n });\n }\n\n for(var i = 0; i < calcData.length; i++) {\n var trace = calcData[i][0].trace;\n var url = trace.geojson;\n\n if(typeof url === 'string') {\n if(!PlotlyGeoAssets[url]) {\n PlotlyGeoAssets[url] = 'pending';\n promises.push(fetch(url));\n } else if(PlotlyGeoAssets[url] === 'pending') {\n promises.push(wait(url));\n }\n }\n }\n\n return promises;\n}\n\n// TODO `turf/bbox` gives wrong result when the input feature/geometry\n// crosses the anti-meridian. We should try to implement our own bbox logic.\nfunction computeBbox(d) {\n return turfBbox.default(d);\n}\n\nmodule.exports = {\n locationToFeature: locationToFeature,\n feature2polygons: feature2polygons,\n getTraceGeojson: getTraceGeojson,\n extractTraceFeature: extractTraceFeature,\n fetchTraceGeoData: fetchTraceGeoData,\n computeBbox: computeBbox\n};\n\n\n/***/ }),\n\n/***/ \"093d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar rat = __webpack_require__(\"f7bf\")\nvar mul = __webpack_require__(\"3bd6\")\n\nmodule.exports = muls\n\nfunction muls(a, x) {\n var s = rat(x)\n var n = a.length\n var r = new Array(n)\n for(var i=0; i= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++];\n\t\treturn char;\n\t})\n});\ndefineProperty(StringIterator.prototype, Symbol.toStringTag, d(\"c\", \"String Iterator\"));\n\n\n/***/ }),\n\n/***/ \"0a3e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar identity = __webpack_require__(\"306c\");\n\nfunction wrap(d) {return [d];}\n\nmodule.exports = {\n\n // The D3 data binding concept and the General Update Pattern promotes the idea of\n // traversing into the scenegraph by using the `.data(fun, keyFun)` call.\n // The `fun` is most often a `repeat`, ie. the elements beneath a `` element need\n // access to the same data, or a `descend`, which fans a scenegraph node into a bunch of\n // of elements, e.g. points, lines, rows, requiring an array as input.\n // The role of the `keyFun` is to identify what elements are being entered/exited/updated,\n // otherwise D3 reverts to using a plain index which would screw up `transition`s.\n keyFun: function(d) {return d.key;},\n repeat: wrap,\n descend: identity,\n\n // Plotly.js uses a convention of storing the actual contents of the `calcData` as the\n // element zero of a container array. These helpers are just used for clarity as a\n // newcomer to the codebase may not know what the `[0]` is, and whether there can be further\n // elements (not atm).\n wrap: wrap,\n unwrap: function(d) {return d[0];}\n};\n\n\n/***/ }),\n\n/***/ \"0a4a\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/center.js\n/* harmony default export */ var center = (function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/constant.js\n/* harmony default export */ var constant = (function(x) {\n return function() {\n return x;\n };\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/jiggle.js\n/* harmony default export */ var jiggle = (function() {\n return (Math.random() - 0.5) * 1e-6;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/add.js\n/* harmony default export */ var add = (function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add_add(this.cover(x, y), x, y, d);\n});\n\nfunction add_add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nfunction addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add_add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/cover.js\n/* harmony default export */ var cover = (function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries donโ€™t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/data.js\n/* harmony default export */ var src_data = (function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/extent.js\n/* harmony default export */ var extent = (function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/quad.js\n/* harmony default export */ var src_quad = (function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/find.js\n\n\n/* harmony default export */ var find = (function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new src_quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant canโ€™t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new src_quad(node[3], xm, ym, x2, y2),\n new src_quad(node[2], x1, ym, xm, y2),\n new src_quad(node[1], xm, y1, x2, ym),\n new src_quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isnโ€™t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/remove.js\n/* harmony default export */ var remove = (function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n});\n\nfunction removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/root.js\n/* harmony default export */ var root = (function() {\n return this._root;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/size.js\n/* harmony default export */ var size = (function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/visit.js\n\n\n/* harmony default export */ var visit = (function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new src_quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new src_quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new src_quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new src_quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new src_quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/visitAfter.js\n\n\n/* harmony default export */ var visitAfter = (function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new src_quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new src_quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new src_quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new src_quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new src_quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/x.js\nfunction defaultX(d) {\n return d[0];\n}\n\n/* harmony default export */ var src_x = (function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/y.js\nfunction defaultY(d) {\n return d[1];\n}\n\n/* harmony default export */ var src_y = (function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/quadtree.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = add;\ntreeProto.addAll = addAll;\ntreeProto.cover = cover;\ntreeProto.data = src_data;\ntreeProto.extent = extent;\ntreeProto.find = find;\ntreeProto.remove = remove;\ntreeProto.removeAll = removeAll;\ntreeProto.root = root;\ntreeProto.size = size;\ntreeProto.visit = visit;\ntreeProto.visitAfter = visitAfter;\ntreeProto.x = src_x;\ntreeProto.y = src_y;\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/collide.js\n\n\n\n\nfunction collide_x(d) {\n return d.x + d.vx;\n}\n\nfunction collide_y(d) {\n return d.y + d.vy;\n}\n\n/* harmony default export */ var collide = (function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, collide_x, collide_y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n});\n\n// EXTERNAL MODULE: ./node_modules/d3-collection/src/index.js + 6 modules\nvar src = __webpack_require__(\"6f04\");\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/link.js\n\n\n\n\nfunction index(d) {\n return d.index;\n}\n\nfunction link_find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\n/* harmony default export */ var src_link = (function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = Object(src[\"a\" /* map */])(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = link_find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = link_find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-dispatch/src/dispatch.js\nvar noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\n/* harmony default export */ var src_dispatch = (dispatch);\n\n// CONCATENATED MODULE: ./node_modules/d3-timer/src/timer.js\nvar timer_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\nfunction now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nfunction 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\nfunction timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nfunction timerFlush() {\n now(); // Get the current time, if not already set.\n ++timer_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(null, e);\n t = t._next;\n }\n --timer_frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n timer_frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n timer_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 (timer_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 timer_frame = 1, setFrame(wake);\n }\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/simulation.js\n\n\n\n\nfunction simulation_x(d) {\n return d.x;\n}\n\nfunction simulation_y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\n/* harmony default export */ var src_simulation = (function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = Object(src[\"a\" /* map */])(),\n stepper = timer(step),\n event = src_dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function (force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/manyBody.js\n\n\n\n\n\n/* harmony default export */ var manyBody = (function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, simulation_x, simulation_y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/radial.js\n\n\n/* harmony default export */ var radial = (function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/x.js\n\n\n/* harmony default export */ var d3_force_src_x = (function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/y.js\n\n\n/* harmony default export */ var d3_force_src_y = (function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/index.js\n/* concated harmony reexport forceCenter */__webpack_require__.d(__webpack_exports__, \"forceCenter\", function() { return center; });\n/* concated harmony reexport forceCollide */__webpack_require__.d(__webpack_exports__, \"forceCollide\", function() { return collide; });\n/* concated harmony reexport forceLink */__webpack_require__.d(__webpack_exports__, \"forceLink\", function() { return src_link; });\n/* concated harmony reexport forceManyBody */__webpack_require__.d(__webpack_exports__, \"forceManyBody\", function() { return manyBody; });\n/* concated harmony reexport forceRadial */__webpack_require__.d(__webpack_exports__, \"forceRadial\", function() { return radial; });\n/* concated harmony reexport forceSimulation */__webpack_require__.d(__webpack_exports__, \"forceSimulation\", function() { return src_simulation; });\n/* concated harmony reexport forceX */__webpack_require__.d(__webpack_exports__, \"forceX\", function() { return d3_force_src_x; });\n/* concated harmony reexport forceY */__webpack_require__.d(__webpack_exports__, \"forceY\", function() { return d3_force_src_y; });\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"0adf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar convertColumnData = __webpack_require__(\"d064\");\nvar clean2dArray = __webpack_require__(\"1b6a\");\nvar interp2d = __webpack_require__(\"2d0e\");\nvar findEmpties = __webpack_require__(\"0c3a\");\nvar makeBoundArray = __webpack_require__(\"d706\");\nvar supplyDefaults = __webpack_require__(\"eb12\");\nvar lookupCarpet = __webpack_require__(\"9b68\");\nvar setContours = __webpack_require__(\"8a7d\");\n\n// most is the same as heatmap calc, then adjust it\n// though a few things inside heatmap calc still look for\n// contour maps, because the makeBoundArray calls are too entangled\nmodule.exports = function calc(gd, trace) {\n var carpet = trace._carpetTrace = lookupCarpet(gd, trace);\n if(!carpet || !carpet.visible || carpet.visible === 'legendonly') return;\n\n if(!trace.a || !trace.b) {\n // Look up the original incoming carpet data:\n var carpetdata = gd.data[carpet.index];\n\n // Look up the incoming trace data, *except* perform a shallow\n // copy so that we're not actually modifying it when we use it\n // to supply defaults:\n var tracedata = gd.data[trace.index];\n // var tracedata = extendFlat({}, gd.data[trace.index]);\n\n // If the data is not specified\n if(!tracedata.a) tracedata.a = carpetdata.a;\n if(!tracedata.b) tracedata.b = carpetdata.b;\n\n supplyDefaults(tracedata, trace, trace._defaultColor, gd._fullLayout);\n }\n\n var cd = heatmappishCalc(gd, trace);\n setContours(trace, trace._z);\n\n return cd;\n};\n\nfunction heatmappishCalc(gd, trace) {\n // prepare the raw data\n // run makeCalcdata on x and y even for heatmaps, in case of category mappings\n var carpet = trace._carpetTrace;\n var aax = carpet.aaxis;\n var bax = carpet.baxis;\n var a,\n a0,\n da,\n b,\n b0,\n db,\n z;\n\n // cancel minimum tick spacings (only applies to bars and boxes)\n aax._minDtick = 0;\n bax._minDtick = 0;\n\n if(Lib.isArray1D(trace.z)) convertColumnData(trace, aax, bax, 'a', 'b', ['z']);\n a = trace._a = trace._a || trace.a;\n b = trace._b = trace._b || trace.b;\n\n a = a ? aax.makeCalcdata(trace, '_a') : [];\n b = b ? bax.makeCalcdata(trace, '_b') : [];\n a0 = trace.a0 || 0;\n da = trace.da || 1;\n b0 = trace.b0 || 0;\n db = trace.db || 1;\n\n z = trace._z = clean2dArray(trace._z || trace.z, trace.transpose);\n\n trace._emptypoints = findEmpties(z);\n interp2d(z, trace._emptypoints);\n\n // create arrays of brick boundaries, to be used by autorange and heatmap.plot\n var xlen = Lib.maxRowLength(z);\n var xIn = trace.xtype === 'scaled' ? '' : a;\n var xArray = makeBoundArray(trace, xIn, a0, da, xlen, aax);\n var yIn = trace.ytype === 'scaled' ? '' : b;\n var yArray = makeBoundArray(trace, yIn, b0, db, z.length, bax);\n\n var cd0 = {\n a: xArray,\n b: yArray,\n z: z,\n };\n\n if(trace.contours.type === 'levels' && trace.contours.coloring !== 'none') {\n // auto-z and autocolorscale if applicable\n colorscaleCalc(gd, trace, {\n vals: z,\n containerStr: '',\n cLetter: 'z'\n });\n }\n\n return [cd0];\n}\n\n\n/***/ }),\n\n/***/ \"0af2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar calcColorscale = __webpack_require__(\"09bd\");\nvar calcMarkerSize = __webpack_require__(\"70b4\").calcMarkerSize;\nvar convert = __webpack_require__(\"c879\");\nvar Axes = __webpack_require__(\"0642\");\nvar TOO_MANY_POINTS = __webpack_require__(\"b326\").TOO_MANY_POINTS;\n\nmodule.exports = function calc(gd, trace) {\n var fullLayout = gd._fullLayout;\n var subplotId = trace.subplot;\n var radialAxis = fullLayout[subplotId].radialaxis;\n var angularAxis = fullLayout[subplotId].angularaxis;\n var rArray = trace._r = radialAxis.makeCalcdata(trace, 'r');\n var thetaArray = trace._theta = angularAxis.makeCalcdata(trace, 'theta');\n var len = trace._length;\n var stash = {};\n\n if(len < rArray.length) rArray = rArray.slice(0, len);\n if(len < thetaArray.length) thetaArray = thetaArray.slice(0, len);\n\n stash.r = rArray;\n stash.theta = thetaArray;\n\n calcColorscale(gd, trace);\n\n // only compute 'style' options in calc, as position options\n // depend on the radial range and must be set in plot\n var opts = stash.opts = convert.style(gd, trace);\n\n // For graphs with very large number of points and array marker.size,\n // use average marker size instead to speed things up.\n var ppad;\n if(len < TOO_MANY_POINTS) {\n ppad = calcMarkerSize(trace, len);\n } else if(opts.marker) {\n ppad = 2 * (opts.marker.sizeAvg || Math.max(opts.marker.size, 3));\n }\n trace._extremes.x = Axes.findExtremes(radialAxis, rArray, {ppad: ppad});\n\n return [{x: false, y: false, t: stash, trace: trace}];\n};\n\n\n/***/ }),\n\n/***/ \"0b1d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar twoProduct = __webpack_require__(\"c01c\")\nvar robustSum = __webpack_require__(\"a026\")\nvar robustDiff = __webpack_require__(\"e100\")\nvar robustScale = __webpack_require__(\"0dd1\")\n\nvar NUM_EXPAND = 6\n\nfunction cofactor(m, c) {\n var result = new Array(m.length-1)\n for(var i=1; i>1\n return [\"sum(\", generateSum(expr.slice(0, m)), \",\", generateSum(expr.slice(m)), \")\"].join(\"\")\n }\n}\n\nfunction makeProduct(a, b) {\n if(a.charAt(0) === \"m\") {\n if(b.charAt(0) === \"w\") {\n var toks = a.split(\"[\")\n return [\"w\", b.substr(1), \"m\", toks[0].substr(1)].join(\"\")\n } else {\n return [\"prod(\", a, \",\", b, \")\"].join(\"\")\n }\n } else {\n return makeProduct(b, a)\n }\n}\n\nfunction sign(s) {\n if(s & 1 !== 0) {\n return \"-\"\n }\n return \"\"\n}\n\nfunction determinant(m) {\n if(m.length === 2) {\n return [[\"diff(\", makeProduct(m[0][0], m[1][1]), \",\", makeProduct(m[1][0], m[0][1]), \")\"].join(\"\")]\n } else {\n var expr = []\n for(var i=0; i ncnt * 2);\n}\n\n// are the (x,y)-values in gd.data mostly text?\n// require twice as many DISTINCT categories as distinct numbers\nfunction category(a) {\n // test at most 1000 points\n var inc = Math.max(1, (a.length - 1) / 1000);\n var curvenums = 0;\n var curvecats = 0;\n var seen = {};\n\n for(var i = 0; i < a.length; i += inc) {\n var ai = a[Math.round(i)];\n var stri = String(ai);\n if(seen[stri]) continue;\n seen[stri] = 1;\n\n if(typeof ai === 'boolean') curvecats++;\n else if(Lib.cleanNumber(ai) !== BADNUM) curvenums++;\n else if(typeof ai === 'string') curvecats++;\n }\n\n return curvecats > curvenums * 2;\n}\n\n// very-loose requirements for multicategory,\n// trace modules that should never auto-type to multicategory\n// should be declared with 'noMultiCategory'\nfunction multiCategory(a) {\n return Lib.isArrayOrTypedArray(a[0]) && Lib.isArrayOrTypedArray(a[1]);\n}\n\n\n/***/ }),\n\n/***/ \"0b79\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n Taiwanese (Minguo) calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) February 2010.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\nvar gregorianCalendar = main.instance();\n\n/** Implementation of the Taiwanese calendar.\n See http://en.wikipedia.org/wiki/Minguo_calendar.\n @class TaiwanCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction TaiwanCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nTaiwanCalendar.prototype = new main.baseCalendar;\n\nassign(TaiwanCalendar.prototype, {\n /** The calendar name.\n @memberof TaiwanCalendar */\n name: 'Taiwan',\n /** Julian date of start of Taiwan epoch: 1 January 1912 CE (Gregorian).\n @memberof TaiwanCalendar */\n jdEpoch: 2419402.5,\n /** Difference in years between Taiwan and Gregorian calendars.\n @memberof TaiwanCalendar */\n yearsOffset: 1911,\n /** Days per month in a common year.\n @memberof TaiwanCalendar */\n daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n /** true if has a year zero, false if not.\n @memberof TaiwanCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof TaiwanCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof TaiwanCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof TaiwanCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof TaiwanCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Taiwan',\n epochs: ['BROC', 'ROC'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 1,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.leapYear(year);\n },\n\n /** Determine the week of the year for a date - ISO 8601.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.weekOfYear(year, date.month(), date.day());\n },\n\n /** Retrieve the number of days in a month.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 2 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return (this.dayOfWeek(year, month, day) || 7) < 6;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.toJD(year, date.month(), date.day());\n },\n\n /** Create a new date from a Julian date.\n @memberof TaiwanCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n var date = gregorianCalendar.fromJD(jd);\n var year = this._g2tYear(date.year());\n return this.newDate(year, date.month(), date.day());\n },\n\n /** Convert Taiwanese to Gregorian year.\n @memberof TaiwanCalendar\n @private\n @param year {number} The Taiwanese year.\n @return {number} The corresponding Gregorian year. */\n _t2gYear: function(year) {\n return year + this.yearsOffset + (year >= -this.yearsOffset && year <= -1 ? 1 : 0);\n },\n\n /** Convert Gregorian to Taiwanese year.\n @memberof TaiwanCalendar\n @private\n @param year {number} The Gregorian year.\n @return {number} The corresponding Taiwanese year. */\n _g2tYear: function(year) {\n return year - this.yearsOffset - (year >= 1 && year <= this.yearsOffset ? 1 : 0);\n }\n});\n\n// Taiwan calendar implementation\nmain.calendars.taiwan = TaiwanCalendar;\n\n\n\n/***/ }),\n\n/***/ \"0b89\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar TAU = Math.PI * 2;\n\nvar mapToEllipse = function mapToEllipse(_ref, rx, ry, cosphi, sinphi, centerx, centery) {\n var x = _ref.x,\n y = _ref.y;\n\n x *= rx;\n y *= ry;\n\n var xp = cosphi * x - sinphi * y;\n var yp = sinphi * x + cosphi * y;\n\n return {\n x: xp + centerx,\n y: yp + centery\n };\n};\n\nvar approxUnitArc = function approxUnitArc(ang1, ang2) {\n // If 90 degree circular arc, use a constant\n // as derived from http://spencermortensen.com/articles/bezier-circle\n var a = ang2 === 1.5707963267948966 ? 0.551915024494 : ang2 === -1.5707963267948966 ? -0.551915024494 : 4 / 3 * Math.tan(ang2 / 4);\n\n var x1 = Math.cos(ang1);\n var y1 = Math.sin(ang1);\n var x2 = Math.cos(ang1 + ang2);\n var y2 = Math.sin(ang1 + ang2);\n\n return [{\n x: x1 - y1 * a,\n y: y1 + x1 * a\n }, {\n x: x2 + y2 * a,\n y: y2 - x2 * a\n }, {\n x: x2,\n y: y2\n }];\n};\n\nvar vectorAngle = function vectorAngle(ux, uy, vx, vy) {\n var sign = ux * vy - uy * vx < 0 ? -1 : 1;\n\n var dot = ux * vx + uy * vy;\n\n if (dot > 1) {\n dot = 1;\n }\n\n if (dot < -1) {\n dot = -1;\n }\n\n return sign * Math.acos(dot);\n};\n\nvar getArcCenter = function getArcCenter(px, py, cx, cy, rx, ry, largeArcFlag, sweepFlag, sinphi, cosphi, pxp, pyp) {\n var rxsq = Math.pow(rx, 2);\n var rysq = Math.pow(ry, 2);\n var pxpsq = Math.pow(pxp, 2);\n var pypsq = Math.pow(pyp, 2);\n\n var radicant = rxsq * rysq - rxsq * pypsq - rysq * pxpsq;\n\n if (radicant < 0) {\n radicant = 0;\n }\n\n radicant /= rxsq * pypsq + rysq * pxpsq;\n radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1);\n\n var centerxp = radicant * rx / ry * pyp;\n var centeryp = radicant * -ry / rx * pxp;\n\n var centerx = cosphi * centerxp - sinphi * centeryp + (px + cx) / 2;\n var centery = sinphi * centerxp + cosphi * centeryp + (py + cy) / 2;\n\n var vx1 = (pxp - centerxp) / rx;\n var vy1 = (pyp - centeryp) / ry;\n var vx2 = (-pxp - centerxp) / rx;\n var vy2 = (-pyp - centeryp) / ry;\n\n var ang1 = vectorAngle(1, 0, vx1, vy1);\n var ang2 = vectorAngle(vx1, vy1, vx2, vy2);\n\n if (sweepFlag === 0 && ang2 > 0) {\n ang2 -= TAU;\n }\n\n if (sweepFlag === 1 && ang2 < 0) {\n ang2 += TAU;\n }\n\n return [centerx, centery, ang1, ang2];\n};\n\nvar arcToBezier = function arcToBezier(_ref2) {\n var px = _ref2.px,\n py = _ref2.py,\n cx = _ref2.cx,\n cy = _ref2.cy,\n rx = _ref2.rx,\n ry = _ref2.ry,\n _ref2$xAxisRotation = _ref2.xAxisRotation,\n xAxisRotation = _ref2$xAxisRotation === undefined ? 0 : _ref2$xAxisRotation,\n _ref2$largeArcFlag = _ref2.largeArcFlag,\n largeArcFlag = _ref2$largeArcFlag === undefined ? 0 : _ref2$largeArcFlag,\n _ref2$sweepFlag = _ref2.sweepFlag,\n sweepFlag = _ref2$sweepFlag === undefined ? 0 : _ref2$sweepFlag;\n\n var curves = [];\n\n if (rx === 0 || ry === 0) {\n return [];\n }\n\n var sinphi = Math.sin(xAxisRotation * TAU / 360);\n var cosphi = Math.cos(xAxisRotation * TAU / 360);\n\n var pxp = cosphi * (px - cx) / 2 + sinphi * (py - cy) / 2;\n var pyp = -sinphi * (px - cx) / 2 + cosphi * (py - cy) / 2;\n\n if (pxp === 0 && pyp === 0) {\n return [];\n }\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var lambda = Math.pow(pxp, 2) / Math.pow(rx, 2) + Math.pow(pyp, 2) / Math.pow(ry, 2);\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n\n var _getArcCenter = getArcCenter(px, py, cx, cy, rx, ry, largeArcFlag, sweepFlag, sinphi, cosphi, pxp, pyp),\n _getArcCenter2 = _slicedToArray(_getArcCenter, 4),\n centerx = _getArcCenter2[0],\n centery = _getArcCenter2[1],\n ang1 = _getArcCenter2[2],\n ang2 = _getArcCenter2[3];\n\n // If 'ang2' == 90.0000000001, then `ratio` will evaluate to\n // 1.0000000001. This causes `segments` to be greater than one, which is an\n // unecessary split, and adds extra points to the bezier curve. To alleviate\n // this issue, we round to 1.0 when the ratio is close to 1.0.\n\n\n var ratio = Math.abs(ang2) / (TAU / 4);\n if (Math.abs(1.0 - ratio) < 0.0000001) {\n ratio = 1.0;\n }\n\n var segments = Math.max(Math.ceil(ratio), 1);\n\n ang2 /= segments;\n\n for (var i = 0; i < segments; i++) {\n curves.push(approxUnitArc(ang1, ang2));\n ang1 += ang2;\n }\n\n return curves.map(function (curve) {\n var _mapToEllipse = mapToEllipse(curve[0], rx, ry, cosphi, sinphi, centerx, centery),\n x1 = _mapToEllipse.x,\n y1 = _mapToEllipse.y;\n\n var _mapToEllipse2 = mapToEllipse(curve[1], rx, ry, cosphi, sinphi, centerx, centery),\n x2 = _mapToEllipse2.x,\n y2 = _mapToEllipse2.y;\n\n var _mapToEllipse3 = mapToEllipse(curve[2], rx, ry, cosphi, sinphi, centerx, centery),\n x = _mapToEllipse3.x,\n y = _mapToEllipse3.y;\n\n return { x1: x1, y1: y1, x2: x2, y2: y2, x: x, y: y };\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arcToBezier);\n\n/***/ }),\n\n/***/ \"0c39\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar arraysToCalcdata = __webpack_require__(\"424b\");\nvar binFunctions = __webpack_require__(\"6dcc\");\nvar normFunctions = __webpack_require__(\"c005\");\nvar doAvg = __webpack_require__(\"9547\");\nvar getBinSpanLabelRound = __webpack_require__(\"5913\");\n\nfunction calc(gd, trace) {\n var pos = [];\n var size = [];\n var pa = Axes.getFromId(gd, trace.orientation === 'h' ? trace.yaxis : trace.xaxis);\n var mainData = trace.orientation === 'h' ? 'y' : 'x';\n var counterData = {x: 'y', y: 'x'}[mainData];\n var calendar = trace[mainData + 'calendar'];\n var cumulativeSpec = trace.cumulative;\n var i;\n\n var binsAndPos = calcAllAutoBins(gd, trace, pa, mainData);\n var binSpec = binsAndPos[0];\n var pos0 = binsAndPos[1];\n\n var nonuniformBins = typeof binSpec.size === 'string';\n var binEdges = [];\n var bins = nonuniformBins ? binEdges : binSpec;\n // make the empty bin array\n var inc = [];\n var counts = [];\n var inputPoints = [];\n var total = 0;\n var norm = trace.histnorm;\n var func = trace.histfunc;\n var densityNorm = norm.indexOf('density') !== -1;\n var i2, binEnd, n;\n\n if(cumulativeSpec.enabled && densityNorm) {\n // we treat \"cumulative\" like it means \"integral\" if you use a density norm,\n // which in the end means it's the same as without \"density\"\n norm = norm.replace(/ ?density$/, '');\n densityNorm = false;\n }\n\n var extremeFunc = func === 'max' || func === 'min';\n var sizeInit = extremeFunc ? null : 0;\n var binFunc = binFunctions.count;\n var normFunc = normFunctions[norm];\n var isAvg = false;\n var pr2c = function(v) { return pa.r2c(v, 0, calendar); };\n var rawCounterData;\n\n if(Lib.isArrayOrTypedArray(trace[counterData]) && func !== 'count') {\n rawCounterData = trace[counterData];\n isAvg = func === 'avg';\n binFunc = binFunctions[func];\n }\n\n // create the bins (and any extra arrays needed)\n // assume more than 1e6 bins is an error, so we don't crash the browser\n i = pr2c(binSpec.start);\n\n // decrease end a little in case of rounding errors\n binEnd = pr2c(binSpec.end) + (i - Axes.tickIncrement(i, binSpec.size, false, calendar)) / 1e6;\n\n while(i < binEnd && pos.length < 1e6) {\n i2 = Axes.tickIncrement(i, binSpec.size, false, calendar);\n pos.push((i + i2) / 2);\n size.push(sizeInit);\n inputPoints.push([]);\n // nonuniform bins (like months) we need to search,\n // rather than straight calculate the bin we're in\n binEdges.push(i);\n // nonuniform bins also need nonuniform normalization factors\n if(densityNorm) inc.push(1 / (i2 - i));\n if(isAvg) counts.push(0);\n // break to avoid infinite loops\n if(i2 <= i) break;\n i = i2;\n }\n binEdges.push(i);\n\n // for date axes we need bin bounds to be calcdata. For nonuniform bins\n // we already have this, but uniform with start/end/size they're still strings.\n if(!nonuniformBins && pa.type === 'date') {\n bins = {\n start: pr2c(bins.start),\n end: pr2c(bins.end),\n size: bins.size\n };\n }\n\n // bin the data\n // and make histogram-specific pt-number-to-cd-index map object\n var nMax = size.length;\n var uniqueValsPerBin = true;\n var leftGap = Infinity;\n var rightGap = Infinity;\n var ptNumber2cdIndex = {};\n for(i = 0; i < pos0.length; i++) {\n var posi = pos0[i];\n n = Lib.findBin(posi, bins);\n if(n >= 0 && n < nMax) {\n total += binFunc(n, i, size, rawCounterData, counts);\n if(uniqueValsPerBin && inputPoints[n].length && posi !== pos0[inputPoints[n][0]]) {\n uniqueValsPerBin = false;\n }\n inputPoints[n].push(i);\n ptNumber2cdIndex[i] = n;\n\n leftGap = Math.min(leftGap, posi - binEdges[n]);\n rightGap = Math.min(rightGap, binEdges[n + 1] - posi);\n }\n }\n\n var roundFn;\n if(!uniqueValsPerBin) {\n roundFn = getBinSpanLabelRound(leftGap, rightGap, binEdges, pa, calendar);\n }\n\n // average and/or normalize the data, if needed\n if(isAvg) total = doAvg(size, counts);\n if(normFunc) normFunc(size, total, inc);\n\n // after all normalization etc, now we can accumulate if desired\n if(cumulativeSpec.enabled) cdf(size, cumulativeSpec.direction, cumulativeSpec.currentbin);\n\n var seriesLen = Math.min(pos.length, size.length);\n var cd = [];\n var firstNonzero = 0;\n var lastNonzero = seriesLen - 1;\n\n // look for empty bins at the ends to remove, so autoscale omits them\n for(i = 0; i < seriesLen; i++) {\n if(size[i]) {\n firstNonzero = i;\n break;\n }\n }\n for(i = seriesLen - 1; i >= firstNonzero; i--) {\n if(size[i]) {\n lastNonzero = i;\n break;\n }\n }\n\n // create the \"calculated data\" to plot\n for(i = firstNonzero; i <= lastNonzero; i++) {\n if((isNumeric(pos[i]) && isNumeric(size[i]))) {\n var cdi = {\n p: pos[i],\n s: size[i],\n b: 0\n };\n\n // setup hover and event data fields,\n // N.B. pts and \"hover\" positions ph0/ph1 don't seem to make much sense\n // for cumulative distributions\n if(!cumulativeSpec.enabled) {\n cdi.pts = inputPoints[i];\n if(uniqueValsPerBin) {\n cdi.ph0 = cdi.ph1 = (inputPoints[i].length) ? pos0[inputPoints[i][0]] : pos[i];\n } else {\n cdi.ph0 = roundFn(binEdges[i]);\n cdi.ph1 = roundFn(binEdges[i + 1], true);\n }\n }\n cd.push(cdi);\n }\n }\n\n if(cd.length === 1) {\n // when we collapse to a single bin, calcdata no longer describes bin size\n // so we need to explicitly specify it\n cd[0].width1 = Axes.tickIncrement(cd[0].p, binSpec.size, false, calendar) - cd[0].p;\n }\n\n arraysToCalcdata(cd, trace);\n\n if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {\n Lib.tagSelected(cd, trace, ptNumber2cdIndex);\n }\n\n return cd;\n}\n\n/*\n * calcAllAutoBins: we want all histograms inside the same bingroup\n * (see logic in Histogram.crossTraceDefaults) to share bin specs\n *\n * If the user has explicitly specified differing\n * bin specs, there's nothing we can do, but if possible we will try to use the\n * smallest bins of any of the auto values for all histograms inside the same\n * bingroup.\n */\nfunction calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) {\n var binAttr = mainData + 'bins';\n var fullLayout = gd._fullLayout;\n var groupName = trace['_' + mainData + 'bingroup'];\n var binOpts = fullLayout._histogramBinOpts[groupName];\n var isOverlay = fullLayout.barmode === 'overlay';\n var i, traces, tracei, calendar, pos0, autoVals, cumulativeSpec;\n\n var r2c = function(v) { return pa.r2c(v, 0, calendar); };\n var c2r = function(v) { return pa.c2r(v, 0, calendar); };\n\n var cleanBound = pa.type === 'date' ?\n function(v) { return (v || v === 0) ? Lib.cleanDate(v, null, calendar) : null; } :\n function(v) { return isNumeric(v) ? Number(v) : null; };\n\n function setBound(attr, bins, newBins) {\n if(bins[attr + 'Found']) {\n bins[attr] = cleanBound(bins[attr]);\n if(bins[attr] === null) bins[attr] = newBins[attr];\n } else {\n autoVals[attr] = bins[attr] = newBins[attr];\n Lib.nestedProperty(traces[0], binAttr + '.' + attr).set(newBins[attr]);\n }\n }\n\n // all but the first trace in this group has already been marked finished\n // clear this flag, so next time we run calc we will run autobin again\n if(trace['_' + mainData + 'autoBinFinished']) {\n delete trace['_' + mainData + 'autoBinFinished'];\n } else {\n traces = binOpts.traces;\n var allPos = [];\n\n // Note: we're including `legendonly` traces here for autobin purposes,\n // so that showing & hiding from the legend won't affect bins.\n // But this complicates things a bit since those traces don't `calc`,\n // hence `isFirstVisible`.\n var isFirstVisible = true;\n var has2dMap = false;\n var hasHist2dContour = false;\n for(i = 0; i < traces.length; i++) {\n tracei = traces[i];\n\n if(tracei.visible) {\n var mainDatai = binOpts.dirs[i];\n pos0 = tracei['_' + mainDatai + 'pos0'] = pa.makeCalcdata(tracei, mainDatai);\n\n allPos = Lib.concat(allPos, pos0);\n delete tracei['_' + mainData + 'autoBinFinished'];\n\n if(trace.visible === true) {\n if(isFirstVisible) {\n isFirstVisible = false;\n } else {\n delete tracei._autoBin;\n tracei['_' + mainData + 'autoBinFinished'] = 1;\n }\n if(Registry.traceIs(tracei, '2dMap')) {\n has2dMap = true;\n }\n if(tracei.type === 'histogram2dcontour') {\n hasHist2dContour = true;\n }\n }\n }\n }\n\n calendar = traces[0][mainData + 'calendar'];\n var newBinSpec = Axes.autoBin(allPos, pa, binOpts.nbins, has2dMap, calendar, binOpts.sizeFound && binOpts.size);\n\n var autoBin = traces[0]._autoBin = {};\n autoVals = autoBin[binOpts.dirs[0]] = {};\n\n if(hasHist2dContour) {\n // the \"true\" 2nd argument reverses the tick direction (which we can't\n // just do with a minus sign because of month bins)\n if(!binOpts.size) {\n newBinSpec.start = c2r(Axes.tickIncrement(\n r2c(newBinSpec.start), newBinSpec.size, true, calendar));\n }\n if(binOpts.end === undefined) {\n newBinSpec.end = c2r(Axes.tickIncrement(\n r2c(newBinSpec.end), newBinSpec.size, false, calendar));\n }\n }\n\n // Edge case: single-valued histogram overlaying others\n // Use them all together to calculate the bin size for the single-valued one\n if(isOverlay && !Registry.traceIs(trace, '2dMap') && newBinSpec._dataSpan === 0 &&\n pa.type !== 'category' && pa.type !== 'multicategory') {\n // Several single-valued histograms! Stop infinite recursion,\n // just return an extra flag that tells handleSingleValueOverlays\n // to sort out this trace too\n if(_overlayEdgeCase) return [newBinSpec, pos0, true];\n\n newBinSpec = handleSingleValueOverlays(gd, trace, pa, mainData, binAttr);\n }\n\n // adjust for CDF edge cases\n cumulativeSpec = tracei.cumulative || {};\n if(cumulativeSpec.enabled && (cumulativeSpec.currentbin !== 'include')) {\n if(cumulativeSpec.direction === 'decreasing') {\n newBinSpec.start = c2r(Axes.tickIncrement(\n r2c(newBinSpec.start), newBinSpec.size, true, calendar));\n } else {\n newBinSpec.end = c2r(Axes.tickIncrement(\n r2c(newBinSpec.end), newBinSpec.size, false, calendar));\n }\n }\n\n binOpts.size = newBinSpec.size;\n if(!binOpts.sizeFound) {\n autoVals.size = newBinSpec.size;\n Lib.nestedProperty(traces[0], binAttr + '.size').set(newBinSpec.size);\n }\n\n setBound('start', binOpts, newBinSpec);\n setBound('end', binOpts, newBinSpec);\n }\n\n pos0 = trace['_' + mainData + 'pos0'];\n delete trace['_' + mainData + 'pos0'];\n\n // Each trace can specify its own start/end, or if omitted\n // we ensure they're beyond the bounds of this trace's data,\n // and we need to make sure start is aligned with the main start\n var traceInputBins = trace._input[binAttr] || {};\n var traceBinOptsCalc = Lib.extendFlat({}, binOpts);\n var mainStart = binOpts.start;\n var startIn = pa.r2l(traceInputBins.start);\n var hasStart = startIn !== undefined;\n if((binOpts.startFound || hasStart) && startIn !== pa.r2l(mainStart)) {\n // We have an explicit start to reconcile across traces\n // if this trace has an explicit start, shift it down to a bin edge\n // if another trace had an explicit start, shift it down to a\n // bin edge past our data\n var traceStart = hasStart ?\n startIn :\n Lib.aggNums(Math.min, null, pos0);\n\n var dummyAx = {\n type: (pa.type === 'category' || pa.type === 'multicategory') ? 'linear' : pa.type,\n r2l: pa.r2l,\n dtick: binOpts.size,\n tick0: mainStart,\n calendar: calendar,\n range: ([traceStart, Axes.tickIncrement(traceStart, binOpts.size, false, calendar)]).map(pa.l2r)\n };\n var newStart = Axes.tickFirst(dummyAx);\n if(newStart > pa.r2l(traceStart)) {\n newStart = Axes.tickIncrement(newStart, binOpts.size, true, calendar);\n }\n traceBinOptsCalc.start = pa.l2r(newStart);\n if(!hasStart) Lib.nestedProperty(trace, binAttr + '.start').set(traceBinOptsCalc.start);\n }\n\n var mainEnd = binOpts.end;\n var endIn = pa.r2l(traceInputBins.end);\n var hasEnd = endIn !== undefined;\n if((binOpts.endFound || hasEnd) && endIn !== pa.r2l(mainEnd)) {\n // Reconciling an explicit end is easier, as it doesn't need to\n // match bin edges\n var traceEnd = hasEnd ?\n endIn :\n Lib.aggNums(Math.max, null, pos0);\n\n traceBinOptsCalc.end = pa.l2r(traceEnd);\n if(!hasEnd) Lib.nestedProperty(trace, binAttr + '.start').set(traceBinOptsCalc.end);\n }\n\n // Backward compatibility for one-time autobinning.\n // autobin: true is handled in cleanData, but autobin: false\n // needs to be here where we have determined the values.\n var autoBinAttr = 'autobin' + mainData;\n if(trace._input[autoBinAttr] === false) {\n trace._input[binAttr] = Lib.extendFlat({}, trace[binAttr] || {});\n delete trace._input[autoBinAttr];\n delete trace[autoBinAttr];\n }\n\n return [traceBinOptsCalc, pos0];\n}\n\n/*\n * Adjust single-value histograms in overlay mode to make as good a\n * guess as we can at autobin values the user would like.\n *\n * Returns the binSpec for the trace that sparked all this\n */\nfunction handleSingleValueOverlays(gd, trace, pa, mainData, binAttr) {\n var fullLayout = gd._fullLayout;\n var overlaidTraceGroup = getConnectedHistograms(gd, trace);\n var pastThisTrace = false;\n var minSize = Infinity;\n var singleValuedTraces = [trace];\n var i, tracei, binOpts;\n\n // first collect all the:\n // - min bin size from all multi-valued traces\n // - single-valued traces\n for(i = 0; i < overlaidTraceGroup.length; i++) {\n tracei = overlaidTraceGroup[i];\n\n if(tracei === trace) {\n pastThisTrace = true;\n } else if(!pastThisTrace) {\n // This trace has already had its autobins calculated, so either:\n // - it is part of a bingroup\n // - it is NOT a single-valued trace\n binOpts = fullLayout._histogramBinOpts[tracei['_' + mainData + 'bingroup']];\n minSize = Math.min(minSize, binOpts.size || tracei[binAttr].size);\n } else {\n var resulti = calcAllAutoBins(gd, tracei, pa, mainData, true);\n var binSpeci = resulti[0];\n var isSingleValued = resulti[2];\n\n // so we can use this result when we get to tracei in the normal\n // course of events, mark it as done and put _pos0 back\n tracei['_' + mainData + 'autoBinFinished'] = 1;\n tracei['_' + mainData + 'pos0'] = resulti[1];\n\n if(isSingleValued) {\n singleValuedTraces.push(tracei);\n } else {\n minSize = Math.min(minSize, binSpeci.size);\n }\n }\n }\n\n // find the real data values for each single-valued trace\n // hunt through pos0 for the first valid value\n var dataVals = new Array(singleValuedTraces.length);\n for(i = 0; i < singleValuedTraces.length; i++) {\n var pos0 = singleValuedTraces[i]['_' + mainData + 'pos0'];\n for(var j = 0; j < pos0.length; j++) {\n if(pos0[j] !== undefined) {\n dataVals[i] = pos0[j];\n break;\n }\n }\n }\n\n // are ALL traces are single-valued? use the min difference between\n // all of their values (which defaults to 1 if there's still only one)\n if(!isFinite(minSize)) {\n minSize = Lib.distinctVals(dataVals).minDiff;\n }\n\n // now apply the min size we found to all single-valued traces\n for(i = 0; i < singleValuedTraces.length; i++) {\n tracei = singleValuedTraces[i];\n var calendar = tracei[mainData + 'calendar'];\n\n var newBins = {\n start: pa.c2r(dataVals[i] - minSize / 2, 0, calendar),\n end: pa.c2r(dataVals[i] + minSize / 2, 0, calendar),\n size: minSize\n };\n\n tracei._input[binAttr] = tracei[binAttr] = newBins;\n\n binOpts = fullLayout._histogramBinOpts[tracei['_' + mainData + 'bingroup']];\n if(binOpts) Lib.extendFlat(binOpts, newBins);\n }\n\n return trace[binAttr];\n}\n\n/*\n * Return an array of histograms that share axes and orientation.\n *\n * Only considers histograms. In principle we could include bars in a\n * similar way to how we do manually binned histograms, though this\n * would have tons of edge cases and value judgments to make.\n */\nfunction getConnectedHistograms(gd, trace) {\n var xid = trace.xaxis;\n var yid = trace.yaxis;\n var orientation = trace.orientation;\n\n var out = [];\n var fullData = gd._fullData;\n for(var i = 0; i < fullData.length; i++) {\n var tracei = fullData[i];\n if(tracei.type === 'histogram' &&\n tracei.visible === true &&\n tracei.orientation === orientation &&\n tracei.xaxis === xid && tracei.yaxis === yid\n ) {\n out.push(tracei);\n }\n }\n\n return out;\n}\n\nfunction cdf(size, direction, currentBin) {\n var i, vi, prevSum;\n\n function firstHalfPoint(i) {\n prevSum = size[i];\n size[i] /= 2;\n }\n\n function nextHalfPoint(i) {\n vi = size[i];\n size[i] = prevSum + vi / 2;\n prevSum += vi;\n }\n\n if(currentBin === 'half') {\n if(direction === 'increasing') {\n firstHalfPoint(0);\n for(i = 1; i < size.length; i++) {\n nextHalfPoint(i);\n }\n } else {\n firstHalfPoint(size.length - 1);\n for(i = size.length - 2; i >= 0; i--) {\n nextHalfPoint(i);\n }\n }\n } else if(direction === 'increasing') {\n for(i = 1; i < size.length; i++) {\n size[i] += size[i - 1];\n }\n\n // 'exclude' is identical to 'include' just shifted one bin over\n if(currentBin === 'exclude') {\n size.unshift(0);\n size.pop();\n }\n } else {\n for(i = size.length - 2; i >= 0; i--) {\n size[i] += size[i + 1];\n }\n\n if(currentBin === 'exclude') {\n size.push(0);\n size.shift();\n }\n }\n}\n\nmodule.exports = {\n calc: calc,\n calcAllAutoBins: calcAllAutoBins\n};\n\n\n/***/ }),\n\n/***/ \"0c3a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar maxRowLength = __webpack_require__(\"fc26\").maxRowLength;\n\n/* Return a list of empty points in 2D array z\n * each empty point z[i][j] gives an array [i, j, neighborCount]\n * neighborCount is the count of 4 nearest neighbors that DO exist\n * this is to give us an order of points to evaluate for interpolation.\n * if no neighbors exist, we iteratively look for neighbors that HAVE\n * neighbors, and add a fractional neighborCount\n */\nmodule.exports = function findEmpties(z) {\n var empties = [];\n var neighborHash = {};\n var noNeighborList = [];\n var nextRow = z[0];\n var row = [];\n var blank = [0, 0, 0];\n var rowLength = maxRowLength(z);\n var prevRow;\n var i;\n var j;\n var thisPt;\n var p;\n var neighborCount;\n var newNeighborHash;\n var foundNewNeighbors;\n\n for(i = 0; i < z.length; i++) {\n prevRow = row;\n row = nextRow;\n nextRow = z[i + 1] || [];\n for(j = 0; j < rowLength; j++) {\n if(row[j] === undefined) {\n neighborCount = (row[j - 1] !== undefined ? 1 : 0) +\n (row[j + 1] !== undefined ? 1 : 0) +\n (prevRow[j] !== undefined ? 1 : 0) +\n (nextRow[j] !== undefined ? 1 : 0);\n\n if(neighborCount) {\n // for this purpose, don't count off-the-edge points\n // as undefined neighbors\n if(i === 0) neighborCount++;\n if(j === 0) neighborCount++;\n if(i === z.length - 1) neighborCount++;\n if(j === row.length - 1) neighborCount++;\n\n // if all neighbors that could exist do, we don't\n // need this for finding farther neighbors\n if(neighborCount < 4) {\n neighborHash[[i, j]] = [i, j, neighborCount];\n }\n\n empties.push([i, j, neighborCount]);\n } else noNeighborList.push([i, j]);\n }\n }\n }\n\n while(noNeighborList.length) {\n newNeighborHash = {};\n foundNewNeighbors = false;\n\n // look for cells that now have neighbors but didn't before\n for(p = noNeighborList.length - 1; p >= 0; p--) {\n thisPt = noNeighborList[p];\n i = thisPt[0];\n j = thisPt[1];\n\n neighborCount = ((neighborHash[[i - 1, j]] || blank)[2] +\n (neighborHash[[i + 1, j]] || blank)[2] +\n (neighborHash[[i, j - 1]] || blank)[2] +\n (neighborHash[[i, j + 1]] || blank)[2]) / 20;\n\n if(neighborCount) {\n newNeighborHash[thisPt] = [i, j, neighborCount];\n noNeighborList.splice(p, 1);\n foundNewNeighbors = true;\n }\n }\n\n if(!foundNewNeighbors) {\n throw 'findEmpties iterated with no new neighbors';\n }\n\n // put these new cells into the main neighbor list\n for(thisPt in newNeighborHash) {\n neighborHash[thisPt] = newNeighborHash[thisPt];\n empties.push(newNeighborHash[thisPt]);\n }\n }\n\n // sort the full list in descending order of neighbor count\n return empties.sort(function(a, b) { return b[2] - a[2]; });\n};\n\n\n/***/ }),\n\n/***/ \"0c5d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar handleSampleDefaults = __webpack_require__(\"8173\");\nvar handleContoursDefaults = __webpack_require__(\"d61b\");\nvar handleStyleDefaults = __webpack_require__(\"41f8\");\nvar attributes = __webpack_require__(\"348d\");\n\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n function coerce2(attr) {\n return Lib.coerce2(traceIn, traceOut, attributes, attr);\n }\n\n handleSampleDefaults(traceIn, traceOut, coerce, layout);\n if(traceOut.visible === false) return;\n\n handleContoursDefaults(traceIn, traceOut, coerce, coerce2);\n handleStyleDefaults(traceIn, traceOut, coerce, layout);\n coerce('hovertemplate');\n};\n\n\n/***/ }),\n\n/***/ \"0c85\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar Colorscale = __webpack_require__(\"c258\");\nvar wrap = __webpack_require__(\"0a3e\").wrap;\n\nmodule.exports = function calc(gd, trace) {\n var lineColor;\n var cscale;\n\n if(Colorscale.hasColorscale(trace, 'line') && isArrayOrTypedArray(trace.line.color)) {\n lineColor = trace.line.color;\n cscale = Colorscale.extractOpts(trace.line).colorscale;\n\n Colorscale.calc(gd, trace, {\n vals: lineColor,\n containerStr: 'line',\n cLetter: 'c'\n });\n } else {\n lineColor = constHalf(trace._length);\n cscale = [[0, trace.line.color], [1, trace.line.color]];\n }\n\n return wrap({lineColor: lineColor, cscale: cscale});\n};\n\nfunction constHalf(len) {\n var out = new Array(len);\n for(var i = 0; i < len; i++) {\n out[i] = 0.5;\n }\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"0cc1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar constants = __webpack_require__(\"000c\");\n\nmodule.exports = function plot(gd, plotinfo, cdimage, imageLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(imageLayer, cdimage, 'im').each(function(cd) {\n var plotGroup = d3.select(this);\n var cd0 = cd[0];\n var trace = cd0.trace;\n\n var z = cd0.z;\n var x0 = cd0.x0;\n var y0 = cd0.y0;\n var w = cd0.w;\n var h = cd0.h;\n var dx = trace.dx;\n var dy = trace.dy;\n\n var left, right, temp, top, bottom, i;\n // in case of log of a negative\n i = 0;\n while(left === undefined && i < w) {\n left = xa.c2p(x0 + i * dx);\n i++;\n }\n i = w;\n while(right === undefined && i > 0) {\n right = xa.c2p(x0 + i * dx);\n i--;\n }\n i = 0;\n while(top === undefined && i < h) {\n top = ya.c2p(y0 + i * dy);\n i++;\n }\n i = h;\n while(bottom === undefined && i > 0) {\n bottom = ya.c2p(y0 + i * dy);\n i--;\n }\n\n if(right < left) {\n temp = right;\n right = left;\n left = temp;\n }\n\n if(bottom < top) {\n temp = top;\n top = bottom;\n bottom = temp;\n }\n\n // Reduce image size when zoomed in to save memory\n var extra = 0.5; // half the axis size\n left = Math.max(-extra * xa._length, left);\n right = Math.min((1 + extra) * xa._length, right);\n top = Math.max(-extra * ya._length, top);\n bottom = Math.min((1 + extra) * ya._length, bottom);\n var imageWidth = Math.round(right - left);\n var imageHeight = Math.round(bottom - top);\n\n // if image is entirely off-screen, don't even draw it\n var isOffScreen = (imageWidth <= 0 || imageHeight <= 0);\n if(isOffScreen) {\n var noImage = plotGroup.selectAll('image').data([]);\n noImage.exit().remove();\n return;\n }\n\n // Draw each pixel\n var canvas = document.createElement('canvas');\n canvas.width = imageWidth;\n canvas.height = imageHeight;\n var context = canvas.getContext('2d');\n\n var ipx = function(i) {return Lib.constrain(Math.round(xa.c2p(x0 + i * dx) - left), 0, imageWidth);};\n var jpx = function(j) {return Lib.constrain(Math.round(ya.c2p(y0 + j * dy) - top), 0, imageHeight);};\n\n var fmt = constants.colormodel[trace.colormodel].fmt;\n var c;\n for(i = 0; i < cd0.w; i++) {\n var ipx0 = ipx(i); var ipx1 = ipx(i + 1);\n if(ipx1 === ipx0 || isNaN(ipx1) || isNaN(ipx0)) continue;\n for(var j = 0; j < cd0.h; j++) {\n var jpx0 = jpx(j); var jpx1 = jpx(j + 1);\n if(jpx1 === jpx0 || isNaN(jpx1) || isNaN(jpx0) || !z[j][i]) continue;\n c = trace._scaler(z[j][i]);\n if(c) {\n context.fillStyle = trace.colormodel + '(' + fmt(c).join(',') + ')';\n } else {\n // Return a transparent pixel\n context.fillStyle = 'rgba(0,0,0,0)';\n }\n context.fillRect(ipx0, jpx0, ipx1 - ipx0, jpx1 - jpx0);\n }\n }\n\n var image3 = plotGroup.selectAll('image')\n .data(cd);\n\n image3.enter().append('svg:image').attr({\n xmlns: xmlnsNamespaces.svg,\n preserveAspectRatio: 'none'\n });\n\n image3.attr({\n height: imageHeight,\n width: imageWidth,\n x: left,\n y: top,\n 'xlink:href': canvas.toDataURL('image/png')\n });\n });\n};\n\n\n/***/ }),\n\n/***/ \"0cec\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar Registry = __webpack_require__(\"371e\");\nvar Axes = __webpack_require__(\"0642\");\nvar getAxisGroup = __webpack_require__(\"3c1c\").getAxisGroup;\nvar Sieve = __webpack_require__(\"8b25\");\n\n/*\n * Bar chart stacking/grouping positioning and autoscaling calculations\n * for each direction separately calculate the ranges and positions\n * note that this handles histograms too\n * now doing this one subplot at a time\n */\n\nfunction crossTraceCalc(gd, plotinfo) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n var fullLayout = gd._fullLayout;\n var fullTraces = gd._fullData;\n var calcTraces = gd.calcdata;\n var calcTracesHorz = [];\n var calcTracesVert = [];\n\n for(var i = 0; i < fullTraces.length; i++) {\n var fullTrace = fullTraces[i];\n if(\n fullTrace.visible === true &&\n Registry.traceIs(fullTrace, 'bar') &&\n fullTrace.xaxis === xa._id &&\n fullTrace.yaxis === ya._id\n ) {\n if(fullTrace.orientation === 'h') {\n calcTracesHorz.push(calcTraces[i]);\n } else {\n calcTracesVert.push(calcTraces[i]);\n }\n }\n }\n\n var opts = {\n mode: fullLayout.barmode,\n norm: fullLayout.barnorm,\n gap: fullLayout.bargap,\n groupgap: fullLayout.bargroupgap\n };\n\n setGroupPositions(gd, xa, ya, calcTracesVert, opts);\n setGroupPositions(gd, ya, xa, calcTracesHorz, opts);\n}\n\nfunction setGroupPositions(gd, pa, sa, calcTraces, opts) {\n if(!calcTraces.length) return;\n\n var excluded;\n var included;\n var i, calcTrace, fullTrace;\n\n initBase(sa, calcTraces);\n\n switch(opts.mode) {\n case 'overlay':\n setGroupPositionsInOverlayMode(pa, sa, calcTraces, opts);\n break;\n\n case 'group':\n // exclude from the group those traces for which the user set an offset\n excluded = [];\n included = [];\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n if(fullTrace.offset === undefined) included.push(calcTrace);\n else excluded.push(calcTrace);\n }\n\n if(included.length) {\n setGroupPositionsInGroupMode(gd, pa, sa, included, opts);\n }\n if(excluded.length) {\n setGroupPositionsInOverlayMode(pa, sa, excluded, opts);\n }\n break;\n\n case 'stack':\n case 'relative':\n // exclude from the stack those traces for which the user set a base\n excluded = [];\n included = [];\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n if(fullTrace.base === undefined) included.push(calcTrace);\n else excluded.push(calcTrace);\n }\n\n if(included.length) {\n setGroupPositionsInStackOrRelativeMode(gd, pa, sa, included, opts);\n }\n if(excluded.length) {\n setGroupPositionsInOverlayMode(pa, sa, excluded, opts);\n }\n break;\n }\n\n collectExtents(calcTraces, pa);\n}\n\nfunction initBase(sa, calcTraces) {\n var i, j;\n\n for(i = 0; i < calcTraces.length; i++) {\n var cd = calcTraces[i];\n var trace = cd[0].trace;\n var base = (trace.type === 'funnel') ? trace._base : trace.base;\n var b;\n\n // not sure if it really makes sense to have dates for bar size data...\n // ideally if we want to make gantt charts or something we'd treat\n // the actual size (trace.x or y) as time delta but base as absolute\n // time. But included here for completeness.\n var scalendar = trace.orientation === 'h' ? trace.xcalendar : trace.ycalendar;\n\n // 'base' on categorical axes makes no sense\n var d2c = sa.type === 'category' || sa.type === 'multicategory' ?\n function() { return null; } :\n sa.d2c;\n\n if(isArrayOrTypedArray(base)) {\n for(j = 0; j < Math.min(base.length, cd.length); j++) {\n b = d2c(base[j], 0, scalendar);\n if(isNumeric(b)) {\n cd[j].b = +b;\n cd[j].hasB = 1;\n } else cd[j].b = 0;\n }\n for(; j < cd.length; j++) {\n cd[j].b = 0;\n }\n } else {\n b = d2c(base, 0, scalendar);\n var hasBase = isNumeric(b);\n b = hasBase ? b : 0;\n for(j = 0; j < cd.length; j++) {\n cd[j].b = b;\n if(hasBase) cd[j].hasB = 1;\n }\n }\n }\n}\n\nfunction setGroupPositionsInOverlayMode(pa, sa, calcTraces, opts) {\n // update position axis and set bar offsets and widths\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n\n var sieve = new Sieve([calcTrace], {\n sepNegVal: false,\n overlapNoMerge: !opts.norm\n });\n\n // set bar offsets and widths, and update position axis\n setOffsetAndWidth(pa, sieve, opts);\n\n // set bar bases and sizes, and update size axis\n //\n // (note that `setGroupPositionsInOverlayMode` handles the case barnorm\n // is defined, because this function is also invoked for traces that\n // can't be grouped or stacked)\n if(opts.norm) {\n sieveBars(sieve);\n normalizeBars(sa, sieve, opts);\n } else {\n setBaseAndTop(sa, sieve);\n }\n }\n}\n\nfunction setGroupPositionsInGroupMode(gd, pa, sa, calcTraces, opts) {\n var sieve = new Sieve(calcTraces, {\n sepNegVal: false,\n overlapNoMerge: !opts.norm\n });\n\n // set bar offsets and widths, and update position axis\n setOffsetAndWidthInGroupMode(gd, pa, sieve, opts);\n\n // relative-stack bars within the same trace that would otherwise\n // be hidden\n unhideBarsWithinTrace(sieve);\n\n // set bar bases and sizes, and update size axis\n if(opts.norm) {\n sieveBars(sieve);\n normalizeBars(sa, sieve, opts);\n } else {\n setBaseAndTop(sa, sieve);\n }\n}\n\nfunction setGroupPositionsInStackOrRelativeMode(gd, pa, sa, calcTraces, opts) {\n var sieve = new Sieve(calcTraces, {\n sepNegVal: opts.mode === 'relative',\n overlapNoMerge: !(opts.norm || opts.mode === 'stack' || opts.mode === 'relative')\n });\n\n // set bar offsets and widths, and update position axis\n setOffsetAndWidth(pa, sieve, opts);\n\n // set bar bases and sizes, and update size axis\n stackBars(sa, sieve, opts);\n\n // flag the outmost bar (for text display purposes)\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n var isOutmostBar = ((bar.b + bar.s) === sieve.get(bar.p, bar.s));\n if(isOutmostBar) bar._outmost = true;\n }\n }\n }\n\n // Note that marking the outmost bars has to be done\n // before `normalizeBars` changes `bar.b` and `bar.s`.\n if(opts.norm) normalizeBars(sa, sieve, opts);\n}\n\nfunction setOffsetAndWidth(pa, sieve, opts) {\n var minDiff = sieve.minDiff;\n var calcTraces = sieve.traces;\n\n // set bar offsets and widths\n var barGroupWidth = minDiff * (1 - opts.gap);\n var barWidthPlusGap = barGroupWidth;\n var barWidth = barWidthPlusGap * (1 - (opts.groupgap || 0));\n\n // computer bar group center and bar offset\n var offsetFromCenter = -barWidth / 2;\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var t = calcTrace[0].t;\n\n // store bar width and offset for this trace\n t.barwidth = barWidth;\n t.poffset = offsetFromCenter;\n t.bargroupwidth = barGroupWidth;\n t.bardelta = minDiff;\n }\n\n // stack bars that only differ by rounding\n sieve.binWidth = calcTraces[0][0].t.barwidth / 100;\n\n // if defined, apply trace offset and width\n applyAttributes(sieve);\n\n // store the bar center in each calcdata item\n setBarCenterAndWidth(pa, sieve);\n\n // update position axes\n updatePositionAxis(pa, sieve);\n}\n\nfunction setOffsetAndWidthInGroupMode(gd, pa, sieve, opts) {\n var fullLayout = gd._fullLayout;\n var positions = sieve.positions;\n var distinctPositions = sieve.distinctPositions;\n var minDiff = sieve.minDiff;\n var calcTraces = sieve.traces;\n var nTraces = calcTraces.length;\n\n // if there aren't any overlapping positions,\n // let them have full width even if mode is group\n var overlap = (positions.length !== distinctPositions.length);\n var barGroupWidth = minDiff * (1 - opts.gap);\n\n var groupId = getAxisGroup(fullLayout, pa._id) + calcTraces[0][0].trace.orientation;\n var alignmentGroups = fullLayout._alignmentOpts[groupId] || {};\n\n for(var i = 0; i < nTraces; i++) {\n var calcTrace = calcTraces[i];\n var trace = calcTrace[0].trace;\n\n var alignmentGroupOpts = alignmentGroups[trace.alignmentgroup] || {};\n var nOffsetGroups = Object.keys(alignmentGroupOpts.offsetGroups || {}).length;\n\n var barWidthPlusGap;\n if(nOffsetGroups) {\n barWidthPlusGap = barGroupWidth / nOffsetGroups;\n } else {\n barWidthPlusGap = overlap ? barGroupWidth / nTraces : barGroupWidth;\n }\n\n var barWidth = barWidthPlusGap * (1 - (opts.groupgap || 0));\n\n var offsetFromCenter;\n if(nOffsetGroups) {\n offsetFromCenter = ((2 * trace._offsetIndex + 1 - nOffsetGroups) * barWidthPlusGap - barWidth) / 2;\n } else {\n offsetFromCenter = overlap ?\n ((2 * i + 1 - nTraces) * barWidthPlusGap - barWidth) / 2 :\n -barWidth / 2;\n }\n\n var t = calcTrace[0].t;\n t.barwidth = barWidth;\n t.poffset = offsetFromCenter;\n t.bargroupwidth = barGroupWidth;\n t.bardelta = minDiff;\n }\n\n // stack bars that only differ by rounding\n sieve.binWidth = calcTraces[0][0].t.barwidth / 100;\n\n // if defined, apply trace width\n applyAttributes(sieve);\n\n // store the bar center in each calcdata item\n setBarCenterAndWidth(pa, sieve);\n\n // update position axes\n updatePositionAxis(pa, sieve, overlap);\n}\n\nfunction applyAttributes(sieve) {\n var calcTraces = sieve.traces;\n var i, j;\n\n for(i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var calcTrace0 = calcTrace[0];\n var fullTrace = calcTrace0.trace;\n var t = calcTrace0.t;\n var offset = fullTrace._offset || fullTrace.offset;\n var initialPoffset = t.poffset;\n var newPoffset;\n\n if(isArrayOrTypedArray(offset)) {\n // if offset is an array, then clone it into t.poffset.\n newPoffset = Array.prototype.slice.call(offset, 0, calcTrace.length);\n\n // guard against non-numeric items\n for(j = 0; j < newPoffset.length; j++) {\n if(!isNumeric(newPoffset[j])) {\n newPoffset[j] = initialPoffset;\n }\n }\n\n // if the length of the array is too short,\n // then extend it with the initial value of t.poffset\n for(j = newPoffset.length; j < calcTrace.length; j++) {\n newPoffset.push(initialPoffset);\n }\n\n t.poffset = newPoffset;\n } else if(offset !== undefined) {\n t.poffset = offset;\n }\n\n var width = fullTrace._width || fullTrace.width;\n var initialBarwidth = t.barwidth;\n\n if(isArrayOrTypedArray(width)) {\n // if width is an array, then clone it into t.barwidth.\n var newBarwidth = Array.prototype.slice.call(width, 0, calcTrace.length);\n\n // guard against non-numeric items\n for(j = 0; j < newBarwidth.length; j++) {\n if(!isNumeric(newBarwidth[j])) newBarwidth[j] = initialBarwidth;\n }\n\n // if the length of the array is too short,\n // then extend it with the initial value of t.barwidth\n for(j = newBarwidth.length; j < calcTrace.length; j++) {\n newBarwidth.push(initialBarwidth);\n }\n\n t.barwidth = newBarwidth;\n\n // if user didn't set offset,\n // then correct t.poffset to ensure bars remain centered\n if(offset === undefined) {\n newPoffset = [];\n for(j = 0; j < calcTrace.length; j++) {\n newPoffset.push(\n initialPoffset + (initialBarwidth - newBarwidth[j]) / 2\n );\n }\n t.poffset = newPoffset;\n }\n } else if(width !== undefined) {\n t.barwidth = width;\n\n // if user didn't set offset,\n // then correct t.poffset to ensure bars remain centered\n if(offset === undefined) {\n t.poffset = initialPoffset + (initialBarwidth - width) / 2;\n }\n }\n }\n}\n\nfunction setBarCenterAndWidth(pa, sieve) {\n var calcTraces = sieve.traces;\n var pLetter = getAxisLetter(pa);\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var t = calcTrace[0].t;\n var poffset = t.poffset;\n var poffsetIsArray = Array.isArray(poffset);\n var barwidth = t.barwidth;\n var barwidthIsArray = Array.isArray(barwidth);\n\n for(var j = 0; j < calcTrace.length; j++) {\n var calcBar = calcTrace[j];\n\n // store the actual bar width and position, for use by hover\n var width = calcBar.w = barwidthIsArray ? barwidth[j] : barwidth;\n calcBar[pLetter] = calcBar.p + (poffsetIsArray ? poffset[j] : poffset) + width / 2;\n }\n }\n}\n\nfunction updatePositionAxis(pa, sieve, allowMinDtick) {\n var calcTraces = sieve.traces;\n var minDiff = sieve.minDiff;\n var vpad = minDiff / 2;\n\n Axes.minDtick(pa, sieve.minDiff, sieve.distinctPositions[0], allowMinDtick);\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var calcTrace0 = calcTrace[0];\n var fullTrace = calcTrace0.trace;\n var pts = [];\n var bar, l, r, j;\n\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n l = bar.p - vpad;\n r = bar.p + vpad;\n pts.push(l, r);\n }\n\n if(fullTrace.width || fullTrace.offset) {\n var t = calcTrace0.t;\n var poffset = t.poffset;\n var barwidth = t.barwidth;\n var poffsetIsArray = Array.isArray(poffset);\n var barwidthIsArray = Array.isArray(barwidth);\n\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n var calcBarOffset = poffsetIsArray ? poffset[j] : poffset;\n var calcBarWidth = barwidthIsArray ? barwidth[j] : barwidth;\n l = bar.p + calcBarOffset;\n r = l + calcBarWidth;\n pts.push(l, r);\n }\n }\n\n fullTrace._extremes[pa._id] = Axes.findExtremes(pa, pts, {padded: false});\n }\n}\n\n// store these bar bases and tops in calcdata\n// and make sure the size axis includes zero,\n// along with the bases and tops of each bar.\nfunction setBaseAndTop(sa, sieve) {\n var calcTraces = sieve.traces;\n var sLetter = getAxisLetter(sa);\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var fullTrace = calcTrace[0].trace;\n var pts = [];\n var allBaseAboveZero = true;\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n var base = bar.b;\n var top = base + bar.s;\n\n bar[sLetter] = top;\n pts.push(top);\n if(bar.hasB) pts.push(base);\n\n if(!bar.hasB || !(bar.b > 0 && bar.s > 0)) {\n allBaseAboveZero = false;\n }\n }\n\n fullTrace._extremes[sa._id] = Axes.findExtremes(sa, pts, {\n tozero: !allBaseAboveZero,\n padded: true\n });\n }\n}\n\nfunction stackBars(sa, sieve, opts) {\n var sLetter = getAxisLetter(sa);\n var calcTraces = sieve.traces;\n var calcTrace;\n var fullTrace;\n var isFunnel;\n var i, j;\n var bar;\n\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n if(fullTrace.type === 'funnel') {\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n // create base of funnels\n sieve.put(bar.p, -0.5 * bar.s);\n }\n }\n }\n }\n\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n isFunnel = (fullTrace.type === 'funnel');\n\n var pts = [];\n\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n // stack current bar and get previous sum\n var value;\n if(isFunnel) {\n value = bar.s;\n } else {\n value = bar.s + bar.b;\n }\n\n var base = sieve.put(bar.p, value);\n\n var top = base + value;\n\n // store the bar base and top in each calcdata item\n bar.b = base;\n bar[sLetter] = top;\n\n if(!opts.norm) {\n pts.push(top);\n if(bar.hasB) {\n pts.push(base);\n }\n }\n }\n }\n\n // if barnorm is set, let normalizeBars update the axis range\n if(!opts.norm) {\n fullTrace._extremes[sa._id] = Axes.findExtremes(sa, pts, {\n // N.B. we don't stack base with 'base',\n // so set tozero:true always!\n tozero: true,\n padded: true\n });\n }\n }\n}\n\nfunction sieveBars(sieve) {\n var calcTraces = sieve.traces;\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n sieve.put(bar.p, bar.b + bar.s);\n }\n }\n }\n}\n\nfunction unhideBarsWithinTrace(sieve) {\n var calcTraces = sieve.traces;\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var fullTrace = calcTrace[0].trace;\n\n if(fullTrace.base === undefined) {\n var inTraceSieve = new Sieve([calcTrace], {\n sepNegVal: true,\n overlapNoMerge: true\n });\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.p !== BADNUM) {\n // stack current bar and get previous sum\n var base = inTraceSieve.put(bar.p, bar.b + bar.s);\n\n // if previous sum if non-zero, this means:\n // multiple bars have same starting point are potentially hidden,\n // shift them vertically so that all bars are visible by default\n if(base) bar.b = base;\n }\n }\n }\n }\n}\n\n// Note:\n//\n// normalizeBars requires that either sieveBars or stackBars has been\n// previously invoked.\nfunction normalizeBars(sa, sieve, opts) {\n var calcTraces = sieve.traces;\n var sLetter = getAxisLetter(sa);\n var sTop = opts.norm === 'fraction' ? 1 : 100;\n var sTiny = sTop / 1e9; // in case of rounding error in sum\n var sMin = sa.l2c(sa.c2l(0));\n var sMax = opts.mode === 'stack' ? sTop : sMin;\n\n function needsPadding(v) {\n return (\n isNumeric(sa.c2l(v)) &&\n ((v < sMin - sTiny) || (v > sMax + sTiny) || !isNumeric(sMin))\n );\n }\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var fullTrace = calcTrace[0].trace;\n var pts = [];\n var allBaseAboveZero = true;\n var padded = false;\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n var scale = Math.abs(sTop / sieve.get(bar.p, bar.s));\n bar.b *= scale;\n bar.s *= scale;\n\n var base = bar.b;\n var top = base + bar.s;\n\n bar[sLetter] = top;\n pts.push(top);\n padded = padded || needsPadding(top);\n\n if(bar.hasB) {\n pts.push(base);\n padded = padded || needsPadding(base);\n }\n\n if(!bar.hasB || !(bar.b > 0 && bar.s > 0)) {\n allBaseAboveZero = false;\n }\n }\n }\n\n fullTrace._extremes[sa._id] = Axes.findExtremes(sa, pts, {\n tozero: !allBaseAboveZero,\n padded: padded\n });\n }\n}\n\n// find the full position span of bars at each position\n// for use by hover, to ensure labels move in if bars are\n// narrower than the space they're in.\n// run once per trace group (subplot & direction) and\n// the same mapping is attached to all calcdata traces\nfunction collectExtents(calcTraces, pa) {\n var pLetter = getAxisLetter(pa);\n var extents = {};\n var i, j, cd;\n\n var pMin = Infinity;\n var pMax = -Infinity;\n\n for(i = 0; i < calcTraces.length; i++) {\n cd = calcTraces[i];\n for(j = 0; j < cd.length; j++) {\n var p = cd[j].p;\n if(isNumeric(p)) {\n pMin = Math.min(pMin, p);\n pMax = Math.max(pMax, p);\n }\n }\n }\n\n // this is just for positioning of hover labels, and nobody will care if\n // the label is 1px too far out; so round positions to 1/10K in case\n // position values don't exactly match from trace to trace\n var roundFactor = 10000 / (pMax - pMin);\n var round = extents.round = function(p) {\n return String(Math.round(roundFactor * (p - pMin)));\n };\n\n for(i = 0; i < calcTraces.length; i++) {\n cd = calcTraces[i];\n cd[0].t.extents = extents;\n\n var poffset = cd[0].t.poffset;\n var poffsetIsArray = Array.isArray(poffset);\n\n for(j = 0; j < cd.length; j++) {\n var di = cd[j];\n var p0 = di[pLetter] - di.w / 2;\n\n if(isNumeric(p0)) {\n var p1 = di[pLetter] + di.w / 2;\n var pVal = round(di.p);\n if(extents[pVal]) {\n extents[pVal] = [Math.min(p0, extents[pVal][0]), Math.max(p1, extents[pVal][1])];\n } else {\n extents[pVal] = [p0, p1];\n }\n }\n\n di.p0 = di.p + (poffsetIsArray ? poffset[j] : poffset);\n di.p1 = di.p0 + di.w;\n di.s0 = di.b;\n di.s1 = di.s0 + di.s;\n }\n }\n}\n\nfunction getAxisLetter(ax) {\n return ax._id.charAt(0);\n}\n\nmodule.exports = {\n crossTraceCalc: crossTraceCalc,\n setGroupPositions: setGroupPositions\n};\n\n\n/***/ }),\n\n/***/ \"0cfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar createElement = __webpack_require__(\"cc12\");\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/***/ \"0d59\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n cellPad: 8,\n columnExtentOffset: 10,\n columnTitleOffset: 28,\n emptyHeaderHeight: 16,\n latexCheck: /^\\$.*\\$$/,\n goldenRatio: 1.618,\n lineBreaker: '
',\n maxDimensionCount: 60,\n overdrag: 45,\n releaseTransitionDuration: 120,\n releaseTransitionEase: 'cubic-out',\n scrollbarCaptureWidth: 18,\n scrollbarHideDelay: 1000,\n scrollbarHideDuration: 1000,\n scrollbarOffset: 5,\n scrollbarWidth: 8,\n transitionDuration: 100,\n transitionEase: 'cubic-out',\n uplift: 5,\n wrapSpacer: ' ',\n wrapSplitCharacter: ' ',\n cn: {\n // general class names\n table: 'table',\n tableControlView: 'table-control-view',\n scrollBackground: 'scroll-background',\n yColumn: 'y-column',\n columnBlock: 'column-block',\n scrollAreaClip: 'scroll-area-clip',\n scrollAreaClipRect: 'scroll-area-clip-rect',\n columnBoundary: 'column-boundary',\n columnBoundaryClippath: 'column-boundary-clippath',\n columnBoundaryRect: 'column-boundary-rect',\n columnCells: 'column-cells',\n columnCell: 'column-cell',\n cellRect: 'cell-rect',\n cellText: 'cell-text',\n cellTextHolder: 'cell-text-holder',\n\n // scroll related class names\n scrollbarKit: 'scrollbar-kit',\n scrollbar: 'scrollbar',\n scrollbarSlider: 'scrollbar-slider',\n scrollbarGlyph: 'scrollbar-glyph',\n scrollbarCaptureZone: 'scrollbar-capture-zone'\n }\n};\n\n\n/***/ }),\n\n/***/ \"0dd1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar twoProduct = __webpack_require__(\"c01c\")\nvar twoSum = __webpack_require__(\"d1bd\")\n\nmodule.exports = scaleLinearExpansion\n\nfunction scaleLinearExpansion(e, scale) {\n var n = e.length\n if(n === 1) {\n var ts = twoProduct(e[0], scale)\n if(ts[0]) {\n return ts\n }\n return [ ts[1] ]\n }\n var g = new Array(2 * n)\n var q = [0.1, 0.1]\n var t = [0.1, 0.1]\n var count = 0\n twoProduct(e[0], scale, q)\n if(q[0]) {\n g[count++] = q[0]\n }\n for(var i=1; i': makeInequalitySettings('>'),\n '<': makeInequalitySettings('<'),\n '=': makeInequalitySettings('=')\n};\n\n// This does not in any way shape or form support calendars. It's adapted from\n// transforms/filter.js.\nfunction coerceValue(operation, value) {\n var hasArrayValue = Array.isArray(value);\n\n var coercedValue;\n\n function coerce(value) {\n return isNumeric(value) ? (+value) : null;\n }\n\n if(filterOps.COMPARISON_OPS2.indexOf(operation) !== -1) {\n coercedValue = hasArrayValue ? coerce(value[0]) : coerce(value);\n } else if(filterOps.INTERVAL_OPS.indexOf(operation) !== -1) {\n coercedValue = hasArrayValue ?\n [coerce(value[0]), coerce(value[1])] :\n [coerce(value), coerce(value)];\n } else if(filterOps.SET_OPS.indexOf(operation) !== -1) {\n coercedValue = hasArrayValue ? value.map(coerce) : [coerce(value)];\n }\n\n return coercedValue;\n}\n\n// Returns a parabola scaled so that the min/max is either +/- 1 and zero at the two values\n// provided. The data is mapped by this function when constructing intervals so that it's\n// very easy to construct contours as normal.\nfunction makeRangeSettings(operation) {\n return function(value) {\n value = coerceValue(operation, value);\n\n // Ensure proper ordering:\n var min = Math.min(value[0], value[1]);\n var max = Math.max(value[0], value[1]);\n\n return {\n start: min,\n end: max,\n size: max - min\n };\n };\n}\n\nfunction makeInequalitySettings(operation) {\n return function(value) {\n value = coerceValue(operation, value);\n\n return {\n start: value,\n end: Infinity,\n size: Infinity\n };\n };\n}\n\n\n/***/ }),\n\n/***/ \"11e1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\n\nvar handleStyleDefaults = __webpack_require__(\"9103\");\nvar attributes = __webpack_require__(\"40c0\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var x = coerce('x');\n var y = coerce('y');\n\n var cumulative = coerce('cumulative.enabled');\n if(cumulative) {\n coerce('cumulative.direction');\n coerce('cumulative.currentbin');\n }\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n var orientation = coerce('orientation', (y && !x) ? 'h' : 'v');\n var sampleLetter = orientation === 'v' ? 'x' : 'y';\n var aggLetter = orientation === 'v' ? 'y' : 'x';\n\n var len = (x && y) ?\n Math.min(Lib.minRowLength(x) && Lib.minRowLength(y)) :\n Lib.minRowLength(traceOut[sampleLetter] || []);\n\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y'], layout);\n\n var hasAggregationData = traceOut[aggLetter];\n if(hasAggregationData) coerce('histfunc');\n coerce('histnorm');\n\n // Note: bin defaults are now handled in Histogram.crossTraceDefaults\n // autobin(x|y) are only included here to appease Plotly.validate\n coerce('autobin' + sampleLetter);\n\n handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout);\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n\n var lineColor = (traceOut.marker.line || {}).color;\n\n // override defaultColor for error bars with defaultLine\n var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'y'});\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'x', inherit: 'y'});\n};\n\n\n/***/ }),\n\n/***/ \"122d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Template = __webpack_require__(\"a651\");\n\nvar handleSubplotDefaults = __webpack_require__(\"119e\");\nvar getSubplotData = __webpack_require__(\"ad62\").getSubplotData;\n\nvar handleTickValueDefaults = __webpack_require__(\"d92f\");\nvar handleTickMarkDefaults = __webpack_require__(\"27e3\");\nvar handleTickLabelDefaults = __webpack_require__(\"5008\");\nvar handleCategoryOrderDefaults = __webpack_require__(\"d18b\");\nvar handleLineGridDefaults = __webpack_require__(\"743b\");\nvar autoType = __webpack_require__(\"0b77\");\n\nvar layoutAttributes = __webpack_require__(\"ddde\");\nvar setConvert = __webpack_require__(\"7a52\");\nvar constants = __webpack_require__(\"f510\");\nvar axisNames = constants.axisNames;\n\nfunction handleDefaults(contIn, contOut, coerce, opts) {\n var bgColor = coerce('bgcolor');\n opts.bgColor = Color.combine(bgColor, opts.paper_bgcolor);\n\n var sector = coerce('sector');\n coerce('hole');\n\n // could optimize, subplotData is not always needed!\n var subplotData = getSubplotData(opts.fullData, constants.name, opts.id);\n var layoutOut = opts.layoutOut;\n var axName;\n\n function coerceAxis(attr, dflt) {\n return coerce(axName + '.' + attr, dflt);\n }\n\n for(var i = 0; i < axisNames.length; i++) {\n axName = axisNames[i];\n\n if(!Lib.isPlainObject(contIn[axName])) {\n contIn[axName] = {};\n }\n\n var axIn = contIn[axName];\n var axOut = Template.newContainer(contOut, axName);\n axOut._id = axOut._name = axName;\n axOut._attr = opts.id + '.' + axName;\n axOut._traceIndices = subplotData.map(function(t) { return t._expandedIndex; });\n\n var dataAttr = constants.axisName2dataArray[axName];\n var axType = handleAxisTypeDefaults(axIn, axOut, coerceAxis, subplotData, dataAttr);\n\n handleCategoryOrderDefaults(axIn, axOut, coerceAxis, {\n axData: subplotData,\n dataAttr: dataAttr\n });\n\n var visible = coerceAxis('visible');\n setConvert(axOut, contOut, layoutOut);\n\n coerceAxis('uirevision', contOut.uirevision);\n\n var dfltColor;\n var dfltFontColor;\n\n if(visible) {\n dfltColor = coerceAxis('color');\n dfltFontColor = (dfltColor === axIn.color) ? dfltColor : opts.font.color;\n }\n\n // We don't want to make downstream code call ax.setScale,\n // as both radial and angular axes don't have a set domain.\n // Furthermore, angular axes don't have a set range.\n //\n // Mocked domains and ranges are set by the polar subplot instances,\n // but Axes.findExtremes uses the sign of _m to determine which padding value\n // to use.\n //\n // By setting, _m to 1 here, we make Axes.findExtremes think that\n // range[1] > range[0], and vice-versa for `autorange: 'reversed'` below.\n axOut._m = 1;\n\n switch(axName) {\n case 'radialaxis':\n var autoRange = coerceAxis('autorange', !axOut.isValidRange(axIn.range));\n axIn.autorange = autoRange;\n if(autoRange && (axType === 'linear' || axType === '-')) coerceAxis('rangemode');\n if(autoRange === 'reversed') axOut._m = -1;\n\n coerceAxis('range');\n axOut.cleanRange('range', {dfltRange: [0, 1]});\n\n if(visible) {\n coerceAxis('side');\n coerceAxis('angle', sector[0]);\n\n coerceAxis('title.text');\n Lib.coerceFont(coerceAxis, 'title.font', {\n family: opts.font.family,\n size: Math.round(opts.font.size * 1.2),\n color: dfltFontColor\n });\n }\n break;\n\n case 'angularaxis':\n // We do not support 'true' date angular axes yet,\n // users can still plot dates on angular axes by setting\n // `angularaxis.type: 'category'`.\n //\n // Here, if a date angular axes is detected, we make\n // all its corresponding traces invisible, so that\n // when we do add support for data angular axes, the new\n // behavior won't conflict with existing behavior\n if(axType === 'date') {\n Lib.log('Polar plots do not support date angular axes yet.');\n\n for(var j = 0; j < subplotData.length; j++) {\n subplotData[j].visible = false;\n }\n\n // turn this into a 'dummy' linear axis so that\n // the subplot still renders ok\n axType = axIn.type = axOut.type = 'linear';\n }\n\n if(axType === 'linear') {\n coerceAxis('thetaunit');\n } else {\n coerceAxis('period');\n }\n\n var direction = coerceAxis('direction');\n coerceAxis('rotation', {counterclockwise: 0, clockwise: 90}[direction]);\n break;\n }\n\n if(visible) {\n handleTickValueDefaults(axIn, axOut, coerceAxis, axOut.type);\n handleTickLabelDefaults(axIn, axOut, coerceAxis, axOut.type, {\n tickSuffixDflt: axOut.thetaunit === 'degrees' ? 'ยฐ' : undefined\n });\n handleTickMarkDefaults(axIn, axOut, coerceAxis, {outerTicks: true});\n\n var showTickLabels = coerceAxis('showticklabels');\n if(showTickLabels) {\n Lib.coerceFont(coerceAxis, 'tickfont', {\n family: opts.font.family,\n size: opts.font.size,\n color: dfltFontColor\n });\n coerceAxis('tickangle');\n coerceAxis('tickformat');\n }\n\n handleLineGridDefaults(axIn, axOut, coerceAxis, {\n dfltColor: dfltColor,\n bgColor: opts.bgColor,\n // default grid color is darker here (60%, vs cartesian default ~91%)\n // because the grid is not square so the eye needs heavier cues to follow\n blend: 60,\n showLine: true,\n showGrid: true,\n noZeroLine: true,\n attributes: layoutAttributes[axName]\n });\n\n coerceAxis('layer');\n }\n\n if(axType !== 'category') coerceAxis('hoverformat');\n\n axOut._input = axIn;\n }\n\n if(contOut.angularaxis.type === 'category') {\n coerce('gridshape');\n }\n}\n\nfunction handleAxisTypeDefaults(axIn, axOut, coerce, subplotData, dataAttr) {\n var axType = coerce('type');\n\n if(axType === '-') {\n var trace;\n\n for(var i = 0; i < subplotData.length; i++) {\n if(subplotData[i].visible) {\n trace = subplotData[i];\n break;\n }\n }\n\n if(trace && trace[dataAttr]) {\n axOut.type = autoType(trace[dataAttr], 'gregorian');\n }\n\n if(axOut.type === '-') {\n axOut.type = 'linear';\n } else {\n // copy autoType back to input axis\n // note that if this object didn't exist\n // in the input layout, we have to put it in\n // this happens in the main supplyDefaults function\n axIn.type = axOut.type;\n }\n }\n\n return axOut.type;\n}\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {\n handleSubplotDefaults(layoutIn, layoutOut, fullData, {\n type: constants.name,\n attributes: layoutAttributes,\n handleDefaults: handleDefaults,\n font: layoutOut.font,\n paper_bgcolor: layoutOut.paper_bgcolor,\n fullData: fullData,\n layoutOut: layoutOut\n });\n};\n\n\n/***/ }),\n\n/***/ \"12c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// Modified from https://github.com/ArthurClemens/Javascript-Undo-Manager\n// Copyright (c) 2010-2013 Arthur Clemens, arthur@visiblearea.com\nmodule.exports = function UndoManager() {\n var undoCommands = [];\n var index = -1;\n var isExecuting = false;\n var callback;\n\n function execute(command, action) {\n if(!command) return this;\n\n isExecuting = true;\n command[action]();\n isExecuting = false;\n\n return this;\n }\n\n return {\n add: function(command) {\n if(isExecuting) return this;\n undoCommands.splice(index + 1, undoCommands.length - index);\n undoCommands.push(command);\n index = undoCommands.length - 1;\n return this;\n },\n setCallback: function(callbackFunc) { callback = callbackFunc; },\n undo: function() {\n var command = undoCommands[index];\n if(!command) return this;\n execute(command, 'undo');\n index -= 1;\n if(callback) callback(command.undo);\n return this;\n },\n redo: function() {\n var command = undoCommands[index + 1];\n if(!command) return this;\n execute(command, 'redo');\n index += 1;\n if(callback) callback(command.redo);\n return this;\n },\n clear: function() {\n undoCommands = [];\n index = -1;\n },\n hasUndo: function() { return index !== -1; },\n hasRedo: function() { return index < (undoCommands.length - 1); },\n getCommands: function() { return undoCommands; },\n getPreviousCommand: function() { return undoCommands[index - 1]; },\n getIndex: function() { return index; }\n };\n};\n\n\n/***/ }),\n\n/***/ \"12e0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// a trimmed down version of:\n// https://github.com/alexcjohnson/world-calendars/blob/master/dist/index.js\n\nmodule.exports = __webpack_require__(\"0230\");\n\n__webpack_require__(\"54ea\");\n\n__webpack_require__(\"87d2\");\n__webpack_require__(\"ad2d\");\n__webpack_require__(\"d402\");\n__webpack_require__(\"fd3b\");\n__webpack_require__(\"becc\");\n__webpack_require__(\"3e43\");\n__webpack_require__(\"aaa9\");\n__webpack_require__(\"a7c5\");\n__webpack_require__(\"8a0e\");\n__webpack_require__(\"c107\");\n__webpack_require__(\"2d7d\");\n__webpack_require__(\"0b79\");\n__webpack_require__(\"1bbd\");\n__webpack_require__(\"7abc\");\n\n\n/***/ }),\n\n/***/ \"134c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar fxAttrs = __webpack_require__(\"927d\");\n\nvar Scene = __webpack_require__(\"bb88\");\nvar getSubplotData = __webpack_require__(\"ad62\").getSubplotData;\nvar Lib = __webpack_require__(\"fc26\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\n\nvar GL3D = 'gl3d';\nvar SCENE = 'scene';\n\n\nexports.name = GL3D;\n\nexports.attr = SCENE;\n\nexports.idRoot = SCENE;\n\nexports.idRegex = exports.attrRegex = Lib.counterRegex('scene');\n\nexports.attributes = __webpack_require__(\"cdaf\");\n\nexports.layoutAttributes = __webpack_require__(\"f409\");\n\nexports.baseLayoutAttrOverrides = overrideAll({\n hoverlabel: fxAttrs.hoverlabel\n}, 'plot', 'nested');\n\nexports.supplyLayoutDefaults = __webpack_require__(\"9f41\");\n\nexports.plot = function plot(gd) {\n var fullLayout = gd._fullLayout;\n var fullData = gd._fullData;\n var sceneIds = fullLayout._subplots[GL3D];\n\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneId = sceneIds[i];\n var fullSceneData = getSubplotData(fullData, GL3D, sceneId);\n var sceneLayout = fullLayout[sceneId];\n var camera = sceneLayout.camera;\n var scene = sceneLayout._scene;\n\n if(!scene) {\n scene = new Scene({\n id: sceneId,\n graphDiv: gd,\n container: gd.querySelector('.gl-container'),\n staticPlot: gd._context.staticPlot,\n plotGlPixelRatio: gd._context.plotGlPixelRatio,\n camera: camera\n },\n fullLayout\n );\n\n // set ref to Scene instance\n sceneLayout._scene = scene;\n }\n\n // save 'initial' camera view settings for modebar button\n if(!scene.viewInitial) {\n scene.viewInitial = {\n up: {\n x: camera.up.x,\n y: camera.up.y,\n z: camera.up.z\n },\n eye: {\n x: camera.eye.x,\n y: camera.eye.y,\n z: camera.eye.z\n },\n center: {\n x: camera.center.x,\n y: camera.center.y,\n z: camera.center.z\n }\n };\n }\n\n scene.plot(fullSceneData, fullLayout, gd.layout);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var oldSceneKeys = oldFullLayout._subplots[GL3D] || [];\n\n for(var i = 0; i < oldSceneKeys.length; i++) {\n var oldSceneKey = oldSceneKeys[i];\n\n if(!newFullLayout[oldSceneKey] && !!oldFullLayout[oldSceneKey]._scene) {\n oldFullLayout[oldSceneKey]._scene.destroy();\n\n if(oldFullLayout._infolayer) {\n oldFullLayout._infolayer\n .selectAll('.annotation-' + oldSceneKey)\n .remove();\n }\n }\n }\n};\n\nexports.toSVG = function(gd) {\n var fullLayout = gd._fullLayout;\n var sceneIds = fullLayout._subplots[GL3D];\n var size = fullLayout._size;\n\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneLayout = fullLayout[sceneIds[i]];\n var domain = sceneLayout.domain;\n var scene = sceneLayout._scene;\n\n var imageData = scene.toImage('png');\n var image = fullLayout._glimages.append('svg:image');\n\n image.attr({\n xmlns: xmlnsNamespaces.svg,\n 'xlink:href': imageData,\n x: size.l + size.w * domain.x[0],\n y: size.t + size.h * (1 - domain.y[1]),\n width: size.w * (domain.x[1] - domain.x[0]),\n height: size.h * (domain.y[1] - domain.y[0]),\n preserveAspectRatio: 'none'\n });\n\n scene.destroy();\n }\n};\n\n// clean scene ids, 'scene1' -> 'scene'\nexports.cleanId = function cleanId(id) {\n if(!id.match(/^scene[0-9]*$/)) return;\n\n var sceneNum = id.substr(5);\n if(sceneNum === '1') sceneNum = '';\n\n return SCENE + sceneNum;\n};\n\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[GL3D];\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotObj = fullLayout[subplotIds[i]]._scene;\n subplotObj.updateFx(fullLayout.dragmode, fullLayout.hovermode);\n }\n};\n\n\n/***/ }),\n\n/***/ \"1368\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global) {var require;/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 3.3.1\n */\n\n(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n return function () {\n vertxNext(flush);\n };\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = __webpack_require__(0);\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n _resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n _reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n _reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n _reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return _resolve(promise, value);\n }, function (reason) {\n return _reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$ === GET_THEN_ERROR) {\n _reject(promise, GET_THEN_ERROR.error);\n } else if (then$$ === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$)) {\n handleForeignThenable(promise, maybeThenable, then$$);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction _resolve(promise, value) {\n if (promise === value) {\n _reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction _reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n _reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n _resolve(promise, value);\n } else if (failed) {\n _reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n _reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n _resolve(promise, value);\n }, function rejectPromise(reason) {\n _reject(promise, reason);\n });\n } catch (e) {\n _reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this._input = input;\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate();\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n _reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n var length = this.length;\n var _input = this._input;\n\n for (var i = 0; this._state === PENDING && i < length; i++) {\n this._eachEntry(_input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$ = c.resolve;\n\n if (resolve$$ === resolve) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$) {\n return resolve$$(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$(entry), i);\n }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n _reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nfunction polyfill() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}\n\npolyfill();\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\"), __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"1385\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n// more info: http://stackoverflow.com/questions/18531624/isplainobject-thing\nmodule.exports = function isPlainObject(obj) {\n // We need to be a little less strict in the `imagetest` container because\n // of how async image requests are handled.\n //\n // N.B. isPlainObject(new Constructor()) will return true in `imagetest`\n if(window && window.process && window.process.versions) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n }\n\n return (\n Object.prototype.toString.call(obj) === '[object Object]' &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n};\n\n\n/***/ }),\n\n/***/ \"13a0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3Hierarchy = __webpack_require__(\"c947\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar makeColorScaleFn = __webpack_require__(\"c258\").makeColorScaleFuncFromTrace;\nvar makePullColorFn = __webpack_require__(\"86b8\").makePullColorFn;\nvar generateExtendedColors = __webpack_require__(\"86b8\").generateExtendedColors;\nvar colorscaleCalc = __webpack_require__(\"c258\").calc;\n\nvar ALMOST_EQUAL = __webpack_require__(\"e806\").ALMOST_EQUAL;\n\nvar sunburstExtendedColorWays = {};\nvar treemapExtendedColorWays = {};\n\nexports.calc = function(gd, trace) {\n var fullLayout = gd._fullLayout;\n var ids = trace.ids;\n var hasIds = Lib.isArrayOrTypedArray(ids);\n var labels = trace.labels;\n var parents = trace.parents;\n var values = trace.values;\n var hasValues = Lib.isArrayOrTypedArray(values);\n var cd = [];\n\n var parent2children = {};\n var refs = {};\n var addToLookup = function(parent, v) {\n if(parent2children[parent]) parent2children[parent].push(v);\n else parent2children[parent] = [v];\n refs[v] = 1;\n };\n\n // treat number `0` as valid\n var isValidKey = function(k) {\n return k || typeof k === 'number';\n };\n\n var isValidVal = function(i) {\n return !hasValues || (isNumeric(values[i]) && values[i] >= 0);\n };\n\n var len;\n var isValid;\n var getId;\n\n if(hasIds) {\n len = Math.min(ids.length, parents.length);\n isValid = function(i) { return isValidKey(ids[i]) && isValidVal(i); };\n getId = function(i) { return String(ids[i]); };\n } else {\n len = Math.min(labels.length, parents.length);\n isValid = function(i) { return isValidKey(labels[i]) && isValidVal(i); };\n // TODO We could allow some label / parent duplication\n //\n // From AJ:\n // It would work OK for one level\n // (multiple rows with the same name and different parents -\n // or even the same parent) but if that name is then used as a parent\n // which one is it?\n getId = function(i) { return String(labels[i]); };\n }\n\n if(hasValues) len = Math.min(len, values.length);\n\n for(var i = 0; i < len; i++) {\n if(isValid(i)) {\n var id = getId(i);\n var pid = isValidKey(parents[i]) ? String(parents[i]) : '';\n\n var cdi = {\n i: i,\n id: id,\n pid: pid,\n label: isValidKey(labels[i]) ? String(labels[i]) : ''\n };\n\n if(hasValues) cdi.v = +values[i];\n cd.push(cdi);\n addToLookup(pid, id);\n }\n }\n\n if(!parent2children['']) {\n var impliedRoots = [];\n var k;\n for(k in parent2children) {\n if(!refs[k]) {\n impliedRoots.push(k);\n }\n }\n\n // if an `id` has no ref in the `parents` array,\n // take it as being the root node\n\n if(impliedRoots.length === 1) {\n k = impliedRoots[0];\n cd.unshift({\n hasImpliedRoot: true,\n id: k,\n pid: '',\n label: k\n });\n } else {\n return Lib.warn('Multiple implied roots, cannot build ' + trace.type + ' hierarchy.');\n }\n } else if(parent2children[''].length > 1) {\n var dummyId = Lib.randstr();\n\n // if multiple rows linked to the root node,\n // add dummy \"root of roots\" node to make d3 build the hierarchy successfully\n\n for(var j = 0; j < cd.length; j++) {\n if(cd[j].pid === '') {\n cd[j].pid = dummyId;\n }\n }\n\n cd.unshift({\n hasMultipleRoots: true,\n id: dummyId,\n pid: '',\n label: ''\n });\n }\n\n // TODO might be better to replace stratify() with our own algorithm\n var root;\n try {\n root = d3Hierarchy.stratify()\n .id(function(d) { return d.id; })\n .parentId(function(d) { return d.pid; })(cd);\n } catch(e) {\n return Lib.warn('Failed to build ' + trace.type + ' hierarchy. Error: ' + e.message);\n }\n\n var hierarchy = d3Hierarchy.hierarchy(root);\n var failed = false;\n\n if(hasValues) {\n switch(trace.branchvalues) {\n case 'remainder':\n hierarchy.sum(function(d) { return d.data.v; });\n break;\n case 'total':\n hierarchy.each(function(d) {\n var cdi = d.data.data;\n var v = cdi.v;\n\n if(d.children) {\n var partialSum = d.children.reduce(function(a, c) {\n return a + c.data.data.v;\n }, 0);\n\n // N.B. we must fill in `value` for generated sectors\n // with the partialSum to compute the correct partition\n if(cdi.hasImpliedRoot || cdi.hasMultipleRoots) {\n v = partialSum;\n }\n\n if(v < partialSum * ALMOST_EQUAL) {\n failed = true;\n return Lib.warn([\n 'Total value for node', d.data.data.id,\n 'is smaller than the sum of its children.',\n '\\nparent value =', v,\n '\\nchildren sum =', partialSum\n ].join(' '));\n }\n }\n\n d.value = v;\n });\n break;\n }\n } else {\n countDescendants(hierarchy, trace, {\n branches: trace.count.indexOf('branches') !== -1,\n leaves: trace.count.indexOf('leaves') !== -1\n });\n }\n\n if(failed) return;\n\n // TODO add way to sort by height also?\n hierarchy.sort(function(a, b) { return b.value - a.value; });\n\n var pullColor;\n var scaleColor;\n var colors = trace.marker.colors || [];\n var hasColors = !!colors.length;\n\n if(trace._hasColorscale) {\n if(!hasColors) {\n colors = hasValues ? trace.values : trace._values;\n }\n\n colorscaleCalc(gd, trace, {\n vals: colors,\n containerStr: 'marker',\n cLetter: 'c'\n });\n\n scaleColor = makeColorScaleFn(trace.marker);\n } else {\n pullColor = makePullColorFn(fullLayout['_' + trace.type + 'colormap']);\n }\n\n // TODO keep track of 'root-children' (i.e. branch) for hover info etc.\n\n hierarchy.each(function(d) {\n var cdi = d.data.data;\n // N.B. this mutates items in `cd`\n cdi.color = trace._hasColorscale ?\n scaleColor(colors[cdi.i]) :\n pullColor(colors[cdi.i], cdi.id);\n });\n\n cd[0].hierarchy = hierarchy;\n\n return cd;\n};\n\n/*\n * `calc` filled in (and collated) explicit colors.\n * Now we need to propagate these explicit colors to other traces,\n * and fill in default colors.\n * This is done after sorting, so we pick defaults\n * in the order slices will be displayed\n */\nexports._runCrossTraceCalc = function(desiredType, gd) {\n var fullLayout = gd._fullLayout;\n var calcdata = gd.calcdata;\n var colorWay = fullLayout[desiredType + 'colorway'];\n var colorMap = fullLayout['_' + desiredType + 'colormap'];\n\n if(fullLayout['extend' + desiredType + 'colors']) {\n colorWay = generateExtendedColors(colorWay,\n desiredType === 'treemap' ? treemapExtendedColorWays : sunburstExtendedColorWays\n );\n }\n var dfltColorCount = 0;\n\n function pickColor(d) {\n var cdi = d.data.data;\n var id = cdi.id;\n\n if(cdi.color === false) {\n if(colorMap[id]) {\n // have we seen this label and assigned a color to it in a previous trace?\n cdi.color = colorMap[id];\n } else if(d.parent) {\n if(d.parent.parent) {\n // from third-level on, inherit from parent\n cdi.color = d.parent.data.data.color;\n } else {\n // pick new color for second level\n colorMap[id] = cdi.color = colorWay[dfltColorCount % colorWay.length];\n dfltColorCount++;\n }\n } else {\n // root gets no coloring by default\n cdi.color = 'rgba(0,0,0,0)';\n }\n }\n }\n\n for(var i = 0; i < calcdata.length; i++) {\n var cd = calcdata[i];\n var cd0 = cd[0];\n if(cd0.trace.type === desiredType && cd0.hierarchy) {\n cd0.hierarchy.each(pickColor);\n }\n }\n};\n\nexports.crossTraceCalc = function(gd) {\n return exports._runCrossTraceCalc('sunburst', gd);\n};\n\nfunction countDescendants(node, trace, opts) {\n var nChild = 0;\n\n var children = node.children;\n if(children) {\n var len = children.length;\n\n for(var i = 0; i < len; i++) {\n nChild += countDescendants(children[i], trace, opts);\n }\n\n if(opts.branches) nChild++; // count this branch\n } else {\n if(opts.leaves) nChild++; // count this leaf\n }\n\n // save to the node\n node.value = node.data.data.value = nChild;\n\n // save to the trace\n if(!trace._values) trace._values = [];\n trace._values[node.data.data.i] = nChild;\n\n return nChild;\n}\n\n\n/***/ }),\n\n/***/ \"13a4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n\n// set cursors pointing toward the closest corner/side,\n// to indicate alignment\n// x and y are 0-1, fractions of the plot area\nvar cursorset = [\n ['sw-resize', 's-resize', 'se-resize'],\n ['w-resize', 'move', 'e-resize'],\n ['nw-resize', 'n-resize', 'ne-resize']\n];\n\nmodule.exports = function getCursor(x, y, xanchor, yanchor) {\n if(xanchor === 'left') x = 0;\n else if(xanchor === 'center') x = 1;\n else if(xanchor === 'right') x = 2;\n else x = Lib.constrain(Math.floor(x * 3), 0, 2);\n\n if(yanchor === 'bottom') y = 0;\n else if(yanchor === 'middle') y = 1;\n else if(yanchor === 'top') y = 2;\n else y = Lib.constrain(Math.floor(y * 3), 0, 2);\n\n return cursorset[y][x];\n};\n\n\n/***/ }),\n\n/***/ \"13c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * @module color-space/hsl\n */\n\n\nvar rgb = __webpack_require__(\"1bea\");\n\nmodule.exports = {\n\tname: 'hsl',\n\tmin: [0,0,0],\n\tmax: [360,100,100],\n\tchannel: ['hue', 'saturation', 'lightness'],\n\talias: ['HSL'],\n\n\trgb: function(hsl) {\n\t\tvar h = hsl[0] / 360,\n\t\t\t\ts = hsl[1] / 100,\n\t\t\t\tl = hsl[2] / 100,\n\t\t\t\tt1, t2, t3, rgb, val;\n\n\t\tif (s === 0) {\n\t\t\tval = l * 255;\n\t\t\treturn [val, val, val];\n\t\t}\n\n\t\tif (l < 0.5) {\n\t\t\tt2 = l * (1 + s);\n\t\t}\n\t\telse {\n\t\t\tt2 = l + s - l * s;\n\t\t}\n\t\tt1 = 2 * l - t2;\n\n\t\trgb = [0, 0, 0];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\tt3 = h + 1 / 3 * - (i - 1);\n\t\t\tif (t3 < 0) {\n\t\t\t\tt3++;\n\t\t\t}\n\t\t\telse if (t3 > 1) {\n\t\t\t\tt3--;\n\t\t\t}\n\n\t\t\tif (6 * t3 < 1) {\n\t\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t\t}\n\t\t\telse if (2 * t3 < 1) {\n\t\t\t\tval = t2;\n\t\t\t}\n\t\t\telse if (3 * t3 < 2) {\n\t\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tval = t1;\n\t\t\t}\n\n\t\t\trgb[i] = val * 255;\n\t\t}\n\n\t\treturn rgb;\n\t}\n};\n\n\n//extend rgb\nrgb.hsl = function(rgb) {\n\tvar r = rgb[0]/255,\n\t\t\tg = rgb[1]/255,\n\t\t\tb = rgb[2]/255,\n\t\t\tmin = Math.min(r, g, b),\n\t\t\tmax = Math.max(r, g, b),\n\t\t\tdelta = max - min,\n\t\t\th, s, l;\n\n\tif (max === min) {\n\t\th = 0;\n\t}\n\telse if (r === max) {\n\t\th = (g - b) / delta;\n\t}\n\telse if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t}\n\telse if (b === max) {\n\t\th = 4 + (r - g)/ delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t}\n\telse if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t}\n\telse {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\n\n/***/ }),\n\n/***/ \"13c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Plots = __webpack_require__(\"bb71\");\nvar axisIds = __webpack_require__(\"3c1c\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Icons = __webpack_require__(\"7559\");\n\nvar _ = Lib._;\n\nvar modeBarButtons = module.exports = {};\n\n/**\n * ModeBar buttons configuration\n *\n * @param {string} name\n * name / id of the buttons (for tracking)\n * @param {string} title\n * text that appears while hovering over the button,\n * enter null, false or '' for no hover text\n * @param {string} icon\n * svg icon object associated with the button\n * can be linked to Plotly.Icons to use the default plotly icons\n * @param {string} [gravity]\n * icon positioning\n * @param {function} click\n * click handler associated with the button, a function of\n * 'gd' (the main graph object) and\n * 'ev' (the event object)\n * @param {string} [attr]\n * attribute associated with button,\n * use this with 'val' to keep track of the state\n * @param {*} [val]\n * initial 'attr' value, can be a function of gd\n * @param {boolean} [toggle]\n * is the button a toggle button?\n */\nmodeBarButtons.toImage = {\n name: 'toImage',\n title: function(gd) {\n var opts = gd._context.toImageButtonOptions || {};\n var format = opts.format || 'png';\n return format === 'png' ?\n _(gd, 'Download plot as a png') : // legacy text\n _(gd, 'Download plot'); // generic non-PNG text\n },\n icon: Icons.camera,\n click: function(gd) {\n var toImageButtonOptions = gd._context.toImageButtonOptions;\n var opts = {format: toImageButtonOptions.format || 'png'};\n\n Lib.notifier(_(gd, 'Taking snapshot - this may take a few seconds'), 'long');\n\n if(opts.format !== 'svg' && Lib.isIE()) {\n Lib.notifier(_(gd, 'IE only supports svg. Changing format to svg.'), 'long');\n opts.format = 'svg';\n }\n\n ['filename', 'width', 'height', 'scale'].forEach(function(key) {\n if(key in toImageButtonOptions) {\n opts[key] = toImageButtonOptions[key];\n }\n });\n\n Registry.call('downloadImage', gd, opts)\n .then(function(filename) {\n Lib.notifier(_(gd, 'Snapshot succeeded') + ' - ' + filename, 'long');\n })\n .catch(function() {\n Lib.notifier(_(gd, 'Sorry, there was a problem downloading your snapshot!'), 'long');\n });\n }\n};\n\nmodeBarButtons.sendDataToCloud = {\n name: 'sendDataToCloud',\n title: function(gd) { return _(gd, 'Edit in Chart Studio'); },\n icon: Icons.disk,\n click: function(gd) {\n Plots.sendDataToCloud(gd);\n }\n};\n\nmodeBarButtons.editInChartStudio = {\n name: 'editInChartStudio',\n title: function(gd) { return _(gd, 'Edit in Chart Studio'); },\n icon: Icons.pencil,\n click: function(gd) {\n Plots.sendDataToCloud(gd);\n }\n};\n\nmodeBarButtons.zoom2d = {\n name: 'zoom2d',\n title: function(gd) { return _(gd, 'Zoom'); },\n attr: 'dragmode',\n val: 'zoom',\n icon: Icons.zoombox,\n click: handleCartesian\n};\n\nmodeBarButtons.pan2d = {\n name: 'pan2d',\n title: function(gd) { return _(gd, 'Pan'); },\n attr: 'dragmode',\n val: 'pan',\n icon: Icons.pan,\n click: handleCartesian\n};\n\nmodeBarButtons.select2d = {\n name: 'select2d',\n title: function(gd) { return _(gd, 'Box Select'); },\n attr: 'dragmode',\n val: 'select',\n icon: Icons.selectbox,\n click: handleCartesian\n};\n\nmodeBarButtons.lasso2d = {\n name: 'lasso2d',\n title: function(gd) { return _(gd, 'Lasso Select'); },\n attr: 'dragmode',\n val: 'lasso',\n icon: Icons.lasso,\n click: handleCartesian\n};\n\nmodeBarButtons.zoomIn2d = {\n name: 'zoomIn2d',\n title: function(gd) { return _(gd, 'Zoom in'); },\n attr: 'zoom',\n val: 'in',\n icon: Icons.zoom_plus,\n click: handleCartesian\n};\n\nmodeBarButtons.zoomOut2d = {\n name: 'zoomOut2d',\n title: function(gd) { return _(gd, 'Zoom out'); },\n attr: 'zoom',\n val: 'out',\n icon: Icons.zoom_minus,\n click: handleCartesian\n};\n\nmodeBarButtons.autoScale2d = {\n name: 'autoScale2d',\n title: function(gd) { return _(gd, 'Autoscale'); },\n attr: 'zoom',\n val: 'auto',\n icon: Icons.autoscale,\n click: handleCartesian\n};\n\nmodeBarButtons.resetScale2d = {\n name: 'resetScale2d',\n title: function(gd) { return _(gd, 'Reset axes'); },\n attr: 'zoom',\n val: 'reset',\n icon: Icons.home,\n click: handleCartesian\n};\n\nmodeBarButtons.hoverClosestCartesian = {\n name: 'hoverClosestCartesian',\n title: function(gd) { return _(gd, 'Show closest data on hover'); },\n attr: 'hovermode',\n val: 'closest',\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: handleCartesian\n};\n\nmodeBarButtons.hoverCompareCartesian = {\n name: 'hoverCompareCartesian',\n title: function(gd) { return _(gd, 'Compare data on hover'); },\n attr: 'hovermode',\n val: function(gd) {\n return gd._fullLayout._isHoriz ? 'y' : 'x';\n },\n icon: Icons.tooltip_compare,\n gravity: 'ne',\n click: handleCartesian\n};\n\nfunction handleCartesian(gd, ev) {\n var button = ev.currentTarget;\n var astr = button.getAttribute('data-attr');\n var val = button.getAttribute('data-val') || true;\n var fullLayout = gd._fullLayout;\n var aobj = {};\n var axList = axisIds.list(gd, null, true);\n var allSpikesEnabled = fullLayout._cartesianSpikesEnabled;\n\n var ax, i;\n\n if(astr === 'zoom') {\n var mag = (val === 'in') ? 0.5 : 2;\n var r0 = (1 + mag) / 2;\n var r1 = (1 - mag) / 2;\n var axName;\n\n for(i = 0; i < axList.length; i++) {\n ax = axList[i];\n\n if(!ax.fixedrange) {\n axName = ax._name;\n if(val === 'auto') {\n aobj[axName + '.autorange'] = true;\n } else if(val === 'reset') {\n if(ax._rangeInitial === undefined) {\n aobj[axName + '.autorange'] = true;\n } else {\n var rangeInitial = ax._rangeInitial.slice();\n aobj[axName + '.range[0]'] = rangeInitial[0];\n aobj[axName + '.range[1]'] = rangeInitial[1];\n }\n\n // N.B. \"reset\" also resets showspikes\n if(ax._showSpikeInitial !== undefined) {\n aobj[axName + '.showspikes'] = ax._showSpikeInitial;\n if(allSpikesEnabled === 'on' && !ax._showSpikeInitial) {\n allSpikesEnabled = 'off';\n }\n }\n } else {\n var rangeNow = [\n ax.r2l(ax.range[0]),\n ax.r2l(ax.range[1]),\n ];\n\n var rangeNew = [\n r0 * rangeNow[0] + r1 * rangeNow[1],\n r0 * rangeNow[1] + r1 * rangeNow[0]\n ];\n\n aobj[axName + '.range[0]'] = ax.l2r(rangeNew[0]);\n aobj[axName + '.range[1]'] = ax.l2r(rangeNew[1]);\n }\n }\n }\n } else {\n // if ALL traces have orientation 'h', 'hovermode': 'x' otherwise: 'y'\n if(astr === 'hovermode' && (val === 'x' || val === 'y')) {\n val = fullLayout._isHoriz ? 'y' : 'x';\n button.setAttribute('data-val', val);\n }\n\n aobj[astr] = val;\n }\n\n fullLayout._cartesianSpikesEnabled = allSpikesEnabled;\n\n Registry.call('_guiRelayout', gd, aobj);\n}\n\nmodeBarButtons.zoom3d = {\n name: 'zoom3d',\n title: function(gd) { return _(gd, 'Zoom'); },\n attr: 'scene.dragmode',\n val: 'zoom',\n icon: Icons.zoombox,\n click: handleDrag3d\n};\n\nmodeBarButtons.pan3d = {\n name: 'pan3d',\n title: function(gd) { return _(gd, 'Pan'); },\n attr: 'scene.dragmode',\n val: 'pan',\n icon: Icons.pan,\n click: handleDrag3d\n};\n\nmodeBarButtons.orbitRotation = {\n name: 'orbitRotation',\n title: function(gd) { return _(gd, 'Orbital rotation'); },\n attr: 'scene.dragmode',\n val: 'orbit',\n icon: Icons['3d_rotate'],\n click: handleDrag3d\n};\n\nmodeBarButtons.tableRotation = {\n name: 'tableRotation',\n title: function(gd) { return _(gd, 'Turntable rotation'); },\n attr: 'scene.dragmode',\n val: 'turntable',\n icon: Icons['z-axis'],\n click: handleDrag3d\n};\n\nfunction handleDrag3d(gd, ev) {\n var button = ev.currentTarget;\n var attr = button.getAttribute('data-attr');\n var val = button.getAttribute('data-val') || true;\n var sceneIds = gd._fullLayout._subplots.gl3d || [];\n var layoutUpdate = {};\n\n var parts = attr.split('.');\n\n for(var i = 0; i < sceneIds.length; i++) {\n layoutUpdate[sceneIds[i] + '.' + parts[1]] = val;\n }\n\n // for multi-type subplots\n var val2d = (val === 'pan') ? val : 'zoom';\n layoutUpdate.dragmode = val2d;\n\n Registry.call('_guiRelayout', gd, layoutUpdate);\n}\n\nmodeBarButtons.resetCameraDefault3d = {\n name: 'resetCameraDefault3d',\n title: function(gd) { return _(gd, 'Reset camera to default'); },\n attr: 'resetDefault',\n icon: Icons.home,\n click: handleCamera3d\n};\n\nmodeBarButtons.resetCameraLastSave3d = {\n name: 'resetCameraLastSave3d',\n title: function(gd) { return _(gd, 'Reset camera to last save'); },\n attr: 'resetLastSave',\n icon: Icons.movie,\n click: handleCamera3d\n};\n\nfunction handleCamera3d(gd, ev) {\n var button = ev.currentTarget;\n var attr = button.getAttribute('data-attr');\n var fullLayout = gd._fullLayout;\n var sceneIds = fullLayout._subplots.gl3d || [];\n var aobj = {};\n\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneId = sceneIds[i];\n var camera = sceneId + '.camera';\n var aspectratio = sceneId + '.aspectratio';\n var scene = fullLayout[sceneId]._scene;\n var didUpdate;\n\n if(attr === 'resetLastSave') {\n aobj[camera + '.up'] = scene.viewInitial.up;\n aobj[camera + '.eye'] = scene.viewInitial.eye;\n aobj[camera + '.center'] = scene.viewInitial.center;\n didUpdate = true;\n } else if(attr === 'resetDefault') {\n aobj[camera + '.up'] = null;\n aobj[camera + '.eye'] = null;\n aobj[camera + '.center'] = null;\n didUpdate = true;\n }\n\n if(didUpdate) {\n aobj[aspectratio + '.x'] = scene.viewInitial.aspectratio.x;\n aobj[aspectratio + '.y'] = scene.viewInitial.aspectratio.y;\n aobj[aspectratio + '.z'] = scene.viewInitial.aspectratio.z;\n }\n }\n\n Registry.call('_guiRelayout', gd, aobj);\n}\n\nmodeBarButtons.hoverClosest3d = {\n name: 'hoverClosest3d',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: handleHover3d\n};\n\nfunction getNextHover3d(gd, ev) {\n var button = ev.currentTarget;\n var val = button._previousVal;\n var fullLayout = gd._fullLayout;\n var sceneIds = fullLayout._subplots.gl3d || [];\n\n var axes = ['xaxis', 'yaxis', 'zaxis'];\n\n // initialize 'current spike' object to be stored in the DOM\n var currentSpikes = {};\n var layoutUpdate = {};\n\n if(val) {\n layoutUpdate = val;\n button._previousVal = null;\n } else {\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneId = sceneIds[i];\n var sceneLayout = fullLayout[sceneId];\n\n var hovermodeAStr = sceneId + '.hovermode';\n currentSpikes[hovermodeAStr] = sceneLayout.hovermode;\n layoutUpdate[hovermodeAStr] = false;\n\n // copy all the current spike attrs\n for(var j = 0; j < 3; j++) {\n var axis = axes[j];\n var spikeAStr = sceneId + '.' + axis + '.showspikes';\n layoutUpdate[spikeAStr] = false;\n currentSpikes[spikeAStr] = sceneLayout[axis].showspikes;\n }\n }\n\n button._previousVal = currentSpikes;\n }\n return layoutUpdate;\n}\n\nfunction handleHover3d(gd, ev) {\n var layoutUpdate = getNextHover3d(gd, ev);\n Registry.call('_guiRelayout', gd, layoutUpdate);\n}\n\nmodeBarButtons.zoomInGeo = {\n name: 'zoomInGeo',\n title: function(gd) { return _(gd, 'Zoom in'); },\n attr: 'zoom',\n val: 'in',\n icon: Icons.zoom_plus,\n click: handleGeo\n};\n\nmodeBarButtons.zoomOutGeo = {\n name: 'zoomOutGeo',\n title: function(gd) { return _(gd, 'Zoom out'); },\n attr: 'zoom',\n val: 'out',\n icon: Icons.zoom_minus,\n click: handleGeo\n};\n\nmodeBarButtons.resetGeo = {\n name: 'resetGeo',\n title: function(gd) { return _(gd, 'Reset'); },\n attr: 'reset',\n val: null,\n icon: Icons.autoscale,\n click: handleGeo\n};\n\nmodeBarButtons.hoverClosestGeo = {\n name: 'hoverClosestGeo',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: toggleHover\n};\n\nfunction handleGeo(gd, ev) {\n var button = ev.currentTarget;\n var attr = button.getAttribute('data-attr');\n var val = button.getAttribute('data-val') || true;\n var fullLayout = gd._fullLayout;\n var geoIds = fullLayout._subplots.geo || [];\n\n for(var i = 0; i < geoIds.length; i++) {\n var id = geoIds[i];\n var geoLayout = fullLayout[id];\n\n if(attr === 'zoom') {\n var scale = geoLayout.projection.scale;\n var newScale = (val === 'in') ? 2 * scale : 0.5 * scale;\n\n Registry.call('_guiRelayout', gd, id + '.projection.scale', newScale);\n }\n }\n\n if(attr === 'reset') {\n resetView(gd, 'geo');\n }\n}\n\nmodeBarButtons.hoverClosestGl2d = {\n name: 'hoverClosestGl2d',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: toggleHover\n};\n\nmodeBarButtons.hoverClosestPie = {\n name: 'hoverClosestPie',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: 'closest',\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: toggleHover\n};\n\nfunction getNextHover(gd) {\n var fullLayout = gd._fullLayout;\n\n if(fullLayout.hovermode) return false;\n\n if(fullLayout._has('cartesian')) {\n return fullLayout._isHoriz ? 'y' : 'x';\n }\n return 'closest';\n}\n\nfunction toggleHover(gd) {\n var newHover = getNextHover(gd);\n Registry.call('_guiRelayout', gd, 'hovermode', newHover);\n}\n\nmodeBarButtons.resetViewSankey = {\n name: 'resetSankeyGroup',\n title: function(gd) { return _(gd, 'Reset view'); },\n icon: Icons.home,\n click: function(gd) {\n var aObj = {\n 'node.groups': [],\n 'node.x': [],\n 'node.y': []\n };\n for(var i = 0; i < gd._fullData.length; i++) {\n var viewInitial = gd._fullData[i]._viewInitial;\n aObj['node.groups'].push(viewInitial.node.groups.slice());\n aObj['node.x'].push(viewInitial.node.x.slice());\n aObj['node.y'].push(viewInitial.node.y.slice());\n }\n Registry.call('restyle', gd, aObj);\n }\n};\n\n// buttons when more then one plot types are present\n\nmodeBarButtons.toggleHover = {\n name: 'toggleHover',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: function(gd, ev) {\n var layoutUpdate = getNextHover3d(gd, ev);\n layoutUpdate.hovermode = getNextHover(gd);\n\n Registry.call('_guiRelayout', gd, layoutUpdate);\n }\n};\n\nmodeBarButtons.resetViews = {\n name: 'resetViews',\n title: function(gd) { return _(gd, 'Reset views'); },\n icon: Icons.home,\n click: function(gd, ev) {\n var button = ev.currentTarget;\n\n button.setAttribute('data-attr', 'zoom');\n button.setAttribute('data-val', 'reset');\n handleCartesian(gd, ev);\n\n button.setAttribute('data-attr', 'resetLastSave');\n handleCamera3d(gd, ev);\n\n resetView(gd, 'geo');\n resetView(gd, 'mapbox');\n }\n};\n\nmodeBarButtons.toggleSpikelines = {\n name: 'toggleSpikelines',\n title: function(gd) { return _(gd, 'Toggle Spike Lines'); },\n icon: Icons.spikeline,\n attr: '_cartesianSpikesEnabled',\n val: 'on',\n click: function(gd) {\n var fullLayout = gd._fullLayout;\n var allSpikesEnabled = fullLayout._cartesianSpikesEnabled;\n\n fullLayout._cartesianSpikesEnabled = allSpikesEnabled === 'on' ? 'off' : 'on';\n Registry.call('_guiRelayout', gd, setSpikelineVisibility(gd));\n }\n};\n\nfunction setSpikelineVisibility(gd) {\n var fullLayout = gd._fullLayout;\n var areSpikesOn = fullLayout._cartesianSpikesEnabled === 'on';\n var axList = axisIds.list(gd, null, true);\n var aobj = {};\n\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n aobj[ax._name + '.showspikes'] = areSpikesOn ? true : ax._showSpikeInitial;\n }\n\n return aobj;\n}\n\nmodeBarButtons.resetViewMapbox = {\n name: 'resetViewMapbox',\n title: function(gd) { return _(gd, 'Reset view'); },\n attr: 'reset',\n icon: Icons.home,\n click: function(gd) {\n resetView(gd, 'mapbox');\n }\n};\n\nmodeBarButtons.zoomInMapbox = {\n name: 'zoomInMapbox',\n title: function(gd) { return _(gd, 'Zoom in'); },\n attr: 'zoom',\n val: 'in',\n icon: Icons.zoom_plus,\n click: handleMapboxZoom\n};\n\nmodeBarButtons.zoomOutMapbox = {\n name: 'zoomOutMapbox',\n title: function(gd) { return _(gd, 'Zoom out'); },\n attr: 'zoom',\n val: 'out',\n icon: Icons.zoom_minus,\n click: handleMapboxZoom\n};\n\nfunction handleMapboxZoom(gd, ev) {\n var button = ev.currentTarget;\n var val = button.getAttribute('data-val');\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots.mapbox || [];\n var scalar = 1.05;\n var aObj = {};\n\n for(var i = 0; i < subplotIds.length; i++) {\n var id = subplotIds[i];\n var current = fullLayout[id].zoom;\n var next = (val === 'in') ? scalar * current : current / scalar;\n aObj[id + '.zoom'] = next;\n }\n\n Registry.call('_guiRelayout', gd, aObj);\n}\n\nfunction resetView(gd, subplotType) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[subplotType] || [];\n var aObj = {};\n\n for(var i = 0; i < subplotIds.length; i++) {\n var id = subplotIds[i];\n var subplotObj = fullLayout[id]._subplot;\n var viewInitial = subplotObj.viewInitial;\n var viewKeys = Object.keys(viewInitial);\n\n for(var j = 0; j < viewKeys.length; j++) {\n var key = viewKeys[j];\n aObj[id + '.' + key] = viewInitial[key];\n }\n }\n\n Registry.call('_guiRelayout', gd, aObj);\n}\n\n\n/***/ }),\n\n/***/ \"13d5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $reduce = __webpack_require__(\"d58f\").left;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"1417\":\n/***/ (function(module, exports) {\n\nmodule.exports = multiply;\n\n/**\n * Multiplies two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */\nfunction multiply(out, a, b) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];\n\n // Cache only the current line of the second matrix\n var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; \n out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7];\n out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11];\n out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15];\n out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n return out;\n};\n\n/***/ }),\n\n/***/ \"145a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar getModuleCalcData = __webpack_require__(\"ad62\").getModuleCalcData;\nvar parcatsPlot = __webpack_require__(\"3e11\");\n\nvar PARCATS = 'parcats';\nexports.name = PARCATS;\n\nexports.plot = function(gd, traces, transitionOpts, makeOnCompleteCallback) {\n var cdModuleAndOthers = getModuleCalcData(gd.calcdata, PARCATS);\n\n if(cdModuleAndOthers.length) {\n var calcData = cdModuleAndOthers[0];\n parcatsPlot(gd, calcData, transitionOpts, makeOnCompleteCallback);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var hadTable = (oldFullLayout._has && oldFullLayout._has('parcats'));\n var hasTable = (newFullLayout._has && newFullLayout._has('parcats'));\n\n if(hadTable && !hasTable) {\n oldFullLayout._paperdiv.selectAll('.parcats').remove();\n }\n};\n\n\n/***/ }),\n\n/***/ \"1477\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar isBrowser = __webpack_require__(\"dcf3\")\r\n\r\nfunction detect() {\r\n\tvar supported = false\r\n\r\n\ttry {\r\n\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function() {\r\n\t\t\t\tsupported = true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.addEventListener('test', null, opts)\r\n\t\twindow.removeEventListener('test', null, opts)\r\n\t} catch(e) {\r\n\t\tsupported = false\r\n\t}\r\n\r\n\treturn supported\r\n}\r\n\r\nmodule.exports = isBrowser && detect()\r\n\n\n/***/ }),\n\n/***/ \"14ab\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n\n\n/***/ }),\n\n/***/ \"14b6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar annAttrs = __webpack_require__(\"bb4a\");\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\n\nmodule.exports = overrideAll(templatedArray('annotation', {\n visible: annAttrs.visible,\n x: {\n valType: 'any',\n \n \n },\n y: {\n valType: 'any',\n \n \n },\n z: {\n valType: 'any',\n \n \n },\n ax: {\n valType: 'number',\n \n \n },\n ay: {\n valType: 'number',\n \n \n },\n\n xanchor: annAttrs.xanchor,\n xshift: annAttrs.xshift,\n yanchor: annAttrs.yanchor,\n yshift: annAttrs.yshift,\n\n text: annAttrs.text,\n textangle: annAttrs.textangle,\n font: annAttrs.font,\n width: annAttrs.width,\n height: annAttrs.height,\n opacity: annAttrs.opacity,\n align: annAttrs.align,\n valign: annAttrs.valign,\n bgcolor: annAttrs.bgcolor,\n bordercolor: annAttrs.bordercolor,\n borderpad: annAttrs.borderpad,\n borderwidth: annAttrs.borderwidth,\n showarrow: annAttrs.showarrow,\n arrowcolor: annAttrs.arrowcolor,\n arrowhead: annAttrs.arrowhead,\n startarrowhead: annAttrs.startarrowhead,\n arrowside: annAttrs.arrowside,\n arrowsize: annAttrs.arrowsize,\n startarrowsize: annAttrs.startarrowsize,\n arrowwidth: annAttrs.arrowwidth,\n standoff: annAttrs.standoff,\n startstandoff: annAttrs.startstandoff,\n hovertext: annAttrs.hovertext,\n hoverlabel: annAttrs.hoverlabel,\n captureevents: annAttrs.captureevents,\n\n // maybes later?\n // clicktoshow: annAttrs.clicktoshow,\n // xclick: annAttrs.xclick,\n // yclick: annAttrs.yclick,\n\n // not needed!\n // axref: 'pixel'\n // ayref: 'pixel'\n // xref: 'x'\n // yref: 'y\n // zref: 'z'\n}), 'calc', 'from-root');\n\n\n/***/ }),\n\n/***/ \"14c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"c6b6\");\nvar regexpExec = __webpack_require__(\"9263\");\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/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/***/ \"14cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n\n\n/***/ }),\n\n/***/ \"158b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = findMedian\n\nvar genPartition = __webpack_require__(\"8e58\")\n\nvar partitionStartLessThan = genPartition('lostart && boxes[ptr+axis] > x; \n --j, ptr-=elemSize) {\n //Swap\n var aPtr = ptr\n var bPtr = ptr+elemSize\n for(var k=0; k>> 1)\n var elemSize = 2*d\n var pivot = mid\n var value = boxes[elemSize*mid+axis]\n \n while(lo < hi) {\n if(hi - lo < PARTITION_THRESHOLD) {\n insertionSort(d, axis, lo, hi, boxes, ids)\n value = boxes[elemSize*mid+axis]\n break\n }\n \n //Select pivot using median-of-3\n var count = hi - lo\n var pivot0 = (Math.random()*count+lo)|0\n var value0 = boxes[elemSize*pivot0 + axis]\n var pivot1 = (Math.random()*count+lo)|0\n var value1 = boxes[elemSize*pivot1 + axis]\n var pivot2 = (Math.random()*count+lo)|0\n var value2 = boxes[elemSize*pivot2 + axis]\n if(value0 <= value1) {\n if(value2 >= value1) {\n pivot = pivot1\n value = value1\n } else if(value0 >= value2) {\n pivot = pivot0\n value = value0\n } else {\n pivot = pivot2\n value = value2\n }\n } else {\n if(value1 >= value2) {\n pivot = pivot1\n value = value1\n } else if(value2 >= value0) {\n pivot = pivot0\n value = value0\n } else {\n pivot = pivot2\n value = value2\n }\n }\n\n //Swap pivot to end of array\n var aPtr = elemSize * (hi-1)\n var bPtr = elemSize * pivot\n for(var i=0; i 0) {\n\t\t\tfor (var a = 0; a < facets; a++) {\n\t\t\t\tvar a1 = (a+1) % facets;\n\t\t\t\tverts.push(\n\t\t\t\t\tpreviousVerts[a],\n\t\t\t\t\tcurrentVerts[a],\n\t\t\t\t\tcurrentVerts[a1],\n\n\t\t\t\t\tcurrentVerts[a1],\n\t\t\t\t\tpreviousVerts[a1],\n\t\t\t\t\tpreviousVerts[a]\n\t\t\t\t);\n\t\t\t\tvectors.push(\n\t\t\t\t\tpreviousVector,\n\t\t\t\t\tcurrentVector,\n\t\t\t\t\tcurrentVector,\n\n\t\t\t\t\tcurrentVector,\n\t\t\t\t\tpreviousVector,\n\t\t\t\t\tpreviousVector\n\t\t\t\t);\n\t\t\t\tintensities.push(\n\t\t\t\t\tpreviousIntensity,\n\t\t\t\t\tcurrentIntensity,\n\t\t\t\t\tcurrentIntensity,\n\n\t\t\t\t\tcurrentIntensity,\n\t\t\t\t\tpreviousIntensity,\n\t\t\t\t\tpreviousIntensity\n\t\t\t\t);\n\n\t\t\t\tvar len = verts.length;\n\t\t\t\tfaces.push(\n\t\t\t\t\t[len-6, len-5, len-4],\n\t\t\t\t\t[len-3, len-2, len-1]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tvar tmp1 = previousVerts;\n\t\tpreviousVerts = currentVerts;\n\t\tcurrentVerts = tmp1;\n\n\t\tvar tmp2 = previousVector;\n\t\tpreviousVector = currentVector;\n\t\tcurrentVector = tmp2;\n\n\t\tvar tmp3 = previousIntensity;\n\t\tpreviousIntensity = currentIntensity;\n\t\tcurrentIntensity = tmp3;\n\t}\n\treturn {\n\t\tpositions: verts,\n\t\tcells: faces,\n\t\tvectors: vectors,\n\t\tvertexIntensity: intensities\n\t};\n};\n\nvar createTubes = function(streams, colormap, maxDivergence, minDistance) {\n\n\tvar maxNorm = 0;\n\tfor (var i=0; i v) return i-1;\n }\n return i;\n};\n\nvar clamp = function(v, min, max) {\n\treturn v < min ? min : (v > max ? max : v);\n};\n\nvar sampleMeshgrid = function(point, vectorField, gridInfo) {\n\tvar vectors = vectorField.vectors;\n\tvar meshgrid = vectorField.meshgrid;\n\n\tvar x = point[0];\n\tvar y = point[1];\n\tvar z = point[2];\n\n\tvar w = meshgrid[0].length;\n\tvar h = meshgrid[1].length;\n\tvar d = meshgrid[2].length;\n\n\t// Find the index of the nearest smaller value in the meshgrid for each coordinate of (x,y,z).\n\t// The nearest smaller value index for x is the index x0 such that\n\t// meshgrid[0][x0] < x and for all x1 > x0, meshgrid[0][x1] >= x.\n\tvar x0 = findLastSmallerIndex(meshgrid[0], x);\n\tvar y0 = findLastSmallerIndex(meshgrid[1], y);\n\tvar z0 = findLastSmallerIndex(meshgrid[2], z);\n\n\t// Get the nearest larger meshgrid value indices.\n\t// From the above \"nearest smaller value\", we know that\n\t// meshgrid[0][x0] < x\n\t// meshgrid[0][x0+1] >= x\n\tvar x1 = x0 + 1;\n\tvar y1 = y0 + 1;\n\tvar z1 = z0 + 1;\n\n\tx0 = clamp(x0, 0, w-1);\n\tx1 = clamp(x1, 0, w-1);\n\ty0 = clamp(y0, 0, h-1);\n\ty1 = clamp(y1, 0, h-1);\n\tz0 = clamp(z0, 0, d-1);\n\tz1 = clamp(z1, 0, d-1);\n\n\t// Reject points outside the meshgrid, return a zero vector.\n\tif (x0 < 0 || y0 < 0 || z0 < 0 || x1 > w-1 || y1 > h-1 || z1 > d-1) {\n\t\treturn vec3.create();\n\t}\n\n\t// Normalize point coordinates to 0..1 scaling factor between x0 and x1.\n\tvar mX0 = meshgrid[0][x0];\n\tvar mX1 = meshgrid[0][x1];\n\tvar mY0 = meshgrid[1][y0];\n\tvar mY1 = meshgrid[1][y1];\n\tvar mZ0 = meshgrid[2][z0];\n\tvar mZ1 = meshgrid[2][z1];\n\tvar xf = (x - mX0) / (mX1 - mX0);\n\tvar yf = (y - mY0) / (mY1 - mY0);\n\tvar zf = (z - mZ0) / (mZ1 - mZ0);\n\n\tif (!isFinite(xf)) xf = 0.5;\n\tif (!isFinite(yf)) yf = 0.5;\n\tif (!isFinite(zf)) zf = 0.5;\n\n\tvar x0off;\n\tvar x1off;\n\tvar y0off;\n\tvar y1off;\n\tvar z0off;\n\tvar z1off;\n\n\tif(gridInfo.reversedX) {\n\t\tx0 = w - 1 - x0;\n\t\tx1 = w - 1 - x1;\n\t}\n\n\tif(gridInfo.reversedY) {\n\t\ty0 = h - 1 - y0;\n\t\ty1 = h - 1 - y1;\n\t}\n\n\tif(gridInfo.reversedZ) {\n\t\tz0 = d - 1 - z0;\n\t\tz1 = d - 1 - z1;\n\t}\n\n\tswitch(gridInfo.filled) {\n\t\tcase 5: // 'zyx'\n\t\t\tz0off = z0;\n\t\t\tz1off = z1;\n\t\t\ty0off = y0*d;\n\t\t\ty1off = y1*d;\n\t\t\tx0off = x0*d*h;\n\t\t\tx1off = x1*d*h;\n\t\t\tbreak;\n\n\t\tcase 4: // 'zxy'\n\t\t\tz0off = z0;\n\t\t\tz1off = z1;\n\t\t\tx0off = x0*d;\n\t\t\tx1off = x1*d;\n\t\t\ty0off = y0*d*w;\n\t\t\ty1off = y1*d*w;\n\t\t\tbreak;\n\n\t\tcase 3: // 'yzx'\n\t\t\ty0off = y0;\n\t\t\ty1off = y1;\n\t\t\tz0off = z0*h;\n\t\t\tz1off = z1*h;\n\t\t\tx0off = x0*h*d;\n\t\t\tx1off = x1*h*d;\n\t\t\tbreak;\n\n\t\tcase 2: // 'yxz'\n\t\t\ty0off = y0;\n\t\t\ty1off = y1;\n\t\t\tx0off = x0*h;\n\t\t\tx1off = x1*h;\n\t\t\tz0off = z0*h*w;\n\t\t\tz1off = z1*h*w;\n\t\t\tbreak;\n\n\t\tcase 1: // 'xzy'\n\t\t\tx0off = x0;\n\t\t\tx1off = x1;\n\t\t\tz0off = z0*w;\n\t\t\tz1off = z1*w;\n\t\t\ty0off = y0*w*d;\n\t\t\ty1off = y1*w*d;\n\t\t\tbreak;\n\n\t\tdefault: // case 0: // 'xyz'\n\t\t\tx0off = x0;\n\t\t\tx1off = x1;\n\t\t\ty0off = y0*w;\n\t\t\ty1off = y1*w;\n\t\t\tz0off = z0*w*h;\n\t\t\tz1off = z1*w*h;\n\t\t\tbreak;\n\t}\n\n\t// Sample data vectors around the (x,y,z) point.\n\tvar v000 = vectors[x0off + y0off + z0off];\n\tvar v001 = vectors[x0off + y0off + z1off];\n\tvar v010 = vectors[x0off + y1off + z0off];\n\tvar v011 = vectors[x0off + y1off + z1off];\n\tvar v100 = vectors[x1off + y0off + z0off];\n\tvar v101 = vectors[x1off + y0off + z1off];\n\tvar v110 = vectors[x1off + y1off + z0off];\n\tvar v111 = vectors[x1off + y1off + z1off];\n\n\tvar c00 = vec3.create();\n\tvar c01 = vec3.create();\n\tvar c10 = vec3.create();\n\tvar c11 = vec3.create();\n\n\tvec3.lerp(c00, v000, v100, xf);\n\tvec3.lerp(c01, v001, v101, xf);\n\tvec3.lerp(c10, v010, v110, xf);\n\tvec3.lerp(c11, v011, v111, xf);\n\n\tvar c0 = vec3.create();\n\tvar c1 = vec3.create();\n\n\tvec3.lerp(c0, c00, c10, yf);\n\tvec3.lerp(c1, c01, c11, yf);\n\n\tvar c = vec3.create();\n\n\tvec3.lerp(c, c0, c1, zf);\n\n\treturn c;\n};\n\n\nvar vabs = function(dst, v) {\n\tvar x = v[0];\n\tvar y = v[1];\n\tvar z = v[2];\n\tdst[0] = x < 0 ? -x : x;\n\tdst[1] = y < 0 ? -y : y;\n\tdst[2] = z < 0 ? -z : z;\n\treturn dst;\n};\n\nvar findMinSeparation = function(xs) {\n\tvar minSeparation = Infinity;\n\txs.sort(function(a, b) { return a - b; });\n\tvar len = xs.length;\n\tfor (var i=1; i maxX ||\n\t\t\ty < minY || y > maxY ||\n\t\t\tz < minZ || z > maxZ\n\t\t);\n\t};\n\n\tvar boundsSize = vec3.distance(bounds[0], bounds[1]);\n\tvar maxStepSize = 10 * boundsSize / maxLength;\n\tvar maxStepSizeSq = maxStepSize * maxStepSize;\n\n\tvar minDistance = 1;\n\tvar maxDivergence = 0; // For component-wise divergence vec3.create();\n\n\t// In case we need to do component-wise divergence visualization\n\t// var tmp = vec3.create();\n\n\tvar len = positions.length;\n\tif (len > 1) {\n\t\tminDistance = calculateMinPositionDistance(positions);\n\t}\n\n\tfor (var i = 0; i < len; i++) {\n\t\tvar p = vec3.create();\n\t\tvec3.copy(p, positions[i]);\n\n\t\tvar stream = [p];\n\t\tvar velocities = [];\n\t\tvar v = getVelocity(p);\n\t\tvar op = p;\n\t\tvelocities.push(v);\n\n\t\tvar divergences = [];\n\n\t\tvar dv = getDivergence(p, v);\n\t\tvar dvLength = vec3.length(dv);\n\t\tif (isFinite(dvLength) && dvLength > maxDivergence) {\n\t\t\tmaxDivergence = dvLength;\n\t\t}\n\t\t// In case we need to do component-wise divergence visualization\n\t\t// vec3.max(maxDivergence, maxDivergence, vabs(tmp, dv));\n\t\tdivergences.push(dvLength);\n\n\t\tstreams.push({points: stream, velocities: velocities, divergences: divergences});\n\n\t\tvar j = 0;\n\n\t\twhile (j < maxLength * 100 && stream.length < maxLength && inBounds(p)) {\n\t\t\tj++;\n\t\t\tvar np = vec3.clone(v);\n\t\t\tvar sqLen = vec3.squaredLength(np);\n\t\t\tif (sqLen === 0) {\n\t\t\t\tbreak;\n\t\t\t} else if (sqLen > maxStepSizeSq) {\n\t\t\t\tvec3.scale(np, np, maxStepSize / Math.sqrt(sqLen));\n\t\t\t}\n\t\t\tvec3.add(np, np, p);\n\n\t\t\tv = getVelocity(np);\n\n\t\t\tif (vec3.squaredDistance(op, np) - maxStepSizeSq > -0.0001 * maxStepSizeSq) {\n\t\t\t\tstream.push(np);\n\t\t\t\top = np;\n\t\t\t\tvelocities.push(v);\n\t\t\t\tvar dv = getDivergence(np, v);\n\t\t\t\tvar dvLength = vec3.length(dv);\n\t\t\t\tif (isFinite(dvLength) && dvLength > maxDivergence) {\n\t\t\t\t\tmaxDivergence = dvLength;\n\t\t\t\t}\n\t\t\t\t// In case we need to do component-wise divergence visualization\n\t\t\t\t//vec3.max(maxDivergence, maxDivergence, vabs(tmp, dv));\n\t\t\t\tdivergences.push(dvLength);\n\t\t\t}\n\n\t\t\tp = np;\n\t\t}\n\t}\n\n\tvar tubes = createTubes(streams, vectorField.colormap, maxDivergence, minDistance);\n\n\tif (absoluteTubeSize) {\n\t\ttubes.tubeScale = absoluteTubeSize;\n\t} else {\n\t\t// Avoid division by zero.\n\t\tif (maxDivergence === 0) {\n\t\t\tmaxDivergence = 1;\n\t\t}\n\t\ttubes.tubeScale = tubeSize * 0.5 * minDistance / maxDivergence;\n\t}\n\n\treturn tubes;\n};\n\nvar shaders = __webpack_require__(\"aee4\");\nvar createMesh = __webpack_require__(\"2969\").createMesh;\nmodule.exports.createTubeMesh = function(gl, params) {\n\treturn createMesh(gl, params, {\n\t\tshaders: shaders,\n\t\ttraceType: 'streamtube'\n\t});\n}\n\n\n/***/ }),\n\n/***/ \"16ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"7c39\"),\n layoutAttributes: __webpack_require__(\"36fc\"),\n supplyDefaults: __webpack_require__(\"49d8\"),\n crossTraceDefaults: __webpack_require__(\"abc9\").crossTraceDefaults,\n supplyLayoutDefaults: __webpack_require__(\"870c\"),\n calc: __webpack_require__(\"b8c0\"),\n crossTraceCalc: __webpack_require__(\"e9d4\"),\n plot: __webpack_require__(\"8298\"),\n style: __webpack_require__(\"c451\"),\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"ca92\"),\n selectPoints: __webpack_require__(\"71b1\"),\n\n moduleType: 'trace',\n name: 'violin',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', 'symbols', 'oriented', 'box-violin', 'showLegend', 'violinLayout', 'zoomScale'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"1729\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\n\n// defaults common to 'annotations' and 'annotations3d'\nmodule.exports = function handleAnnotationCommonDefaults(annIn, annOut, fullLayout, coerce) {\n coerce('opacity');\n var bgColor = coerce('bgcolor');\n\n var borderColor = coerce('bordercolor');\n var borderOpacity = Color.opacity(borderColor);\n\n coerce('borderpad');\n\n var borderWidth = coerce('borderwidth');\n var showArrow = coerce('showarrow');\n\n coerce('text', showArrow ? ' ' : fullLayout._dfltTitle.annotation);\n coerce('textangle');\n Lib.coerceFont(coerce, 'font', fullLayout.font);\n\n coerce('width');\n coerce('align');\n\n var h = coerce('height');\n if(h) coerce('valign');\n\n if(showArrow) {\n var arrowside = coerce('arrowside');\n var arrowhead;\n var arrowsize;\n\n if(arrowside.indexOf('end') !== -1) {\n arrowhead = coerce('arrowhead');\n arrowsize = coerce('arrowsize');\n }\n\n if(arrowside.indexOf('start') !== -1) {\n coerce('startarrowhead', arrowhead);\n coerce('startarrowsize', arrowsize);\n }\n coerce('arrowcolor', borderOpacity ? annOut.bordercolor : Color.defaultLine);\n coerce('arrowwidth', ((borderOpacity && borderWidth) || 1) * 2);\n coerce('standoff');\n coerce('startstandoff');\n }\n\n var hoverText = coerce('hovertext');\n var globalHoverLabel = fullLayout.hoverlabel || {};\n\n if(hoverText) {\n var hoverBG = coerce('hoverlabel.bgcolor', globalHoverLabel.bgcolor ||\n (Color.opacity(bgColor) ? Color.rgb(bgColor) : Color.defaultLine)\n );\n\n var hoverBorder = coerce('hoverlabel.bordercolor', globalHoverLabel.bordercolor ||\n Color.contrast(hoverBG)\n );\n\n Lib.coerceFont(coerce, 'hoverlabel.font', {\n family: globalHoverLabel.font.family,\n size: globalHoverLabel.font.size,\n color: globalHoverLabel.font.color || hoverBorder\n });\n }\n\n coerce('captureevents', !!hoverText);\n};\n\n\n/***/ }),\n\n/***/ \"1735\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"02ea\"),\n supplyDefaults: __webpack_require__(\"2ff0\"),\n colorbar: {\n min: 'cmin',\n max: 'cmax'\n },\n calc: __webpack_require__(\"0054\"),\n plot: __webpack_require__(\"baab\"),\n\n moduleType: 'trace',\n name: 'surface',\n basePlotModule: __webpack_require__(\"134c\"),\n categories: ['gl3d', '2dMap', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"175e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction unique_pred(list, compare) {\n var ptr = 1\n , len = list.length\n , a=list[0], b=list[0]\n for(var i=1; i 1.0) {\n t = 1.0\n }\n var ti = 1.0 - t\n var n = a.length\n var r = new Array(n)\n for(var i=0; i 0) || (a > 0 && b < 0)) {\n var p = lerpW(s, b, t, a)\n pos.push(p)\n neg.push(p.slice())\n }\n if(b < 0) {\n neg.push(t.slice())\n } else if(b > 0) {\n pos.push(t.slice())\n } else {\n pos.push(t.slice())\n neg.push(t.slice())\n }\n a = b\n }\n return { positive: pos, negative: neg }\n}\n\nfunction positive(points, plane) {\n var pos = []\n var a = planeT(points[points.length-1], plane)\n for(var s=points[points.length-1], t=points[0], i=0; i 0) || (a > 0 && b < 0)) {\n pos.push(lerpW(s, b, t, a))\n }\n if(b >= 0) {\n pos.push(t.slice())\n }\n a = b\n }\n return pos\n}\n\nfunction negative(points, plane) {\n var neg = []\n var a = planeT(points[points.length-1], plane)\n for(var s=points[points.length-1], t=points[0], i=0; i 0) || (a > 0 && b < 0)) {\n neg.push(lerpW(s, b, t, a))\n }\n if(b <= 0) {\n neg.push(t.slice())\n }\n a = b\n }\n return neg\n}\n\n/***/ }),\n\n/***/ \"1793\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isFunction = __webpack_require__(\"6321\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n\n\n/***/ }),\n\n/***/ \"17c2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $forEach = __webpack_require__(\"b727\").forEach;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n\n\n/***/ }),\n\n/***/ \"182a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar getModuleCalcData = __webpack_require__(\"ad62\").getModuleCalcData;\nvar tablePlot = __webpack_require__(\"26dd\");\n\nvar TABLE = 'table';\n\nexports.name = TABLE;\n\nexports.plot = function(gd) {\n var calcData = getModuleCalcData(gd.calcdata, TABLE)[0];\n if(calcData.length) tablePlot(gd, calcData);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var hadTable = (oldFullLayout._has && oldFullLayout._has(TABLE));\n var hasTable = (newFullLayout._has && newFullLayout._has(TABLE));\n\n if(hadTable && !hasTable) {\n oldFullLayout._paperdiv.selectAll('.table').remove();\n }\n};\n\n\n/***/ }),\n\n/***/ \"1876\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar polybool = __webpack_require__(\"2441\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Color = __webpack_require__(\"d115\");\nvar Fx = __webpack_require__(\"a5c4\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar polygon = __webpack_require__(\"b68b\");\nvar throttle = __webpack_require__(\"7df2\");\nvar makeEventData = __webpack_require__(\"c4c7\").makeEventData;\nvar getFromId = __webpack_require__(\"3c1c\").getFromId;\nvar clearGlCanvases = __webpack_require__(\"821b\");\n\nvar redrawReglTraces = __webpack_require__(\"a392\").redrawReglTraces;\n\nvar constants = __webpack_require__(\"d301\");\nvar MINSELECT = constants.MINSELECT;\n\nvar filteredPolygon = polygon.filter;\nvar polygonTester = polygon.tester;\n\nfunction getAxId(ax) { return ax._id; }\n\nfunction prepSelect(e, startX, startY, dragOptions, mode) {\n var gd = dragOptions.gd;\n var fullLayout = gd._fullLayout;\n var zoomLayer = fullLayout._zoomlayer;\n var dragBBox = dragOptions.element.getBoundingClientRect();\n var plotinfo = dragOptions.plotinfo;\n var xs = plotinfo.xaxis._offset;\n var ys = plotinfo.yaxis._offset;\n var x0 = startX - dragBBox.left;\n var y0 = startY - dragBBox.top;\n var x1 = x0;\n var y1 = y0;\n var path0 = 'M' + x0 + ',' + y0;\n var pw = dragOptions.xaxes[0]._length;\n var ph = dragOptions.yaxes[0]._length;\n var allAxes = dragOptions.xaxes.concat(dragOptions.yaxes);\n var subtract = e.altKey;\n\n var filterPoly, selectionTester, mergedPolygons, currentPolygon;\n var i, searchInfo, eventData;\n\n coerceSelectionsCache(e, gd, dragOptions);\n\n if(mode === 'lasso') {\n filterPoly = filteredPolygon([[x0, y0]], constants.BENDPX);\n }\n\n var outlines = zoomLayer.selectAll('path.select-outline-' + plotinfo.id).data([1, 2]);\n\n outlines.enter()\n .append('path')\n .attr('class', function(d) { return 'select-outline select-outline-' + d + ' select-outline-' + plotinfo.id; })\n .attr('transform', 'translate(' + xs + ', ' + ys + ')')\n .attr('d', path0 + 'Z');\n\n var corners = zoomLayer.append('path')\n .attr('class', 'zoombox-corners')\n .style({\n fill: Color.background,\n stroke: Color.defaultLine,\n 'stroke-width': 1\n })\n .attr('transform', 'translate(' + xs + ', ' + ys + ')')\n .attr('d', 'M0,0Z');\n\n\n var throttleID = fullLayout._uid + constants.SELECTID;\n var selection = [];\n\n // find the traces to search for selection points\n var searchTraces = determineSearchTraces(gd, dragOptions.xaxes,\n dragOptions.yaxes, dragOptions.subplot);\n\n // in v2 (once log ranges are fixed),\n // we'll be able to p2r here for all axis types\n function p2r(ax, v) {\n return ax.type === 'log' ? ax.p2d(v) : ax.p2r(v);\n }\n\n function axValue(ax) {\n var index = (ax._id.charAt(0) === 'y') ? 1 : 0;\n return function(v) { return p2r(ax, v[index]); };\n }\n\n function ascending(a, b) { return a - b; }\n\n // allow subplots to override fillRangeItems routine\n var fillRangeItems;\n\n if(plotinfo.fillRangeItems) {\n fillRangeItems = plotinfo.fillRangeItems;\n } else {\n if(mode === 'select') {\n fillRangeItems = function(eventData, poly) {\n var ranges = eventData.range = {};\n\n for(i = 0; i < allAxes.length; i++) {\n var ax = allAxes[i];\n var axLetter = ax._id.charAt(0);\n\n ranges[ax._id] = [\n p2r(ax, poly[axLetter + 'min']),\n p2r(ax, poly[axLetter + 'max'])\n ].sort(ascending);\n }\n };\n } else {\n fillRangeItems = function(eventData, poly, filterPoly) {\n var dataPts = eventData.lassoPoints = {};\n\n for(i = 0; i < allAxes.length; i++) {\n var ax = allAxes[i];\n dataPts[ax._id] = filterPoly.filtered.map(axValue(ax));\n }\n };\n }\n }\n\n dragOptions.moveFn = function(dx0, dy0) {\n x1 = Math.max(0, Math.min(pw, dx0 + x0));\n y1 = Math.max(0, Math.min(ph, dy0 + y0));\n\n var dx = Math.abs(x1 - x0);\n var dy = Math.abs(y1 - y0);\n\n if(mode === 'select') {\n var direction = fullLayout.selectdirection;\n\n if(fullLayout.selectdirection === 'any') {\n if(dy < Math.min(dx * 0.6, MINSELECT)) direction = 'h';\n else if(dx < Math.min(dy * 0.6, MINSELECT)) direction = 'v';\n else direction = 'd';\n } else {\n direction = fullLayout.selectdirection;\n }\n\n if(direction === 'h') {\n // horizontal motion: make a vertical box\n currentPolygon = [[x0, 0], [x0, ph], [x1, ph], [x1, 0]];\n currentPolygon.xmin = Math.min(x0, x1);\n currentPolygon.xmax = Math.max(x0, x1);\n currentPolygon.ymin = Math.min(0, ph);\n currentPolygon.ymax = Math.max(0, ph);\n // extras to guide users in keeping a straight selection\n corners.attr('d', 'M' + currentPolygon.xmin + ',' + (y0 - MINSELECT) +\n 'h-4v' + (2 * MINSELECT) + 'h4Z' +\n 'M' + (currentPolygon.xmax - 1) + ',' + (y0 - MINSELECT) +\n 'h4v' + (2 * MINSELECT) + 'h-4Z');\n } else if(direction === 'v') {\n // vertical motion: make a horizontal box\n currentPolygon = [[0, y0], [0, y1], [pw, y1], [pw, y0]];\n currentPolygon.xmin = Math.min(0, pw);\n currentPolygon.xmax = Math.max(0, pw);\n currentPolygon.ymin = Math.min(y0, y1);\n currentPolygon.ymax = Math.max(y0, y1);\n corners.attr('d', 'M' + (x0 - MINSELECT) + ',' + currentPolygon.ymin +\n 'v-4h' + (2 * MINSELECT) + 'v4Z' +\n 'M' + (x0 - MINSELECT) + ',' + (currentPolygon.ymax - 1) +\n 'v4h' + (2 * MINSELECT) + 'v-4Z');\n } else if(direction === 'd') {\n // diagonal motion\n currentPolygon = [[x0, y0], [x0, y1], [x1, y1], [x1, y0]];\n currentPolygon.xmin = Math.min(x0, x1);\n currentPolygon.xmax = Math.max(x0, x1);\n currentPolygon.ymin = Math.min(y0, y1);\n currentPolygon.ymax = Math.max(y0, y1);\n corners.attr('d', 'M0,0Z');\n }\n } else if(mode === 'lasso') {\n filterPoly.addPt([x1, y1]);\n currentPolygon = filterPoly.filtered;\n }\n\n // create outline & tester\n if(dragOptions.selectionDefs && dragOptions.selectionDefs.length) {\n mergedPolygons = mergePolygons(dragOptions.mergedPolygons, currentPolygon, subtract);\n currentPolygon.subtract = subtract;\n selectionTester = multiTester(dragOptions.selectionDefs.concat([currentPolygon]));\n } else {\n mergedPolygons = [currentPolygon];\n selectionTester = polygonTester(currentPolygon);\n }\n\n // draw selection\n drawSelection(mergedPolygons, outlines);\n\n\n throttle.throttle(\n throttleID,\n constants.SELECTDELAY,\n function() {\n selection = [];\n\n var thisSelection;\n var traceSelections = [];\n var traceSelection;\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n\n traceSelection = searchInfo._module.selectPoints(searchInfo, selectionTester);\n traceSelections.push(traceSelection);\n\n thisSelection = fillSelectionItem(traceSelection, searchInfo);\n\n if(selection.length) {\n for(var j = 0; j < thisSelection.length; j++) {\n selection.push(thisSelection[j]);\n }\n } else selection = thisSelection;\n }\n\n eventData = {points: selection};\n updateSelectedState(gd, searchTraces, eventData);\n fillRangeItems(eventData, currentPolygon, filterPoly);\n dragOptions.gd.emit('plotly_selecting', eventData);\n }\n );\n };\n\n dragOptions.clickFn = function(numClicks, evt) {\n var clickmode = fullLayout.clickmode;\n\n corners.remove();\n\n throttle.done(throttleID).then(function() {\n throttle.clear(throttleID);\n if(numClicks === 2) {\n // clear selection on doubleclick\n outlines.remove();\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n searchInfo._module.selectPoints(searchInfo, false);\n }\n\n updateSelectedState(gd, searchTraces);\n\n clearSelectionsCache(dragOptions);\n\n gd.emit('plotly_deselect', null);\n } else {\n if(clickmode.indexOf('select') > -1) {\n selectOnClick(evt, gd, dragOptions.xaxes, dragOptions.yaxes,\n dragOptions.subplot, dragOptions, outlines);\n }\n\n if(clickmode === 'event') {\n // TODO: remove in v2 - this was probably never intended to work as it does,\n // but in case anyone depends on it we don't want to break it now.\n // Note that click-to-select introduced pre v2 also emitts proper\n // event data when clickmode is having 'select' in its flag list.\n gd.emit('plotly_selected', undefined);\n }\n }\n\n Fx.click(gd, evt);\n }).catch(Lib.error);\n };\n\n dragOptions.doneFn = function() {\n corners.remove();\n\n throttle.done(throttleID).then(function() {\n throttle.clear(throttleID);\n dragOptions.gd.emit('plotly_selected', eventData);\n\n if(currentPolygon && dragOptions.selectionDefs) {\n // save last polygons\n currentPolygon.subtract = subtract;\n dragOptions.selectionDefs.push(currentPolygon);\n\n // we have to keep reference to arrays container\n dragOptions.mergedPolygons.length = 0;\n [].push.apply(dragOptions.mergedPolygons, mergedPolygons);\n }\n\n if(dragOptions.doneFnCompleted) {\n dragOptions.doneFnCompleted(selection);\n }\n }).catch(Lib.error);\n };\n}\n\nfunction selectOnClick(evt, gd, xAxes, yAxes, subplot, dragOptions, polygonOutlines) {\n var hoverData = gd._hoverdata;\n var clickmode = gd._fullLayout.clickmode;\n var sendEvents = clickmode.indexOf('event') > -1;\n var selection = [];\n var searchTraces, searchInfo, currentSelectionDef, selectionTester, traceSelection;\n var thisTracesSelection, pointOrBinSelected, subtract, eventData, i;\n\n if(isHoverDataSet(hoverData)) {\n coerceSelectionsCache(evt, gd, dragOptions);\n searchTraces = determineSearchTraces(gd, xAxes, yAxes, subplot);\n var clickedPtInfo = extractClickedPtInfo(hoverData, searchTraces);\n var isBinnedTrace = clickedPtInfo.pointNumbers.length > 0;\n\n\n // Note: potentially costly operation isPointOrBinSelected is\n // called as late as possible through the use of an assignment\n // in an if condition.\n if(isBinnedTrace ?\n isOnlyThisBinSelected(searchTraces, clickedPtInfo) :\n isOnlyOnePointSelected(searchTraces) &&\n (pointOrBinSelected = isPointOrBinSelected(clickedPtInfo))) {\n if(polygonOutlines) polygonOutlines.remove();\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n searchInfo._module.selectPoints(searchInfo, false);\n }\n\n updateSelectedState(gd, searchTraces);\n\n clearSelectionsCache(dragOptions);\n\n if(sendEvents) {\n gd.emit('plotly_deselect', null);\n }\n } else {\n subtract = evt.shiftKey &&\n (pointOrBinSelected !== undefined ?\n pointOrBinSelected :\n isPointOrBinSelected(clickedPtInfo));\n currentSelectionDef = newPointSelectionDef(clickedPtInfo.pointNumber, clickedPtInfo.searchInfo, subtract);\n\n var allSelectionDefs = dragOptions.selectionDefs.concat([currentSelectionDef]);\n selectionTester = multiTester(allSelectionDefs);\n\n for(i = 0; i < searchTraces.length; i++) {\n traceSelection = searchTraces[i]._module.selectPoints(searchTraces[i], selectionTester);\n thisTracesSelection = fillSelectionItem(traceSelection, searchTraces[i]);\n\n if(selection.length) {\n for(var j = 0; j < thisTracesSelection.length; j++) {\n selection.push(thisTracesSelection[j]);\n }\n } else selection = thisTracesSelection;\n }\n\n eventData = {points: selection};\n updateSelectedState(gd, searchTraces, eventData);\n\n if(currentSelectionDef && dragOptions) {\n dragOptions.selectionDefs.push(currentSelectionDef);\n }\n\n if(polygonOutlines) drawSelection(dragOptions.mergedPolygons, polygonOutlines);\n\n if(sendEvents) {\n gd.emit('plotly_selected', eventData);\n }\n }\n }\n}\n\n/**\n * Constructs a new point selection definition object.\n */\nfunction newPointSelectionDef(pointNumber, searchInfo, subtract) {\n return {\n pointNumber: pointNumber,\n searchInfo: searchInfo,\n subtract: subtract\n };\n}\n\nfunction isPointSelectionDef(o) {\n return 'pointNumber' in o && 'searchInfo' in o;\n}\n\n/*\n * Constructs a new point number tester.\n */\nfunction newPointNumTester(pointSelectionDef) {\n return {\n xmin: 0,\n xmax: 0,\n ymin: 0,\n ymax: 0,\n pts: [],\n contains: function(pt, omitFirstEdge, pointNumber, searchInfo) {\n var idxWantedTrace = pointSelectionDef.searchInfo.cd[0].trace._expandedIndex;\n var idxActualTrace = searchInfo.cd[0].trace._expandedIndex;\n return idxActualTrace === idxWantedTrace &&\n pointNumber === pointSelectionDef.pointNumber;\n },\n isRect: false,\n degenerate: false,\n subtract: pointSelectionDef.subtract\n };\n}\n\n/**\n * Wraps multiple selection testers.\n *\n * @param {Array} list - An array of selection testers.\n *\n * @return a selection tester object with a contains function\n * that can be called to evaluate a point against all wrapped\n * selection testers that were passed in list.\n */\nfunction multiTester(list) {\n var testers = [];\n var xmin = isPointSelectionDef(list[0]) ? 0 : list[0][0][0];\n var xmax = xmin;\n var ymin = isPointSelectionDef(list[0]) ? 0 : list[0][0][1];\n var ymax = ymin;\n\n for(var i = 0; i < list.length; i++) {\n if(isPointSelectionDef(list[i])) {\n testers.push(newPointNumTester(list[i]));\n } else {\n var tester = polygon.tester(list[i]);\n tester.subtract = list[i].subtract;\n testers.push(tester);\n xmin = Math.min(xmin, tester.xmin);\n xmax = Math.max(xmax, tester.xmax);\n ymin = Math.min(ymin, tester.ymin);\n ymax = Math.max(ymax, tester.ymax);\n }\n }\n\n /**\n * Tests if the given point is within this tester.\n *\n * @param {Array} pt - [0] is the x coordinate, [1] is the y coordinate of the point.\n * @param {*} arg - An optional parameter to pass down to wrapped testers.\n * @param {number} pointNumber - The point number of the point within the underlying data array.\n * @param {number} searchInfo - An object identifying the trace the point is contained in.\n *\n * @return {boolean} true if point is considered to be selected, false otherwise.\n */\n function contains(pt, arg, pointNumber, searchInfo) {\n var contained = false;\n for(var i = 0; i < testers.length; i++) {\n if(testers[i].contains(pt, arg, pointNumber, searchInfo)) {\n // if contained by subtract tester - exclude the point\n contained = testers[i].subtract === false;\n }\n }\n\n return contained;\n }\n\n return {\n xmin: xmin,\n xmax: xmax,\n ymin: ymin,\n ymax: ymax,\n pts: [],\n contains: contains,\n isRect: false,\n degenerate: false\n };\n}\n\nfunction coerceSelectionsCache(evt, gd, dragOptions) {\n var fullLayout = gd._fullLayout;\n var plotinfo = dragOptions.plotinfo;\n\n var selectingOnSameSubplot = (\n fullLayout._lastSelectedSubplot &&\n fullLayout._lastSelectedSubplot === plotinfo.id\n );\n var hasModifierKey = evt.shiftKey || evt.altKey;\n\n if(selectingOnSameSubplot && hasModifierKey &&\n (plotinfo.selection && plotinfo.selection.selectionDefs) && !dragOptions.selectionDefs) {\n // take over selection definitions from prev mode, if any\n dragOptions.selectionDefs = plotinfo.selection.selectionDefs;\n dragOptions.mergedPolygons = plotinfo.selection.mergedPolygons;\n } else if(!hasModifierKey || !plotinfo.selection) {\n clearSelectionsCache(dragOptions);\n }\n\n // clear selection outline when selecting a different subplot\n if(!selectingOnSameSubplot) {\n clearSelect(gd);\n fullLayout._lastSelectedSubplot = plotinfo.id;\n }\n}\n\nfunction clearSelectionsCache(dragOptions) {\n var plotinfo = dragOptions.plotinfo;\n\n plotinfo.selection = {};\n plotinfo.selection.selectionDefs = dragOptions.selectionDefs = [];\n plotinfo.selection.mergedPolygons = dragOptions.mergedPolygons = [];\n}\n\nfunction determineSearchTraces(gd, xAxes, yAxes, subplot) {\n var searchTraces = [];\n var xAxisIds = xAxes.map(getAxId);\n var yAxisIds = yAxes.map(getAxId);\n var cd, trace, i;\n\n for(i = 0; i < gd.calcdata.length; i++) {\n cd = gd.calcdata[i];\n trace = cd[0].trace;\n\n if(trace.visible !== true || !trace._module || !trace._module.selectPoints) continue;\n\n if(subplot && (trace.subplot === subplot || trace.geo === subplot)) {\n searchTraces.push(createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]));\n } else if(\n trace.type === 'splom' &&\n // FIXME: make sure we don't have more than single axis for splom\n trace._xaxes[xAxisIds[0]] && trace._yaxes[yAxisIds[0]]\n ) {\n var info = createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]);\n info.scene = gd._fullLayout._splomScenes[trace.uid];\n searchTraces.push(info);\n } else if(\n trace.type === 'sankey'\n ) {\n var sankeyInfo = createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]);\n searchTraces.push(sankeyInfo);\n } else {\n if(xAxisIds.indexOf(trace.xaxis) === -1) continue;\n if(yAxisIds.indexOf(trace.yaxis) === -1) continue;\n\n searchTraces.push(createSearchInfo(trace._module, cd,\n getFromId(gd, trace.xaxis), getFromId(gd, trace.yaxis)));\n }\n }\n\n return searchTraces;\n\n function createSearchInfo(module, calcData, xaxis, yaxis) {\n return {\n _module: module,\n cd: calcData,\n xaxis: xaxis,\n yaxis: yaxis\n };\n }\n}\n\nfunction drawSelection(polygons, outlines) {\n var paths = [];\n var i, d;\n\n for(i = 0; i < polygons.length; i++) {\n var ppts = polygons[i];\n paths.push(ppts.join('L') + 'L' + ppts[0]);\n }\n\n d = polygons.length > 0 ?\n 'M' + paths.join('M') + 'Z' :\n 'M0,0Z';\n outlines.attr('d', d);\n}\n\nfunction isHoverDataSet(hoverData) {\n return hoverData &&\n Array.isArray(hoverData) &&\n hoverData[0].hoverOnBox !== true;\n}\n\nfunction extractClickedPtInfo(hoverData, searchTraces) {\n var hoverDatum = hoverData[0];\n var pointNumber = -1;\n var pointNumbers = [];\n var searchInfo, i;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n if(hoverDatum.fullData._expandedIndex === searchInfo.cd[0].trace._expandedIndex) {\n // Special case for box (and violin)\n if(hoverDatum.hoverOnBox === true) {\n break;\n }\n\n // Hint: in some traces like histogram, one graphical element\n // doesn't correspond to one particular data point, but to\n // bins of data points. Thus, hoverDatum can have a binNumber\n // property instead of pointNumber.\n if(hoverDatum.pointNumber !== undefined) {\n pointNumber = hoverDatum.pointNumber;\n } else if(hoverDatum.binNumber !== undefined) {\n pointNumber = hoverDatum.binNumber;\n pointNumbers = hoverDatum.pointNumbers;\n }\n\n break;\n }\n }\n\n return {\n pointNumber: pointNumber,\n pointNumbers: pointNumbers,\n searchInfo: searchInfo\n };\n}\n\nfunction isPointOrBinSelected(clickedPtInfo) {\n var trace = clickedPtInfo.searchInfo.cd[0].trace;\n var ptNum = clickedPtInfo.pointNumber;\n var ptNums = clickedPtInfo.pointNumbers;\n var ptNumsSet = ptNums.length > 0;\n\n // When pointsNumbers is set (e.g. histogram's binning),\n // it is assumed that when the first point of\n // a bin is selected, all others are as well\n var ptNumToTest = ptNumsSet ? ptNums[0] : ptNum;\n\n // TODO potential performance improvement\n // Primarily we need this function to determine if a click adds\n // or subtracts from a selection.\n // In cases `trace.selectedpoints` is a huge array, indexOf\n // might be slow. One remedy would be to introduce a hash somewhere.\n return trace.selectedpoints ? trace.selectedpoints.indexOf(ptNumToTest) > -1 : false;\n}\n\nfunction isOnlyThisBinSelected(searchTraces, clickedPtInfo) {\n var tracesWithSelectedPts = [];\n var searchInfo, trace, isSameTrace, i;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n if(searchInfo.cd[0].trace.selectedpoints && searchInfo.cd[0].trace.selectedpoints.length > 0) {\n tracesWithSelectedPts.push(searchInfo);\n }\n }\n\n if(tracesWithSelectedPts.length === 1) {\n isSameTrace = tracesWithSelectedPts[0] === clickedPtInfo.searchInfo;\n if(isSameTrace) {\n trace = clickedPtInfo.searchInfo.cd[0].trace;\n if(trace.selectedpoints.length === clickedPtInfo.pointNumbers.length) {\n for(i = 0; i < clickedPtInfo.pointNumbers.length; i++) {\n if(trace.selectedpoints.indexOf(clickedPtInfo.pointNumbers[i]) < 0) {\n return false;\n }\n }\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction isOnlyOnePointSelected(searchTraces) {\n var len = 0;\n var searchInfo, trace, i;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n trace = searchInfo.cd[0].trace;\n if(trace.selectedpoints) {\n if(trace.selectedpoints.length > 1) return false;\n\n len += trace.selectedpoints.length;\n if(len > 1) return false;\n }\n }\n\n return len === 1;\n}\n\nfunction updateSelectedState(gd, searchTraces, eventData) {\n var i, searchInfo, cd, trace;\n\n // before anything else, update preGUI if necessary\n for(i = 0; i < searchTraces.length; i++) {\n var fullInputTrace = searchTraces[i].cd[0].trace._fullInput;\n var tracePreGUI = gd._fullLayout._tracePreGUI[fullInputTrace.uid] || {};\n if(tracePreGUI.selectedpoints === undefined) {\n tracePreGUI.selectedpoints = fullInputTrace._input.selectedpoints || null;\n }\n }\n\n if(eventData) {\n var pts = eventData.points || [];\n\n for(i = 0; i < searchTraces.length; i++) {\n trace = searchTraces[i].cd[0].trace;\n trace._input.selectedpoints = trace._fullInput.selectedpoints = [];\n if(trace._fullInput !== trace) trace.selectedpoints = [];\n }\n\n for(i = 0; i < pts.length; i++) {\n var pt = pts[i];\n var data = pt.data;\n var fullData = pt.fullData;\n\n if(pt.pointIndices) {\n [].push.apply(data.selectedpoints, pt.pointIndices);\n if(trace._fullInput !== trace) {\n [].push.apply(fullData.selectedpoints, pt.pointIndices);\n }\n } else {\n data.selectedpoints.push(pt.pointIndex);\n if(trace._fullInput !== trace) {\n fullData.selectedpoints.push(pt.pointIndex);\n }\n }\n }\n } else {\n for(i = 0; i < searchTraces.length; i++) {\n trace = searchTraces[i].cd[0].trace;\n delete trace.selectedpoints;\n delete trace._input.selectedpoints;\n if(trace._fullInput !== trace) {\n delete trace._fullInput.selectedpoints;\n }\n }\n }\n\n var hasRegl = false;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n cd = searchInfo.cd;\n trace = cd[0].trace;\n\n if(Registry.traceIs(trace, 'regl')) {\n hasRegl = true;\n }\n\n var _module = searchInfo._module;\n var fn = _module.styleOnSelect || _module.style;\n if(fn) {\n fn(gd, cd, cd[0].node3);\n if(cd[0].nodeRangePlot3) fn(gd, cd, cd[0].nodeRangePlot3);\n }\n }\n\n if(hasRegl) {\n clearGlCanvases(gd);\n redrawReglTraces(gd);\n }\n}\n\nfunction mergePolygons(list, poly, subtract) {\n var res;\n\n if(subtract) {\n res = polybool.difference({\n regions: list,\n inverted: false\n }, {\n regions: [poly],\n inverted: false\n });\n\n return res.regions;\n }\n\n res = polybool.union({\n regions: list,\n inverted: false\n }, {\n regions: [poly],\n inverted: false\n });\n\n return res.regions;\n}\n\nfunction fillSelectionItem(selection, searchInfo) {\n if(Array.isArray(selection)) {\n var cd = searchInfo.cd;\n var trace = searchInfo.cd[0].trace;\n\n for(var i = 0; i < selection.length; i++) {\n selection[i] = makeEventData(selection[i], trace, cd);\n }\n }\n\n return selection;\n}\n\n// until we get around to persistent selections, remove the outline\n// here. The selection itself will be removed when the plot redraws\n// at the end.\nfunction clearSelect(gd) {\n var fullLayout = gd._fullLayout || {};\n var zoomlayer = fullLayout._zoomlayer;\n if(zoomlayer) {\n zoomlayer.selectAll('.select-outline').remove();\n }\n}\n\nmodule.exports = {\n prepSelect: prepSelect,\n clearSelect: clearSelect,\n selectOnClick: selectOnClick\n};\n\n\n/***/ }),\n\n/***/ \"18a2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar rationalize = __webpack_require__(\"2195\")\n\nmodule.exports = div\n\nfunction div(a, b) {\n return rationalize(a[0].mul(b[1]), a[1].mul(b[0]))\n}\n\n\n/***/ }),\n\n/***/ \"18bb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attributes = __webpack_require__(\"1c82\");\nvar handleDomainDefaults = __webpack_require__(\"81f0\").defaults;\nvar Template = __webpack_require__(\"a651\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\nvar cn = __webpack_require__(\"49b4\");\n\nvar handleTickValueDefaults = __webpack_require__(\"d92f\");\nvar handleTickMarkDefaults = __webpack_require__(\"27e3\");\nvar handleTickLabelDefaults = __webpack_require__(\"5008\");\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n handleDomainDefaults(traceOut, layout, coerce);\n\n // Mode\n coerce('mode');\n traceOut._hasNumber = traceOut.mode.indexOf('number') !== -1;\n traceOut._hasDelta = traceOut.mode.indexOf('delta') !== -1;\n traceOut._hasGauge = traceOut.mode.indexOf('gauge') !== -1;\n\n var value = coerce('value');\n traceOut._range = [0, (typeof value === 'number' ? 1.5 * value : 1)];\n\n // Number attributes\n var auto = new Array(2);\n var bignumberFontSize;\n if(traceOut._hasNumber) {\n coerce('number.valueformat');\n coerce('number.font.color', layout.font.color);\n coerce('number.font.family', layout.font.family);\n coerce('number.font.size');\n if(traceOut.number.font.size === undefined) {\n traceOut.number.font.size = cn.defaultNumberFontSize;\n auto[0] = true;\n }\n coerce('number.prefix');\n coerce('number.suffix');\n bignumberFontSize = traceOut.number.font.size;\n }\n\n // delta attributes\n var deltaFontSize;\n if(traceOut._hasDelta) {\n coerce('delta.font.color', layout.font.color);\n coerce('delta.font.family', layout.font.family);\n coerce('delta.font.size');\n if(traceOut.delta.font.size === undefined) {\n traceOut.delta.font.size = (traceOut._hasNumber ? 0.5 : 1) * (bignumberFontSize || cn.defaultNumberFontSize);\n auto[1] = true;\n }\n coerce('delta.reference', traceOut.value);\n coerce('delta.relative');\n coerce('delta.valueformat', traceOut.delta.relative ? '2%' : '');\n coerce('delta.increasing.symbol');\n coerce('delta.increasing.color');\n coerce('delta.decreasing.symbol');\n coerce('delta.decreasing.color');\n coerce('delta.position');\n deltaFontSize = traceOut.delta.font.size;\n }\n traceOut._scaleNumbers = (!traceOut._hasNumber || auto[0]) && (!traceOut._hasDelta || auto[1]) || false;\n\n // Title attributes\n coerce('title.font.color', layout.font.color);\n coerce('title.font.family', layout.font.family);\n coerce('title.font.size', 0.25 * (bignumberFontSize || deltaFontSize || cn.defaultNumberFontSize));\n coerce('title.text');\n\n // Gauge attributes\n var gaugeIn, gaugeOut, axisIn, axisOut;\n function coerceGauge(attr, dflt) {\n return Lib.coerce(gaugeIn, gaugeOut, attributes.gauge, attr, dflt);\n }\n function coerceGaugeAxis(attr, dflt) {\n return Lib.coerce(axisIn, axisOut, attributes.gauge.axis, attr, dflt);\n }\n\n if(traceOut._hasGauge) {\n gaugeIn = traceIn.gauge;\n if(!gaugeIn) gaugeIn = {};\n gaugeOut = Template.newContainer(traceOut, 'gauge');\n coerceGauge('shape');\n var isBullet = traceOut._isBullet = traceOut.gauge.shape === 'bullet';\n if(!isBullet) {\n coerce('title.align', 'center');\n }\n var isAngular = traceOut._isAngular = traceOut.gauge.shape === 'angular';\n if(!isAngular) {\n coerce('align', 'center');\n }\n\n // gauge background\n coerceGauge('bgcolor', layout.paper_bgcolor);\n coerceGauge('borderwidth');\n coerceGauge('bordercolor');\n\n // gauge bar indicator\n coerceGauge('bar.color');\n coerceGauge('bar.line.color');\n coerceGauge('bar.line.width');\n var defaultBarThickness = cn.valueThickness * (traceOut.gauge.shape === 'bullet' ? 0.5 : 1);\n coerceGauge('bar.thickness', defaultBarThickness);\n\n // Gauge steps\n handleArrayContainerDefaults(gaugeIn, gaugeOut, {\n name: 'steps',\n handleItemDefaults: stepDefaults\n });\n\n // Gauge threshold\n coerceGauge('threshold.value');\n coerceGauge('threshold.thickness');\n coerceGauge('threshold.line.width');\n coerceGauge('threshold.line.color');\n\n // Gauge axis\n axisIn = {};\n if(gaugeIn) axisIn = gaugeIn.axis || {};\n axisOut = Template.newContainer(gaugeOut, 'axis');\n coerceGaugeAxis('visible');\n traceOut._range = coerceGaugeAxis('range', traceOut._range);\n\n var opts = {outerTicks: true};\n handleTickValueDefaults(axisIn, axisOut, coerceGaugeAxis, 'linear');\n handleTickLabelDefaults(axisIn, axisOut, coerceGaugeAxis, 'linear', opts);\n handleTickMarkDefaults(axisIn, axisOut, coerceGaugeAxis, opts);\n } else {\n coerce('title.align', 'center');\n coerce('align', 'center');\n traceOut._isAngular = traceOut._isBullet = false;\n }\n\n // disable 1D transforms\n traceOut._length = null;\n}\n\nfunction stepDefaults(stepIn, stepOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(stepIn, stepOut, attributes.gauge.steps, attr, dflt);\n }\n\n coerce('color');\n coerce('line.color');\n coerce('line.width');\n coerce('range');\n coerce('thickness');\n}\n\nmodule.exports = {\n supplyDefaults: supplyDefaults\n};\n\n\n/***/ }),\n\n/***/ \"18ec\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n\n\n/***/ }),\n\n/***/ \"191c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar constants = __webpack_require__(\"de69\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleLineShapeDefaults = __webpack_require__(\"eb07\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\n\nvar attributes = __webpack_require__(\"ce65\");\n\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var a = coerce('a');\n var b = coerce('b');\n var c = coerce('c');\n var len;\n\n // allow any one array to be missing, len is the minimum length of those\n // present. Note that after coerce data_array's are either Arrays (which\n // are truthy even if empty) or undefined. As in scatter, an empty array\n // is different from undefined, because it can signify that this data is\n // not known yet but expected in the future\n if(a) {\n len = a.length;\n if(b) {\n len = Math.min(len, b.length);\n if(c) len = Math.min(len, c.length);\n } else if(c) len = Math.min(len, c.length);\n else len = 0;\n } else if(b && c) {\n len = Math.min(b.length, c.length);\n }\n\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n coerce('sum');\n\n coerce('text');\n coerce('hovertext');\n if(traceOut.hoveron !== 'fills') coerce('hovertemplate');\n\n var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines';\n coerce('mode', defaultMode);\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n handleLineShapeDefaults(traceIn, traceOut, coerce);\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true});\n }\n\n if(subTypes.hasText(traceOut)) {\n coerce('texttemplate');\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var dfltHoverOn = [];\n\n if(subTypes.hasMarkers(traceOut) || subTypes.hasText(traceOut)) {\n coerce('cliponaxis');\n coerce('marker.maxdisplayed');\n dfltHoverOn.push('points');\n }\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);\n }\n\n if(traceOut.fill === 'tonext' || traceOut.fill === 'toself') {\n dfltHoverOn.push('fills');\n }\n coerce('hoveron', dfltHoverOn.join('+') || 'points');\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\n\n/***/ }),\n\n/***/ \"1936\":\n/***/ (function(module, exports) {\n\nmodule.exports = [\r\n // current\r\n 'precision'\r\n , 'highp'\r\n , 'mediump'\r\n , 'lowp'\r\n , 'attribute'\r\n , 'const'\r\n , 'uniform'\r\n , 'varying'\r\n , 'break'\r\n , 'continue'\r\n , 'do'\r\n , 'for'\r\n , 'while'\r\n , 'if'\r\n , 'else'\r\n , 'in'\r\n , 'out'\r\n , 'inout'\r\n , 'float'\r\n , 'int'\r\n , 'uint'\r\n , 'void'\r\n , 'bool'\r\n , 'true'\r\n , 'false'\r\n , 'discard'\r\n , 'return'\r\n , 'mat2'\r\n , 'mat3'\r\n , 'mat4'\r\n , 'vec2'\r\n , 'vec3'\r\n , 'vec4'\r\n , 'ivec2'\r\n , 'ivec3'\r\n , 'ivec4'\r\n , 'bvec2'\r\n , 'bvec3'\r\n , 'bvec4'\r\n , 'sampler1D'\r\n , 'sampler2D'\r\n , 'sampler3D'\r\n , 'samplerCube'\r\n , 'sampler1DShadow'\r\n , 'sampler2DShadow'\r\n , 'struct'\r\n\r\n // future\r\n , 'asm'\r\n , 'class'\r\n , 'union'\r\n , 'enum'\r\n , 'typedef'\r\n , 'template'\r\n , 'this'\r\n , 'packed'\r\n , 'goto'\r\n , 'switch'\r\n , 'default'\r\n , 'inline'\r\n , 'noinline'\r\n , 'volatile'\r\n , 'public'\r\n , 'static'\r\n , 'extern'\r\n , 'external'\r\n , 'interface'\r\n , 'long'\r\n , 'short'\r\n , 'double'\r\n , 'half'\r\n , 'fixed'\r\n , 'unsigned'\r\n , 'input'\r\n , 'output'\r\n , 'hvec2'\r\n , 'hvec3'\r\n , 'hvec4'\r\n , 'dvec2'\r\n , 'dvec3'\r\n , 'dvec4'\r\n , 'fvec2'\r\n , 'fvec3'\r\n , 'fvec4'\r\n , 'sampler2DRect'\r\n , 'sampler3DRect'\r\n , 'sampler2DRectShadow'\r\n , 'sizeof'\r\n , 'cast'\r\n , 'namespace'\r\n , 'using'\r\n]\r\n\n\n/***/ }),\n\n/***/ \"1978\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\n\n// used in the drawing step for 'scatter' and 'scattegeo' and\n// in the convert step for 'scatter3d'\nmodule.exports = function makeBubbleSizeFn(trace) {\n var marker = trace.marker;\n var sizeRef = marker.sizeref || 1;\n var sizeMin = marker.sizemin || 0;\n\n // for bubble charts, allow scaling the provided value linearly\n // and by area or diameter.\n // Note this only applies to the array-value sizes\n\n var baseFn = (marker.sizemode === 'area') ?\n function(v) { return Math.sqrt(v / sizeRef); } :\n function(v) { return v / sizeRef; };\n\n // TODO add support for position/negative bubbles?\n // TODO add 'sizeoffset' attribute?\n return function(v) {\n var baseSize = baseFn(v / 2);\n\n // don't show non-numeric and negative sizes\n return (isNumeric(baseSize) && (baseSize > 0)) ?\n Math.max(baseSize, sizeMin) :\n 0;\n };\n};\n\n\n/***/ }),\n\n/***/ \"1999\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Plots = __webpack_require__(\"bb71\");\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Color = __webpack_require__(\"d115\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar interactConstants = __webpack_require__(\"72a4\");\n\nvar OPPOSITE_SIDE = __webpack_require__(\"63dc\").OPPOSITE_SIDE;\nvar numStripRE = / [XY][0-9]* /;\n\n/**\n * Titles - (re)draw titles on the axes and plot:\n * @param {DOM element} gd - the graphDiv\n * @param {string} titleClass - the css class of this title\n * @param {object} options - how and what to draw\n * propContainer - the layout object containing `title` and `titlefont`\n * attributes that apply to this title\n * propName - the full name of the title property (for Plotly.relayout)\n * [traceIndex] - include only if this property applies to one trace\n * (such as a colorbar title) - then editing pipes to Plotly.restyle\n * instead of Plotly.relayout\n * placeholder - placeholder text for an empty editable title\n * [avoid] {object} - include if this title should move to avoid other elements\n * selection - d3 selection of elements to avoid\n * side - which direction to move if there is a conflict\n * [offsetLeft] - if these elements are subject to a translation\n * wrt the title element\n * [offsetTop]\n * attributes {object} - position and alignment attributes\n * x - pixels\n * y - pixels\n * text-anchor - start|middle|end\n * transform {object} - how to transform the title after positioning\n * rotate - degrees\n * offset - shift up/down in the rotated frame (unused?)\n * containerGroup - if an svg element already exists to hold this\n * title, include here. Otherwise it will go in fullLayout._infolayer\n * _meta {object (optional} - meta key-value to for title with\n * Lib.templateString, default to fullLayout._meta, if not provided\n *\n * @return {selection} d3 selection of title container group\n */\nfunction draw(gd, titleClass, options) {\n var cont = options.propContainer;\n var prop = options.propName;\n var placeholder = options.placeholder;\n var traceIndex = options.traceIndex;\n var avoid = options.avoid || {};\n var attributes = options.attributes;\n var transform = options.transform;\n var group = options.containerGroup;\n\n var fullLayout = gd._fullLayout;\n\n var opacity = 1;\n var isplaceholder = false;\n var title = cont.title;\n var txt = (title && title.text ? title.text : '').trim();\n\n var font = title && title.font ? title.font : {};\n var fontFamily = font.family;\n var fontSize = font.size;\n var fontColor = font.color;\n\n // only make this title editable if we positively identify its property\n // as one that has editing enabled.\n var editAttr;\n if(prop === 'title.text') editAttr = 'titleText';\n else if(prop.indexOf('axis') !== -1) editAttr = 'axisTitleText';\n else if(prop.indexOf('colorbar' !== -1)) editAttr = 'colorbarTitleText';\n var editable = gd._context.edits[editAttr];\n\n if(txt === '') opacity = 0;\n // look for placeholder text while stripping out numbers from eg X2, Y3\n // this is just for backward compatibility with the old version that had\n // \"Click to enter X2 title\" and may have gotten saved in some old plots,\n // we don't want this to show up when these are displayed.\n else if(txt.replace(numStripRE, ' % ') === placeholder.replace(numStripRE, ' % ')) {\n opacity = 0.2;\n isplaceholder = true;\n if(!editable) txt = '';\n }\n\n if(options._meta) {\n txt = Lib.templateString(txt, options._meta);\n } else if(fullLayout._meta) {\n txt = Lib.templateString(txt, fullLayout._meta);\n }\n\n var elShouldExist = txt || editable;\n\n if(!group) {\n group = Lib.ensureSingle(fullLayout._infolayer, 'g', 'g-' + titleClass);\n }\n\n var el = group.selectAll('text')\n .data(elShouldExist ? [0] : []);\n el.enter().append('text');\n el.text(txt)\n // this is hacky, but convertToTspans uses the class\n // to determine whether to rotate mathJax...\n // so we need to clear out any old class and put the\n // correct one (only relevant for colorbars, at least\n // for now) - ie don't use .classed\n .attr('class', titleClass);\n el.exit().remove();\n\n if(!elShouldExist) return group;\n\n function titleLayout(titleEl) {\n Lib.syncOrAsync([drawTitle, scootTitle], titleEl);\n }\n\n function drawTitle(titleEl) {\n var transformVal;\n\n if(transform) {\n transformVal = '';\n if(transform.rotate) {\n transformVal += 'rotate(' + [transform.rotate, attributes.x, attributes.y] + ')';\n }\n if(transform.offset) {\n transformVal += 'translate(0, ' + transform.offset + ')';\n }\n } else {\n transformVal = null;\n }\n\n titleEl.attr('transform', transformVal);\n\n titleEl.style({\n 'font-family': fontFamily,\n 'font-size': d3.round(fontSize, 2) + 'px',\n fill: Color.rgb(fontColor),\n opacity: opacity * Color.opacity(fontColor),\n 'font-weight': Plots.fontWeight\n })\n .attr(attributes)\n .call(svgTextUtils.convertToTspans, gd);\n\n return Plots.previousPromises(gd);\n }\n\n function scootTitle(titleElIn) {\n var titleGroup = d3.select(titleElIn.node().parentNode);\n\n if(avoid && avoid.selection && avoid.side && txt) {\n titleGroup.attr('transform', null);\n\n // move toward avoid.side (= left, right, top, bottom) if needed\n // can include pad (pixels, default 2)\n var backside = OPPOSITE_SIDE[avoid.side];\n var shiftSign = (avoid.side === 'left' || avoid.side === 'top') ? -1 : 1;\n var pad = isNumeric(avoid.pad) ? avoid.pad : 2;\n\n var titlebb = Drawing.bBox(titleGroup.node());\n var paperbb = {\n left: 0,\n top: 0,\n right: fullLayout.width,\n bottom: fullLayout.height\n };\n\n var maxshift = avoid.maxShift ||\n shiftSign * (paperbb[avoid.side] - titlebb[avoid.side]);\n var shift = 0;\n\n // Prevent the title going off the paper\n if(maxshift < 0) {\n shift = maxshift;\n } else {\n // so we don't have to offset each avoided element,\n // give the title the opposite offset\n var offsetLeft = avoid.offsetLeft || 0;\n var offsetTop = avoid.offsetTop || 0;\n titlebb.left -= offsetLeft;\n titlebb.right -= offsetLeft;\n titlebb.top -= offsetTop;\n titlebb.bottom -= offsetTop;\n\n // iterate over a set of elements (avoid.selection)\n // to avoid collisions with\n avoid.selection.each(function() {\n var avoidbb = Drawing.bBox(this);\n\n if(Lib.bBoxIntersect(titlebb, avoidbb, pad)) {\n shift = Math.max(shift, shiftSign * (\n avoidbb[avoid.side] - titlebb[backside]) + pad);\n }\n });\n shift = Math.min(maxshift, shift);\n }\n\n if(shift > 0 || maxshift < 0) {\n var shiftTemplate = {\n left: [-shift, 0],\n right: [shift, 0],\n top: [0, -shift],\n bottom: [0, shift]\n }[avoid.side];\n titleGroup.attr('transform', 'translate(' + shiftTemplate + ')');\n }\n }\n }\n\n el.call(titleLayout);\n\n function setPlaceholder() {\n opacity = 0;\n isplaceholder = true;\n el.text(placeholder)\n .on('mouseover.opacity', function() {\n d3.select(this).transition()\n .duration(interactConstants.SHOW_PLACEHOLDER).style('opacity', 1);\n })\n .on('mouseout.opacity', function() {\n d3.select(this).transition()\n .duration(interactConstants.HIDE_PLACEHOLDER).style('opacity', 0);\n });\n }\n\n if(editable) {\n if(!txt) setPlaceholder();\n else el.on('.opacity', null);\n\n el.call(svgTextUtils.makeEditable, {gd: gd})\n .on('edit', function(text) {\n if(traceIndex !== undefined) {\n Registry.call('_guiRestyle', gd, prop, text, traceIndex);\n } else {\n Registry.call('_guiRelayout', gd, prop, text);\n }\n })\n .on('cancel', function() {\n this.text(this.attr('data-unformatted'))\n .call(titleLayout);\n })\n .on('input', function(d) {\n this.text(d || ' ')\n .call(svgTextUtils.positionText, attributes.x, attributes.y);\n });\n }\n el.classed('js-placeholder', isplaceholder);\n\n return group;\n}\n\nmodule.exports = {\n draw: draw\n};\n\n\n/***/ }),\n\n/***/ \"19b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * inspired by is-number \n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n\n\nvar allBlankCharCodes = __webpack_require__(\"e9b4\");\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n\n\n/***/ }),\n\n/***/ \"19e1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mod = __webpack_require__(\"d3dc\").mod;\n\n/*\n * look for intersection of two line segments\n * (1->2 and 3->4) - returns array [x,y] if they do, null if not\n */\nexports.segmentsIntersect = segmentsIntersect;\nfunction segmentsIntersect(x1, y1, x2, y2, x3, y3, x4, y4) {\n var a = x2 - x1;\n var b = x3 - x1;\n var c = x4 - x3;\n var d = y2 - y1;\n var e = y3 - y1;\n var f = y4 - y3;\n var det = a * f - c * d;\n // parallel lines? intersection is undefined\n // ignore the case where they are colinear\n if(det === 0) return null;\n var t = (b * f - c * e) / det;\n var u = (b * d - a * e) / det;\n // segments do not intersect?\n if(u < 0 || u > 1 || t < 0 || t > 1) return null;\n\n return {x: x1 + a * t, y: y1 + d * t};\n}\n\n/*\n * find the minimum distance between two line segments (1->2 and 3->4)\n */\nexports.segmentDistance = function segmentDistance(x1, y1, x2, y2, x3, y3, x4, y4) {\n if(segmentsIntersect(x1, y1, x2, y2, x3, y3, x4, y4)) return 0;\n\n // the two segments and their lengths squared\n var x12 = x2 - x1;\n var y12 = y2 - y1;\n var x34 = x4 - x3;\n var y34 = y4 - y3;\n var ll12 = x12 * x12 + y12 * y12;\n var ll34 = x34 * x34 + y34 * y34;\n\n // calculate distance squared, then take the sqrt at the very end\n var dist2 = Math.min(\n perpDistance2(x12, y12, ll12, x3 - x1, y3 - y1),\n perpDistance2(x12, y12, ll12, x4 - x1, y4 - y1),\n perpDistance2(x34, y34, ll34, x1 - x3, y1 - y3),\n perpDistance2(x34, y34, ll34, x2 - x3, y2 - y3)\n );\n\n return Math.sqrt(dist2);\n};\n\n/*\n * distance squared from segment ab to point c\n * [xab, yab] is the vector b-a\n * [xac, yac] is the vector c-a\n * llab is the length squared of (b-a), just to simplify calculation\n */\nfunction perpDistance2(xab, yab, llab, xac, yac) {\n var fcAB = (xac * xab + yac * yab);\n if(fcAB < 0) {\n // point c is closer to point a\n return xac * xac + yac * yac;\n } else if(fcAB > llab) {\n // point c is closer to point b\n var xbc = xac - xab;\n var ybc = yac - yab;\n return xbc * xbc + ybc * ybc;\n } else {\n // perpendicular distance is the shortest\n var crossProduct = xac * yab - yac * xab;\n return crossProduct * crossProduct / llab;\n }\n}\n\n// a very short-term cache for getTextLocation, just because\n// we're often looping over the same locations multiple times\n// invalidated as soon as we look at a different path\nvar locationCache, workingPath, workingTextWidth;\n\n// turn a path and position along it into x, y, and angle for the given text\nexports.getTextLocation = function getTextLocation(path, totalPathLen, positionOnPath, textWidth) {\n if(path !== workingPath || textWidth !== workingTextWidth) {\n locationCache = {};\n workingPath = path;\n workingTextWidth = textWidth;\n }\n if(locationCache[positionOnPath]) {\n return locationCache[positionOnPath];\n }\n\n // for the angle, use points on the path separated by the text width\n // even though due to curvature, the text will cover a bit more than that\n var p0 = path.getPointAtLength(mod(positionOnPath - textWidth / 2, totalPathLen));\n var p1 = path.getPointAtLength(mod(positionOnPath + textWidth / 2, totalPathLen));\n // note: atan handles 1/0 nicely\n var theta = Math.atan((p1.y - p0.y) / (p1.x - p0.x));\n // center the text at 2/3 of the center position plus 1/3 the p0/p1 midpoint\n // that's the average position of this segment, assuming it's roughly quadratic\n var pCenter = path.getPointAtLength(mod(positionOnPath, totalPathLen));\n var x = (pCenter.x * 4 + p0.x + p1.x) / 6;\n var y = (pCenter.y * 4 + p0.y + p1.y) / 6;\n\n var out = {x: x, y: y, theta: theta};\n locationCache[positionOnPath] = out;\n return out;\n};\n\nexports.clearLocationCache = function() {\n workingPath = null;\n};\n\n/*\n * Find the segment of `path` that's within the visible area\n * given by `bounds` {left, right, top, bottom}, to within a\n * precision of `buffer` px\n *\n * returns: undefined if nothing is visible, else object:\n * {\n * min: position where the path first enters bounds, or 0 if it\n * starts within bounds\n * max: position where the path last exits bounds, or the path length\n * if it finishes within bounds\n * len: max - min, ie the length of visible path\n * total: the total path length - just included so the caller doesn't\n * need to call path.getTotalLength() again\n * isClosed: true iff the start and end points of the path are both visible\n * and are at the same point\n * }\n *\n * Works by starting from either end and repeatedly finding the distance from\n * that point to the plot area, and if it's outside the plot, moving along the\n * path by that distance (because the plot must be at least that far away on\n * the path). Note that if a path enters, exits, and re-enters the plot, we\n * will not capture this behavior.\n */\nexports.getVisibleSegment = function getVisibleSegment(path, bounds, buffer) {\n var left = bounds.left;\n var right = bounds.right;\n var top = bounds.top;\n var bottom = bounds.bottom;\n\n var pMin = 0;\n var pTotal = path.getTotalLength();\n var pMax = pTotal;\n\n var pt0, ptTotal;\n\n function getDistToPlot(len) {\n var pt = path.getPointAtLength(len);\n\n // hold on to the start and end points for `closed`\n if(len === 0) pt0 = pt;\n else if(len === pTotal) ptTotal = pt;\n\n var dx = (pt.x < left) ? left - pt.x : (pt.x > right ? pt.x - right : 0);\n var dy = (pt.y < top) ? top - pt.y : (pt.y > bottom ? pt.y - bottom : 0);\n return Math.sqrt(dx * dx + dy * dy);\n }\n\n var distToPlot = getDistToPlot(pMin);\n while(distToPlot) {\n pMin += distToPlot + buffer;\n if(pMin > pMax) return;\n distToPlot = getDistToPlot(pMin);\n }\n\n distToPlot = getDistToPlot(pMax);\n while(distToPlot) {\n pMax -= distToPlot + buffer;\n if(pMin > pMax) return;\n distToPlot = getDistToPlot(pMax);\n }\n\n return {\n min: pMin,\n max: pMax,\n len: pMax - pMin,\n total: pTotal,\n isClosed: pMin === 0 && pMax === pTotal &&\n Math.abs(pt0.x - ptTotal.x) < 0.1 &&\n Math.abs(pt0.y - ptTotal.y) < 0.1\n };\n};\n\n/**\n * Find point on SVG path corresponding to a given constraint coordinate\n *\n * @param {SVGPathElement} path\n * @param {Number} val : constraint coordinate value\n * @param {String} coord : 'x' or 'y' the constraint coordinate\n * @param {Object} opts :\n * - {Number} pathLength : supply total path length before hand\n * - {Number} tolerance\n * - {Number} iterationLimit\n * @return {SVGPoint}\n */\nexports.findPointOnPath = function findPointOnPath(path, val, coord, opts) {\n opts = opts || {};\n\n var pathLength = opts.pathLength || path.getTotalLength();\n var tolerance = opts.tolerance || 1e-3;\n var iterationLimit = opts.iterationLimit || 30;\n\n // if path starts at a val greater than the path tail (like on vertical violins),\n // we must flip the sign of the computed diff.\n var mul = path.getPointAtLength(0)[coord] > path.getPointAtLength(pathLength)[coord] ? -1 : 1;\n\n var i = 0;\n var b0 = 0;\n var b1 = pathLength;\n var mid;\n var pt;\n var diff;\n\n while(i < iterationLimit) {\n mid = (b0 + b1) / 2;\n pt = path.getPointAtLength(mid);\n diff = pt[coord] - val;\n\n if(Math.abs(diff) < tolerance) {\n return pt;\n } else {\n if(mul * diff > 0) {\n b1 = mid;\n } else {\n b0 = mid;\n }\n i++;\n }\n }\n return pt;\n};\n\n\n/***/ }),\n\n/***/ \"1a06\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar handleXYZDefaults = __webpack_require__(\"41e0\");\nvar handleConstraintDefaults = __webpack_require__(\"86df\");\nvar handleContoursDefaults = __webpack_require__(\"d61b\");\nvar handleStyleDefaults = __webpack_require__(\"41f8\");\nvar attributes = __webpack_require__(\"43ef\");\n\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n function coerce2(attr) {\n return Lib.coerce2(traceIn, traceOut, attributes, attr);\n }\n\n var len = handleXYZDefaults(traceIn, traceOut, coerce, layout);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n coerce('hoverongaps');\n\n var isConstraint = (coerce('contours.type') === 'constraint');\n coerce('connectgaps', Lib.isArray1D(traceOut.z));\n\n if(isConstraint) {\n handleConstraintDefaults(traceIn, traceOut, coerce, layout, defaultColor);\n } else {\n handleContoursDefaults(traceIn, traceOut, coerce, coerce2);\n handleStyleDefaults(traceIn, traceOut, coerce, layout);\n }\n};\n\n\n/***/ }),\n\n/***/ \"1a3f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar convexHull1d = __webpack_require__(\"1f25\")\nvar convexHull2d = __webpack_require__(\"8ff7\")\nvar convexHullnd = __webpack_require__(\"ca39\")\n\nmodule.exports = convexHull\n\nfunction convexHull(points) {\n var n = points.length\n if(n === 0) {\n return []\n } else if(n === 1) {\n return [[0]]\n }\n var d = points[0].length\n if(d === 0) {\n return []\n } else if(d === 1) {\n return convexHull1d(points)\n } else if(d === 2) {\n return convexHull2d(points)\n }\n return convexHullnd(points, d)\n}\n\n/***/ }),\n\n/***/ \"1a40\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar cleanNumber = Lib.cleanNumber;\nvar ms2DateTime = Lib.ms2DateTime;\nvar dateTime2ms = Lib.dateTime2ms;\nvar ensureNumber = Lib.ensureNumber;\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\n\nvar numConstants = __webpack_require__(\"e806\");\nvar FP_SAFE = numConstants.FP_SAFE;\nvar BADNUM = numConstants.BADNUM;\nvar LOG_CLIP = numConstants.LOG_CLIP;\n\nvar constants = __webpack_require__(\"d301\");\nvar axisIds = __webpack_require__(\"3c1c\");\n\nfunction fromLog(v) {\n return Math.pow(10, v);\n}\n\nfunction isValidCategory(v) {\n return v !== null && v !== undefined;\n}\n\n/**\n * Define the conversion functions for an axis data is used in 5 ways:\n *\n * d: data, in whatever form it's provided\n * c: calcdata: turned into numbers, but not linearized\n * l: linearized - same as c except for log axes (and other nonlinear\n * mappings later?) this is used when we need to know if it's\n * *possible* to show some data on this axis, without caring about\n * the current range\n * p: pixel value - mapped to the screen with current size and zoom\n * r: ranges, tick0, and annotation positions match one of the above\n * but are handled differently for different types:\n * - linear and date: data format (d)\n * - category: calcdata format (c), and will stay that way because\n * the data format has no continuous mapping\n * - log: linearized (l) format\n * TODO: in v2.0 we plan to change it to data format. At that point\n * shapes will work the same way as ranges, tick0, and annotations\n * so they can use this conversion too.\n *\n * Creates/updates these conversion functions, and a few more utilities\n * like cleanRange, and makeCalcdata\n *\n * also clears the autotick constraints ._minDtick, ._forceTick0\n */\nmodule.exports = function setConvert(ax, fullLayout) {\n fullLayout = fullLayout || {};\n\n var axId = (ax._id || 'x');\n var axLetter = axId.charAt(0);\n\n function toLog(v, clip) {\n if(v > 0) return Math.log(v) / Math.LN10;\n\n else if(v <= 0 && clip && ax.range && ax.range.length === 2) {\n // clip NaN (ie past negative infinity) to LOG_CLIP axis\n // length past the negative edge\n var r0 = ax.range[0];\n var r1 = ax.range[1];\n return 0.5 * (r0 + r1 - 2 * LOG_CLIP * Math.abs(r0 - r1));\n } else return BADNUM;\n }\n\n /*\n * wrapped dateTime2ms that:\n * - accepts ms numbers for backward compatibility\n * - inserts a dummy arg so calendar is the 3rd arg (see notes below).\n * - defaults to ax.calendar\n */\n function dt2ms(v, _, calendar) {\n // NOTE: Changed this behavior: previously we took any numeric value\n // to be a ms, even if it was a string that could be a bare year.\n // Now we convert it as a date if at all possible, and only try\n // as (local) ms if that fails.\n var ms = dateTime2ms(v, calendar || ax.calendar);\n if(ms === BADNUM) {\n if(isNumeric(v)) {\n v = +v;\n // keep track of tenths of ms, that `new Date` will drop\n // same logic as in Lib.ms2DateTime\n var msecTenths = Math.floor(Lib.mod(v + 0.05, 1) * 10);\n var msRounded = Math.round(v - msecTenths / 10);\n ms = dateTime2ms(new Date(msRounded)) + msecTenths / 10;\n } else return BADNUM;\n }\n return ms;\n }\n\n // wrapped ms2DateTime to insert default ax.calendar\n function ms2dt(v, r, calendar) {\n return ms2DateTime(v, r, calendar || ax.calendar);\n }\n\n function getCategoryName(v) {\n return ax._categories[Math.round(v)];\n }\n\n /*\n * setCategoryIndex: return the index of category v,\n * inserting it in the list if it's not already there\n *\n * this will enter the categories in the order it\n * encounters them, ie all the categories from the\n * first data set, then all the ones from the second\n * that aren't in the first etc.\n *\n * it is assumed that this function is being invoked in the\n * already sorted category order; otherwise there would be\n * a disconnect between the array and the index returned\n */\n function setCategoryIndex(v) {\n if(isValidCategory(v)) {\n if(ax._categoriesMap === undefined) {\n ax._categoriesMap = {};\n }\n\n if(ax._categoriesMap[v] !== undefined) {\n return ax._categoriesMap[v];\n } else {\n ax._categories.push(typeof v === 'number' ? String(v) : v);\n\n var curLength = ax._categories.length - 1;\n ax._categoriesMap[v] = curLength;\n\n return curLength;\n }\n }\n return BADNUM;\n }\n\n function setMultiCategoryIndex(arrayIn, len) {\n var arrayOut = new Array(len);\n\n for(var i = 0; i < len; i++) {\n var v0 = (arrayIn[0] || [])[i];\n var v1 = (arrayIn[1] || [])[i];\n arrayOut[i] = getCategoryIndex([v0, v1]);\n }\n\n return arrayOut;\n }\n\n function getCategoryIndex(v) {\n if(ax._categoriesMap) {\n return ax._categoriesMap[v];\n }\n }\n\n function getCategoryPosition(v) {\n // d2l/d2c variant that that won't add categories but will also\n // allow numbers to be mapped to the linearized axis positions\n var index = getCategoryIndex(v);\n if(index !== undefined) return index;\n if(isNumeric(v)) return +v;\n }\n\n function l2p(v) {\n if(!isNumeric(v)) return BADNUM;\n\n // include 2 fractional digits on pixel, for PDF zooming etc\n return d3.round(ax._b + ax._m * v, 2);\n }\n\n function p2l(px) { return (px - ax._b) / ax._m; }\n\n // conversions among c/l/p are fairly simple - do them together for all axis types\n ax.c2l = (ax.type === 'log') ? toLog : ensureNumber;\n ax.l2c = (ax.type === 'log') ? fromLog : ensureNumber;\n\n ax.l2p = l2p;\n ax.p2l = p2l;\n\n ax.c2p = (ax.type === 'log') ? function(v, clip) { return l2p(toLog(v, clip)); } : l2p;\n ax.p2c = (ax.type === 'log') ? function(px) { return fromLog(p2l(px)); } : p2l;\n\n /*\n * now type-specific conversions for **ALL** other combinations\n * they're all written out, instead of being combinations of each other, for\n * both clarity and speed.\n */\n if(['linear', '-'].indexOf(ax.type) !== -1) {\n // all are data vals, but d and r need cleaning\n ax.d2r = ax.r2d = ax.d2c = ax.r2c = ax.d2l = ax.r2l = cleanNumber;\n ax.c2d = ax.c2r = ax.l2d = ax.l2r = ensureNumber;\n\n ax.d2p = ax.r2p = function(v) { return ax.l2p(cleanNumber(v)); };\n ax.p2d = ax.p2r = p2l;\n\n ax.cleanPos = ensureNumber;\n } else if(ax.type === 'log') {\n // d and c are data vals, r and l are logged (but d and r need cleaning)\n ax.d2r = ax.d2l = function(v, clip) { return toLog(cleanNumber(v), clip); };\n ax.r2d = ax.r2c = function(v) { return fromLog(cleanNumber(v)); };\n\n ax.d2c = ax.r2l = cleanNumber;\n ax.c2d = ax.l2r = ensureNumber;\n\n ax.c2r = toLog;\n ax.l2d = fromLog;\n\n ax.d2p = function(v, clip) { return ax.l2p(ax.d2r(v, clip)); };\n ax.p2d = function(px) { return fromLog(p2l(px)); };\n\n ax.r2p = function(v) { return ax.l2p(cleanNumber(v)); };\n ax.p2r = p2l;\n\n ax.cleanPos = ensureNumber;\n } else if(ax.type === 'date') {\n // r and d are date strings, l and c are ms\n\n /*\n * Any of these functions with r and d on either side, calendar is the\n * **3rd** argument. log has reserved the second argument.\n *\n * Unless you need the special behavior of the second arg (ms2DateTime\n * uses this to limit precision, toLog uses true to clip negatives\n * to offscreen low rather than undefined), it's safe to pass 0.\n */\n ax.d2r = ax.r2d = Lib.identity;\n\n ax.d2c = ax.r2c = ax.d2l = ax.r2l = dt2ms;\n ax.c2d = ax.c2r = ax.l2d = ax.l2r = ms2dt;\n\n ax.d2p = ax.r2p = function(v, _, calendar) { return ax.l2p(dt2ms(v, 0, calendar)); };\n ax.p2d = ax.p2r = function(px, r, calendar) { return ms2dt(p2l(px), r, calendar); };\n\n ax.cleanPos = function(v) { return Lib.cleanDate(v, BADNUM, ax.calendar); };\n } else if(ax.type === 'category') {\n // d is categories (string)\n // c and l are indices (numbers)\n // r is categories or numbers\n\n ax.d2c = ax.d2l = setCategoryIndex;\n ax.r2d = ax.c2d = ax.l2d = getCategoryName;\n\n ax.d2r = ax.d2l_noadd = getCategoryPosition;\n\n ax.r2c = function(v) {\n var index = getCategoryPosition(v);\n return index !== undefined ? index : ax.fraction2r(0.5);\n };\n\n ax.l2r = ax.c2r = ensureNumber;\n ax.r2l = getCategoryPosition;\n\n ax.d2p = function(v) { return ax.l2p(ax.r2c(v)); };\n ax.p2d = function(px) { return getCategoryName(p2l(px)); };\n ax.r2p = ax.d2p;\n ax.p2r = p2l;\n\n ax.cleanPos = function(v) {\n if(typeof v === 'string' && v !== '') return v;\n return ensureNumber(v);\n };\n } else if(ax.type === 'multicategory') {\n // N.B. multicategory axes don't define d2c and d2l,\n // as 'data-to-calcdata' conversion needs to take into\n // account all data array items as in ax.makeCalcdata.\n\n ax.r2d = ax.c2d = ax.l2d = getCategoryName;\n ax.d2r = ax.d2l_noadd = getCategoryPosition;\n\n ax.r2c = function(v) {\n var index = getCategoryPosition(v);\n return index !== undefined ? index : ax.fraction2r(0.5);\n };\n\n ax.r2c_just_indices = getCategoryIndex;\n\n ax.l2r = ax.c2r = ensureNumber;\n ax.r2l = getCategoryPosition;\n\n ax.d2p = function(v) { return ax.l2p(ax.r2c(v)); };\n ax.p2d = function(px) { return getCategoryName(p2l(px)); };\n ax.r2p = ax.d2p;\n ax.p2r = p2l;\n\n ax.cleanPos = function(v) {\n if(Array.isArray(v) || (typeof v === 'string' && v !== '')) return v;\n return ensureNumber(v);\n };\n\n ax.setupMultiCategory = function(fullData) {\n var traceIndices = ax._traceIndices;\n var i, j;\n\n var matchGroups = fullLayout._axisMatchGroups;\n if(matchGroups && matchGroups.length && ax._categories.length === 0) {\n for(i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n if(group[axId]) {\n for(var axId2 in group) {\n if(axId2 !== axId) {\n var ax2 = fullLayout[axisIds.id2name(axId2)];\n traceIndices = traceIndices.concat(ax2._traceIndices);\n }\n }\n }\n }\n }\n\n // [ [cnt, {$cat: index}], for 1,2 ]\n var seen = [[0, {}], [0, {}]];\n // [ [arrayIn[0][i], arrayIn[1][i]], for i .. N ]\n var list = [];\n\n for(i = 0; i < traceIndices.length; i++) {\n var trace = fullData[traceIndices[i]];\n\n if(axLetter in trace) {\n var arrayIn = trace[axLetter];\n var len = trace._length || Lib.minRowLength(arrayIn);\n\n if(isArrayOrTypedArray(arrayIn[0]) && isArrayOrTypedArray(arrayIn[1])) {\n for(j = 0; j < len; j++) {\n var v0 = arrayIn[0][j];\n var v1 = arrayIn[1][j];\n\n if(isValidCategory(v0) && isValidCategory(v1)) {\n list.push([v0, v1]);\n\n if(!(v0 in seen[0][1])) {\n seen[0][1][v0] = seen[0][0]++;\n }\n if(!(v1 in seen[1][1])) {\n seen[1][1][v1] = seen[1][0]++;\n }\n }\n }\n }\n }\n }\n\n list.sort(function(a, b) {\n var ind0 = seen[0][1];\n var d = ind0[a[0]] - ind0[b[0]];\n if(d) return d;\n\n var ind1 = seen[1][1];\n return ind1[a[1]] - ind1[b[1]];\n });\n\n for(i = 0; i < list.length; i++) {\n setCategoryIndex(list[i]);\n }\n };\n }\n\n // find the range value at the specified (linear) fraction of the axis\n ax.fraction2r = function(v) {\n var rl0 = ax.r2l(ax.range[0]);\n var rl1 = ax.r2l(ax.range[1]);\n return ax.l2r(rl0 + v * (rl1 - rl0));\n };\n\n // find the fraction of the range at the specified range value\n ax.r2fraction = function(v) {\n var rl0 = ax.r2l(ax.range[0]);\n var rl1 = ax.r2l(ax.range[1]);\n return (ax.r2l(v) - rl0) / (rl1 - rl0);\n };\n\n /*\n * cleanRange: make sure range is a couplet of valid & distinct values\n * keep numbers away from the limits of floating point numbers,\n * and dates away from the ends of our date system (+/- 9999 years)\n *\n * optional param rangeAttr: operate on a different attribute, like\n * ax._r, rather than ax.range\n */\n ax.cleanRange = function(rangeAttr, opts) {\n if(!opts) opts = {};\n if(!rangeAttr) rangeAttr = 'range';\n\n var range = Lib.nestedProperty(ax, rangeAttr).get();\n var i, dflt;\n\n if(ax.type === 'date') dflt = Lib.dfltRange(ax.calendar);\n else if(axLetter === 'y') dflt = constants.DFLTRANGEY;\n else dflt = opts.dfltRange || constants.DFLTRANGEX;\n\n // make sure we don't later mutate the defaults\n dflt = dflt.slice();\n\n if(ax.rangemode === 'tozero' || ax.rangemode === 'nonnegative') {\n dflt[0] = 0;\n }\n\n if(!range || range.length !== 2) {\n Lib.nestedProperty(ax, rangeAttr).set(dflt);\n return;\n }\n\n if(ax.type === 'date' && !ax.autorange) {\n // check if milliseconds or js date objects are provided for range\n // and convert to date strings\n range[0] = Lib.cleanDate(range[0], BADNUM, ax.calendar);\n range[1] = Lib.cleanDate(range[1], BADNUM, ax.calendar);\n }\n\n for(i = 0; i < 2; i++) {\n if(ax.type === 'date') {\n if(!Lib.isDateTime(range[i], ax.calendar)) {\n ax[rangeAttr] = dflt;\n break;\n }\n\n if(ax.r2l(range[0]) === ax.r2l(range[1])) {\n // split by +/- 1 second\n var linCenter = Lib.constrain(ax.r2l(range[0]),\n Lib.MIN_MS + 1000, Lib.MAX_MS - 1000);\n range[0] = ax.l2r(linCenter - 1000);\n range[1] = ax.l2r(linCenter + 1000);\n break;\n }\n } else {\n if(!isNumeric(range[i])) {\n if(isNumeric(range[1 - i])) {\n range[i] = range[1 - i] * (i ? 10 : 0.1);\n } else {\n ax[rangeAttr] = dflt;\n break;\n }\n }\n\n if(range[i] < -FP_SAFE) range[i] = -FP_SAFE;\n else if(range[i] > FP_SAFE) range[i] = FP_SAFE;\n\n if(range[0] === range[1]) {\n // somewhat arbitrary: split by 1 or 1ppm, whichever is bigger\n var inc = Math.max(1, Math.abs(range[0] * 1e-6));\n range[0] -= inc;\n range[1] += inc;\n }\n }\n }\n };\n\n // set scaling to pixels\n ax.setScale = function(usePrivateRange) {\n var gs = fullLayout._size;\n\n // make sure we have a domain (pull it in from the axis\n // this one is overlaying if necessary)\n if(ax.overlaying) {\n var ax2 = axisIds.getFromId({ _fullLayout: fullLayout }, ax.overlaying);\n ax.domain = ax2.domain;\n }\n\n // While transitions are occuring, occurring, we get a double-transform\n // issue if we transform the drawn layer *and* use the new axis range to\n // draw the data. This allows us to construct setConvert using the pre-\n // interaction values of the range:\n var rangeAttr = (usePrivateRange && ax._r) ? '_r' : 'range';\n var calendar = ax.calendar;\n ax.cleanRange(rangeAttr);\n\n var rl0 = ax.r2l(ax[rangeAttr][0], calendar);\n var rl1 = ax.r2l(ax[rangeAttr][1], calendar);\n\n if(axLetter === 'y') {\n ax._offset = gs.t + (1 - ax.domain[1]) * gs.h;\n ax._length = gs.h * (ax.domain[1] - ax.domain[0]);\n ax._m = ax._length / (rl0 - rl1);\n ax._b = -ax._m * rl1;\n } else {\n ax._offset = gs.l + ax.domain[0] * gs.w;\n ax._length = gs.w * (ax.domain[1] - ax.domain[0]);\n ax._m = ax._length / (rl1 - rl0);\n ax._b = -ax._m * rl0;\n }\n\n if(!isFinite(ax._m) || !isFinite(ax._b) || ax._length < 0) {\n fullLayout._replotting = false;\n throw new Error('Something went wrong with axis scaling');\n }\n };\n\n // makeCalcdata: takes an x or y array and converts it\n // to a position on the axis object \"ax\"\n // inputs:\n // trace - a data object from gd.data\n // axLetter - a string, either 'x' or 'y', for which item\n // to convert (TODO: is this now always the same as\n // the first letter of ax._id?)\n // in case the expected data isn't there, make a list of\n // integers based on the opposite data\n ax.makeCalcdata = function(trace, axLetter) {\n var arrayIn, arrayOut, i, len;\n\n var axType = ax.type;\n var cal = axType === 'date' && trace[axLetter + 'calendar'];\n\n if(axLetter in trace) {\n arrayIn = trace[axLetter];\n len = trace._length || Lib.minRowLength(arrayIn);\n\n if(Lib.isTypedArray(arrayIn) && (axType === 'linear' || axType === 'log')) {\n if(len === arrayIn.length) {\n return arrayIn;\n } else if(arrayIn.subarray) {\n return arrayIn.subarray(0, len);\n }\n }\n\n if(axType === 'multicategory') {\n return setMultiCategoryIndex(arrayIn, len);\n }\n\n arrayOut = new Array(len);\n for(i = 0; i < len; i++) {\n arrayOut[i] = ax.d2c(arrayIn[i], 0, cal);\n }\n } else {\n var v0 = ((axLetter + '0') in trace) ? ax.d2c(trace[axLetter + '0'], 0, cal) : 0;\n var dv = (trace['d' + axLetter]) ? Number(trace['d' + axLetter]) : 1;\n\n // the opposing data, for size if we have x and dx etc\n arrayIn = trace[{x: 'y', y: 'x'}[axLetter]];\n len = trace._length || arrayIn.length;\n arrayOut = new Array(len);\n\n for(i = 0; i < len; i++) {\n arrayOut[i] = v0 + i * dv;\n }\n }\n\n return arrayOut;\n };\n\n ax.isValidRange = function(range) {\n return (\n Array.isArray(range) &&\n range.length === 2 &&\n isNumeric(ax.r2l(range[0])) &&\n isNumeric(ax.r2l(range[1]))\n );\n };\n\n ax.isPtWithinRange = function(d, calendar) {\n var coord = ax.c2l(d[axLetter], null, calendar);\n var r0 = ax.r2l(ax.range[0]);\n var r1 = ax.r2l(ax.range[1]);\n\n if(r0 < r1) {\n return r0 <= coord && coord <= r1;\n } else {\n // Reversed axis case.\n return r1 <= coord && coord <= r0;\n }\n };\n\n // should skip if not category nor multicategory\n ax.clearCalc = function() {\n var emptyCategories = function() {\n ax._categories = [];\n ax._categoriesMap = {};\n };\n\n var matchGroups = fullLayout._axisMatchGroups;\n\n if(matchGroups && matchGroups.length) {\n var found = false;\n\n for(var i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n\n if(group[axId]) {\n found = true;\n var categories = null;\n var categoriesMap = null;\n\n for(var axId2 in group) {\n var ax2 = fullLayout[axisIds.id2name(axId2)];\n if(ax2._categories) {\n categories = ax2._categories;\n categoriesMap = ax2._categoriesMap;\n break;\n }\n }\n\n if(categories && categoriesMap) {\n ax._categories = categories;\n ax._categoriesMap = categoriesMap;\n } else {\n emptyCategories();\n }\n break;\n }\n }\n if(!found) emptyCategories();\n } else {\n emptyCategories();\n }\n\n if(ax._initialCategories) {\n for(var j = 0; j < ax._initialCategories.length; j++) {\n setCategoryIndex(ax._initialCategories[j]);\n }\n }\n };\n\n // sort the axis (and all the matching ones) by _initialCategories\n // returns the indices of the traces affected by the reordering\n ax.sortByInitialCategories = function() {\n var affectedTraces = [];\n var emptyCategories = function() {\n ax._categories = [];\n ax._categoriesMap = {};\n };\n\n emptyCategories();\n\n if(ax._initialCategories) {\n for(var j = 0; j < ax._initialCategories.length; j++) {\n setCategoryIndex(ax._initialCategories[j]);\n }\n }\n\n affectedTraces = affectedTraces.concat(ax._traceIndices);\n\n // Propagate to matching axes\n var group = ax._matchGroup;\n for(var axId2 in group) {\n if(axId === axId2) continue;\n var ax2 = fullLayout[axisIds.id2name(axId2)];\n ax2._categories = ax._categories;\n ax2._categoriesMap = ax._categoriesMap;\n affectedTraces = affectedTraces.concat(ax2._traceIndices);\n }\n return affectedTraces;\n };\n\n // Propagate localization into the axis so that\n // methods in Axes can use it w/o having to pass fullLayout\n // Default (non-d3) number formatting uses separators directly\n // dates and d3-formatted numbers use the d3 locale\n // Fall back on default format for dummy axes that don't care about formatting\n var locale = fullLayout._d3locale;\n if(ax.type === 'date') {\n ax._dateFormat = locale ? locale.timeFormat.utc : d3.time.format.utc;\n ax._extraFormat = fullLayout._extraFormat;\n }\n // occasionally we need _numFormat to pass through\n // even though it won't be needed by this axis\n ax._separators = fullLayout.separators;\n ax._numFormat = locale ? locale.numberFormat : d3.format;\n\n // and for bar charts and box plots: reset forced minimum tick spacing\n delete ax._minDtick;\n delete ax._forceTick0;\n};\n\n\n/***/ }),\n\n/***/ \"1a5e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n // padding in pixels around text\n TEXTPAD: 3,\n // 'value' and 'label' are not really necessary for bar traces,\n // but they were made available to `texttemplate` (maybe by accident)\n // via tokens `%{value}` and `%{label}` starting in 1.50.0,\n // so let's include them in the event data also.\n eventDataKeys: ['value', 'label']\n};\n\n\n/***/ }),\n\n/***/ \"1a88\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/d3-path/src/path.js\nvar pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, 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\n/* harmony default export */ var src_path = (path);\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/array.js\nvar slice = Array.prototype.slice;\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/constant.js\n/* harmony default export */ var constant = (function(x) {\n return function constant() {\n return x;\n };\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/point.js\nfunction point_x(p) {\n return p[0];\n}\n\nfunction point_y(p) {\n return p[1];\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/pointRadial.js\n/* harmony default export */ var pointRadial = (function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/link/index.js\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return linkHorizontal; });\n/* unused harmony export linkVertical */\n/* unused harmony export linkRadial */\n\n\n\n\n\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link_link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = point_x,\n y = point_y,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = src_path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : 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 ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nfunction linkHorizontal() {\n return link_link(curveHorizontal);\n}\n\nfunction linkVertical() {\n return link_link(curveVertical);\n}\n\nfunction linkRadial() {\n var l = link_link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n\n\n/***/ }),\n\n/***/ \"1a94\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n\n\n/***/ }),\n\n/***/ \"1aea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Fx = __webpack_require__(\"a5c4\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar setCursor = __webpack_require__(\"0f37\");\n\nvar makeDragBox = __webpack_require__(\"9676\").makeDragBox;\nvar DRAGGERSIZE = __webpack_require__(\"d301\").DRAGGERSIZE;\n\nexports.initInteractions = function initInteractions(gd) {\n var fullLayout = gd._fullLayout;\n\n if(gd._context.staticPlot) {\n // this sweeps up more than just cartesian drag elements...\n d3.select(gd).selectAll('.drag').remove();\n return;\n }\n\n if(!fullLayout._has('cartesian') && !fullLayout._has('splom')) return;\n\n var subplots = Object.keys(fullLayout._plots || {}).sort(function(a, b) {\n // sort overlays last, then by x axis number, then y axis number\n if((fullLayout._plots[a].mainplot && true) ===\n (fullLayout._plots[b].mainplot && true)) {\n var aParts = a.split('y');\n var bParts = b.split('y');\n return (aParts[0] === bParts[0]) ?\n (Number(aParts[1] || 1) - Number(bParts[1] || 1)) :\n (Number(aParts[0] || 1) - Number(bParts[0] || 1));\n }\n return fullLayout._plots[a].mainplot ? 1 : -1;\n });\n\n subplots.forEach(function(subplot) {\n var plotinfo = fullLayout._plots[subplot];\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n // main and corner draggers need not be repeated for\n // overlaid subplots - these draggers drag them all\n if(!plotinfo.mainplot) {\n // main dragger goes over the grids and data, so we use its\n // mousemove events for all data hover effects\n var maindrag = makeDragBox(gd, plotinfo, xa._offset, ya._offset,\n xa._length, ya._length, 'ns', 'ew');\n\n maindrag.onmousemove = function(evt) {\n // This is on `gd._fullLayout`, *not* fullLayout because the reference\n // changes by the time this is called again.\n gd._fullLayout._rehover = function() {\n if((gd._fullLayout._hoversubplot === subplot) && gd._fullLayout._plots[subplot]) {\n Fx.hover(gd, evt, subplot);\n }\n };\n\n Fx.hover(gd, evt, subplot);\n\n // Note that we have *not* used the cached fullLayout variable here\n // since that may be outdated when this is called as a callback later on\n gd._fullLayout._lasthover = maindrag;\n gd._fullLayout._hoversubplot = subplot;\n };\n\n /*\n * IMPORTANT:\n * We must check for the presence of the drag cover here.\n * If we don't, a 'mouseout' event is triggered on the\n * maindrag before each 'click' event, which has the effect\n * of clearing the hoverdata; thus, cancelling the click event.\n */\n maindrag.onmouseout = function(evt) {\n if(gd._dragging) return;\n\n // When the mouse leaves this maindrag, unset the hovered subplot.\n // This may cause problems if it leaves the subplot directly *onto*\n // another subplot, but that's a tiny corner case at the moment.\n gd._fullLayout._hoversubplot = null;\n\n dragElement.unhover(gd, evt);\n };\n\n // corner draggers\n if(gd._context.showAxisDragHandles) {\n makeDragBox(gd, plotinfo, xa._offset - DRAGGERSIZE, ya._offset - DRAGGERSIZE,\n DRAGGERSIZE, DRAGGERSIZE, 'n', 'w');\n makeDragBox(gd, plotinfo, xa._offset + xa._length, ya._offset - DRAGGERSIZE,\n DRAGGERSIZE, DRAGGERSIZE, 'n', 'e');\n makeDragBox(gd, plotinfo, xa._offset - DRAGGERSIZE, ya._offset + ya._length,\n DRAGGERSIZE, DRAGGERSIZE, 's', 'w');\n makeDragBox(gd, plotinfo, xa._offset + xa._length, ya._offset + ya._length,\n DRAGGERSIZE, DRAGGERSIZE, 's', 'e');\n }\n }\n if(gd._context.showAxisDragHandles) {\n // x axis draggers - if you have overlaid plots,\n // these drag each axis separately\n if(subplot === xa._mainSubplot) {\n // the y position of the main x axis line\n var y0 = xa._mainLinePosition;\n if(xa.side === 'top') y0 -= DRAGGERSIZE;\n makeDragBox(gd, plotinfo, xa._offset + xa._length * 0.1, y0,\n xa._length * 0.8, DRAGGERSIZE, '', 'ew');\n makeDragBox(gd, plotinfo, xa._offset, y0,\n xa._length * 0.1, DRAGGERSIZE, '', 'w');\n makeDragBox(gd, plotinfo, xa._offset + xa._length * 0.9, y0,\n xa._length * 0.1, DRAGGERSIZE, '', 'e');\n }\n // y axis draggers\n if(subplot === ya._mainSubplot) {\n // the x position of the main y axis line\n var x0 = ya._mainLinePosition;\n if(ya.side !== 'right') x0 -= DRAGGERSIZE;\n makeDragBox(gd, plotinfo, x0, ya._offset + ya._length * 0.1,\n DRAGGERSIZE, ya._length * 0.8, 'ns', '');\n makeDragBox(gd, plotinfo, x0, ya._offset + ya._length * 0.9,\n DRAGGERSIZE, ya._length * 0.1, 's', '');\n makeDragBox(gd, plotinfo, x0, ya._offset,\n DRAGGERSIZE, ya._length * 0.1, 'n', '');\n }\n }\n });\n\n // In case you mousemove over some hovertext, send it to Fx.hover too\n // we do this so that we can put the hover text in front of everything,\n // but still be able to interact with everything as if it isn't there\n var hoverLayer = fullLayout._hoverlayer.node();\n\n hoverLayer.onmousemove = function(evt) {\n evt.target = gd._fullLayout._lasthover;\n Fx.hover(gd, evt, fullLayout._hoversubplot);\n };\n\n hoverLayer.onclick = function(evt) {\n evt.target = gd._fullLayout._lasthover;\n Fx.click(gd, evt);\n };\n\n // also delegate mousedowns... TODO: does this actually work?\n hoverLayer.onmousedown = function(evt) {\n gd._fullLayout._lasthover.onmousedown(evt);\n };\n\n exports.updateFx(gd);\n};\n\n// Minimal set of update needed on 'modebar' edits.\n// We only need to update the cursor style.\n//\n// Note that changing the axis configuration and/or the fixedrange attribute\n// should trigger a full initInteractions.\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var cursor = fullLayout.dragmode === 'pan' ? 'move' : 'crosshair';\n setCursor(fullLayout._draggers, cursor);\n};\n\n\n/***/ }),\n\n/***/ \"1b06\":\n/***/ (function(module, exports) {\n\nmodule.exports = lerp;\n\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec3} out\n */\nfunction lerp(out, a, b, t) {\n var ax = a[0],\n ay = a[1],\n az = a[2]\n out[0] = ax + t * (b[0] - ax)\n out[1] = ay + t * (b[1] - ay)\n out[2] = az + t * (b[2] - az)\n return out\n}\n\n/***/ }),\n\n/***/ \"1b6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Lib = __webpack_require__(\"fc26\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function clean2dArray(zOld, trace, xa, ya) {\n var rowlen, collen, getCollen, old2new, i, j;\n\n function cleanZvalue(v) {\n if(!isNumeric(v)) return undefined;\n return +v;\n }\n\n if(trace && trace.transpose) {\n rowlen = 0;\n for(i = 0; i < zOld.length; i++) rowlen = Math.max(rowlen, zOld[i].length);\n if(rowlen === 0) return false;\n getCollen = function(zOld) { return zOld.length; };\n old2new = function(zOld, i, j) { return (zOld[j] || [])[i]; };\n } else {\n rowlen = zOld.length;\n getCollen = function(zOld, i) { return zOld[i].length; };\n old2new = function(zOld, i, j) { return (zOld[i] || [])[j]; };\n }\n\n var padOld2new = function(zOld, i, j) {\n if(i === BADNUM || j === BADNUM) return BADNUM;\n return old2new(zOld, i, j);\n };\n\n function axisMapping(ax) {\n if(trace && trace.type !== 'carpet' && trace.type !== 'contourcarpet' &&\n ax && ax.type === 'category' && trace['_' + ax._id.charAt(0)].length) {\n var axLetter = ax._id.charAt(0);\n var axMapping = {};\n var traceCategories = trace['_' + axLetter + 'CategoryMap'] || trace[axLetter];\n for(i = 0; i < traceCategories.length; i++) {\n axMapping[traceCategories[i]] = i;\n }\n return function(i) {\n var ind = axMapping[ax._categories[i]];\n return ind + 1 ? ind : BADNUM;\n };\n } else {\n return Lib.identity;\n }\n }\n\n var xMap = axisMapping(xa);\n var yMap = axisMapping(ya);\n\n if(ya && ya.type === 'category') rowlen = ya._categories.length;\n var zNew = new Array(rowlen);\n\n for(i = 0; i < rowlen; i++) {\n if(xa && xa.type === 'category') {\n collen = xa._categories.length;\n } else {\n collen = getCollen(zOld, i);\n }\n zNew[i] = new Array(collen);\n for(j = 0; j < collen; j++) zNew[i][j] = cleanZvalue(padOld2new(zOld, yMap(i), xMap(j)));\n }\n\n return zNew;\n};\n\n\n/***/ }),\n\n/***/ \"1b88\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar loggers = __webpack_require__(\"ae13\");\n\n/**\n * Allow referencing a graph DOM element either directly\n * or by its id string\n *\n * @param {HTMLDivElement|string} gd: a graph element or its id\n *\n * @returns {HTMLDivElement} the DOM element of the graph\n */\nfunction getGraphDiv(gd) {\n var gdElement;\n\n if(typeof gd === 'string') {\n gdElement = document.getElementById(gd);\n\n if(gdElement === null) {\n throw new Error('No DOM element with id \\'' + gd + '\\' exists on the page.');\n }\n\n return gdElement;\n } else if(gd === null || gd === undefined) {\n throw new Error('DOM element provided is null or undefined');\n }\n\n // otherwise assume that gd is a DOM element\n return gd;\n}\n\nfunction isPlotDiv(el) {\n var el3 = d3.select(el);\n return el3.node() instanceof HTMLElement &&\n el3.size() &&\n el3.classed('js-plotly-plot');\n}\n\nfunction removeElement(el) {\n var elParent = el && el.parentNode;\n if(elParent) elParent.removeChild(el);\n}\n\n/**\n * for dynamically adding style rules\n * makes one stylesheet that contains all rules added\n * by all calls to this function\n */\nfunction addStyleRule(selector, styleString) {\n addRelatedStyleRule('global', selector, styleString);\n}\n\n/**\n * for dynamically adding style rules\n * to a stylesheet uniquely identified by a uid\n */\nfunction addRelatedStyleRule(uid, selector, styleString) {\n var id = 'plotly.js-style-' + uid;\n var style = document.getElementById(id);\n if(!style) {\n style = document.createElement('style');\n style.setAttribute('id', id);\n // WebKit hack :(\n style.appendChild(document.createTextNode(''));\n document.head.appendChild(style);\n }\n var styleSheet = style.sheet;\n\n if(styleSheet.insertRule) {\n styleSheet.insertRule(selector + '{' + styleString + '}', 0);\n } else if(styleSheet.addRule) {\n styleSheet.addRule(selector, styleString, 0);\n } else loggers.warn('addStyleRule failed');\n}\n\n/**\n * to remove from the page a stylesheet identified by a given uid\n */\nfunction deleteRelatedStyleRule(uid) {\n var id = 'plotly.js-style-' + uid;\n var style = document.getElementById(id);\n if(style) removeElement(style);\n}\n\nmodule.exports = {\n getGraphDiv: getGraphDiv,\n isPlotDiv: isPlotDiv,\n removeElement: removeElement,\n addStyleRule: addStyleRule,\n addRelatedStyleRule: addRelatedStyleRule,\n deleteRelatedStyleRule: deleteRelatedStyleRule\n};\n\n\n/***/ }),\n\n/***/ \"1bbd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n Thai calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) February 2010.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\nvar gregorianCalendar = main.instance();\n\n/** Implementation of the Thai calendar.\n See http://en.wikipedia.org/wiki/Thai_calendar.\n @class ThaiCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction ThaiCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nThaiCalendar.prototype = new main.baseCalendar;\n\nassign(ThaiCalendar.prototype, {\n /** The calendar name.\n @memberof ThaiCalendar */\n name: 'Thai',\n /** Julian date of start of Thai epoch: 1 January 543 BCE (Gregorian).\n @memberof ThaiCalendar */\n jdEpoch: 1523098.5,\n /** Difference in years between Thai and Gregorian calendars.\n @memberof ThaiCalendar */\n yearsOffset: 543, \n /** Days per month in a common year.\n @memberof ThaiCalendar */\n daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n /** true if has a year zero, false if not.\n @memberof ThaiCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof ThaiCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof ThaiCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof ThaiCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof ThaiCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Thai',\n epochs: ['BBE', 'BE'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n digits: null,\n dateFormat: 'dd/mm/yyyy',\n firstDay: 0,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.leapYear(year);\n },\n\n /** Determine the week of the year for a date - ISO 8601.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.weekOfYear(year, date.month(), date.day());\n },\n\n /** Retrieve the number of days in a month.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 2 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return (this.dayOfWeek(year, month, day) || 7) < 6;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.toJD(year, date.month(), date.day());\n },\n\n /** Create a new date from a Julian date.\n @memberof ThaiCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n var date = gregorianCalendar.fromJD(jd);\n var year = this._g2tYear(date.year());\n return this.newDate(year, date.month(), date.day());\n },\n\n /** Convert Thai to Gregorian year.\n @memberof ThaiCalendar\n @private\n @param year {number} The Thai year.\n @return {number} The corresponding Gregorian year. */\n _t2gYear: function(year) {\n return year - this.yearsOffset - (year >= 1 && year <= this.yearsOffset ? 1 : 0);\n },\n\n /** Convert Gregorian to Thai year.\n @memberof ThaiCalendar\n @private\n @param year {number} The Gregorian year.\n @return {number} The corresponding Thai year. */\n _g2tYear: function(year) {\n return year + this.yearsOffset + (year >= -this.yearsOffset && year <= -1 ? 1 : 0);\n }\n});\n\n// Thai calendar implementation\nmain.calendars.thai = ThaiCalendar;\n\n\n\n/***/ }),\n\n/***/ \"1bbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Icons = __webpack_require__(\"7559\");\nvar Parser = new DOMParser();\n\n/**\n * UI controller for interactive plots\n * @Class\n * @Param {object} opts\n * @Param {object} opts.buttons nested arrays of grouped buttons config objects\n * @Param {object} opts.container container div to append modeBar\n * @Param {object} opts.graphInfo primary plot object containing data and layout\n */\nfunction ModeBar(opts) {\n this.container = opts.container;\n this.element = document.createElement('div');\n\n this.update(opts.graphInfo, opts.buttons);\n\n this.container.appendChild(this.element);\n}\n\nvar proto = ModeBar.prototype;\n\n/**\n * Update modeBar (buttons and logo)\n *\n * @param {object} graphInfo primary plot object containing data and layout\n * @param {array of arrays} buttons nested arrays of grouped buttons to initialize\n *\n */\nproto.update = function(graphInfo, buttons) {\n this.graphInfo = graphInfo;\n\n var context = this.graphInfo._context;\n var fullLayout = this.graphInfo._fullLayout;\n var modeBarId = 'modebar-' + fullLayout._uid;\n\n this.element.setAttribute('id', modeBarId);\n this._uid = modeBarId;\n\n this.element.className = 'modebar';\n if(context.displayModeBar === 'hover') this.element.className += ' modebar--hover ease-bg';\n\n if(fullLayout.modebar.orientation === 'v') {\n this.element.className += ' vertical';\n buttons = buttons.reverse();\n }\n\n var style = fullLayout.modebar;\n var bgSelector = context.displayModeBar === 'hover' ? '.js-plotly-plot .plotly:hover ' : '';\n\n Lib.deleteRelatedStyleRule(modeBarId);\n Lib.addRelatedStyleRule(modeBarId, bgSelector + '#' + modeBarId + ' .modebar-group', 'background-color: ' + style.bgcolor);\n Lib.addRelatedStyleRule(modeBarId, '#' + modeBarId + ' .modebar-btn .icon path', 'fill: ' + style.color);\n Lib.addRelatedStyleRule(modeBarId, '#' + modeBarId + ' .modebar-btn:hover .icon path', 'fill: ' + style.activecolor);\n Lib.addRelatedStyleRule(modeBarId, '#' + modeBarId + ' .modebar-btn.active .icon path', 'fill: ' + style.activecolor);\n\n // if buttons or logo have changed, redraw modebar interior\n var needsNewButtons = !this.hasButtons(buttons);\n var needsNewLogo = (this.hasLogo !== context.displaylogo);\n var needsNewLocale = (this.locale !== context.locale);\n\n this.locale = context.locale;\n\n if(needsNewButtons || needsNewLogo || needsNewLocale) {\n this.removeAllButtons();\n\n this.updateButtons(buttons);\n\n if(context.watermark || context.displaylogo) {\n var logoGroup = this.getLogo();\n if(context.watermark) {\n logoGroup.className = logoGroup.className + ' watermark';\n }\n\n if(fullLayout.modebar.orientation === 'v') {\n this.element.insertBefore(logoGroup, this.element.childNodes[0]);\n } else {\n this.element.appendChild(logoGroup);\n }\n\n this.hasLogo = true;\n }\n }\n\n this.updateActiveButton();\n};\n\nproto.updateButtons = function(buttons) {\n var _this = this;\n\n this.buttons = buttons;\n this.buttonElements = [];\n this.buttonsNames = [];\n\n this.buttons.forEach(function(buttonGroup) {\n var group = _this.createGroup();\n\n buttonGroup.forEach(function(buttonConfig) {\n var buttonName = buttonConfig.name;\n if(!buttonName) {\n throw new Error('must provide button \\'name\\' in button config');\n }\n if(_this.buttonsNames.indexOf(buttonName) !== -1) {\n throw new Error('button name \\'' + buttonName + '\\' is taken');\n }\n _this.buttonsNames.push(buttonName);\n\n var button = _this.createButton(buttonConfig);\n _this.buttonElements.push(button);\n group.appendChild(button);\n });\n\n _this.element.appendChild(group);\n });\n};\n\n/**\n * Empty div for containing a group of buttons\n * @Return {HTMLelement}\n */\nproto.createGroup = function() {\n var group = document.createElement('div');\n group.className = 'modebar-group';\n return group;\n};\n\n/**\n * Create a new button div and set constant and configurable attributes\n * @Param {object} config (see ./buttons.js for more info)\n * @Return {HTMLelement}\n */\nproto.createButton = function(config) {\n var _this = this;\n var button = document.createElement('a');\n\n button.setAttribute('rel', 'tooltip');\n button.className = 'modebar-btn';\n\n var title = config.title;\n if(title === undefined) title = config.name;\n // for localization: allow title to be a callable that takes gd as arg\n else if(typeof title === 'function') title = title(this.graphInfo);\n\n if(title || title === 0) button.setAttribute('data-title', title);\n\n if(config.attr !== undefined) button.setAttribute('data-attr', config.attr);\n\n var val = config.val;\n if(val !== undefined) {\n if(typeof val === 'function') val = val(this.graphInfo);\n button.setAttribute('data-val', val);\n }\n\n var click = config.click;\n if(typeof click !== 'function') {\n throw new Error('must provide button \\'click\\' function in button config');\n } else {\n button.addEventListener('click', function(ev) {\n config.click(_this.graphInfo, ev);\n\n // only needed for 'hoverClosestGeo' which does not call relayout\n _this.updateActiveButton(ev.currentTarget);\n });\n }\n\n button.setAttribute('data-toggle', config.toggle || false);\n if(config.toggle) d3.select(button).classed('active', true);\n\n var icon = config.icon;\n if(typeof icon === 'function') {\n button.appendChild(icon());\n } else {\n button.appendChild(this.createIcon(icon || Icons.question));\n }\n button.setAttribute('data-gravity', config.gravity || 'n');\n\n return button;\n};\n\n/**\n * Add an icon to a button\n * @Param {object} thisIcon\n * @Param {number} thisIcon.width\n * @Param {string} thisIcon.path\n * @Param {string} thisIcon.color\n * @Return {HTMLelement}\n */\nproto.createIcon = function(thisIcon) {\n var iconHeight = isNumeric(thisIcon.height) ?\n Number(thisIcon.height) :\n thisIcon.ascent - thisIcon.descent;\n var svgNS = 'http://www.w3.org/2000/svg';\n var icon;\n\n if(thisIcon.path) {\n icon = document.createElementNS(svgNS, 'svg');\n icon.setAttribute('viewBox', [0, 0, thisIcon.width, iconHeight].join(' '));\n icon.setAttribute('class', 'icon');\n\n var path = document.createElementNS(svgNS, 'path');\n path.setAttribute('d', thisIcon.path);\n\n if(thisIcon.transform) {\n path.setAttribute('transform', thisIcon.transform);\n } else if(thisIcon.ascent !== undefined) {\n // Legacy icon transform calculation\n path.setAttribute('transform', 'matrix(1 0 0 -1 0 ' + thisIcon.ascent + ')');\n }\n\n icon.appendChild(path);\n }\n\n if(thisIcon.svg) {\n var svgDoc = Parser.parseFromString(thisIcon.svg, 'application/xml');\n icon = svgDoc.childNodes[0];\n }\n\n icon.setAttribute('height', '1em');\n icon.setAttribute('width', '1em');\n\n return icon;\n};\n\n/**\n * Updates active button with attribute specified in layout\n * @Param {object} graphInfo plot object containing data and layout\n * @Return {HTMLelement}\n */\nproto.updateActiveButton = function(buttonClicked) {\n var fullLayout = this.graphInfo._fullLayout;\n var dataAttrClicked = (buttonClicked !== undefined) ?\n buttonClicked.getAttribute('data-attr') :\n null;\n\n this.buttonElements.forEach(function(button) {\n var thisval = button.getAttribute('data-val') || true;\n var dataAttr = button.getAttribute('data-attr');\n var isToggleButton = (button.getAttribute('data-toggle') === 'true');\n var button3 = d3.select(button);\n\n // Use 'data-toggle' and 'buttonClicked' to toggle buttons\n // that have no one-to-one equivalent in fullLayout\n if(isToggleButton) {\n if(dataAttr === dataAttrClicked) {\n button3.classed('active', !button3.classed('active'));\n }\n } else {\n var val = (dataAttr === null) ?\n dataAttr :\n Lib.nestedProperty(fullLayout, dataAttr).get();\n\n button3.classed('active', val === thisval);\n }\n });\n};\n\n/**\n * Check if modeBar is configured as button configuration argument\n *\n * @Param {object} buttons 2d array of grouped button config objects\n * @Return {boolean}\n */\nproto.hasButtons = function(buttons) {\n var currentButtons = this.buttons;\n\n if(!currentButtons) return false;\n\n if(buttons.length !== currentButtons.length) return false;\n\n for(var i = 0; i < buttons.length; ++i) {\n if(buttons[i].length !== currentButtons[i].length) return false;\n for(var j = 0; j < buttons[i].length; j++) {\n if(buttons[i][j].name !== currentButtons[i][j].name) return false;\n }\n }\n\n return true;\n};\n\n/**\n * @return {HTMLDivElement} The logo image wrapped in a group\n */\nproto.getLogo = function() {\n var group = this.createGroup();\n var a = document.createElement('a');\n\n a.href = 'https://plot.ly/';\n a.target = '_blank';\n a.setAttribute('data-title', Lib._(this.graphInfo, 'Produced with Plotly'));\n a.className = 'modebar-btn plotlyjsicon modebar-btn--logo';\n\n a.appendChild(this.createIcon(Icons.newplotlylogo));\n\n group.appendChild(a);\n return group;\n};\n\nproto.removeAllButtons = function() {\n while(this.element.firstChild) {\n this.element.removeChild(this.element.firstChild);\n }\n\n this.hasLogo = false;\n};\n\nproto.destroy = function() {\n Lib.removeElement(this.container.querySelector('.modebar'));\n Lib.deleteRelatedStyleRule(this._uid);\n};\n\nfunction createModeBar(gd, buttons) {\n var fullLayout = gd._fullLayout;\n\n var modeBar = new ModeBar({\n graphInfo: gd,\n container: fullLayout._modebardiv.node(),\n buttons: buttons\n });\n\n if(fullLayout._privateplot) {\n d3.select(modeBar.element).append('span')\n .classed('badge-private float--left', true)\n .text('PRIVATE');\n }\n\n return modeBar;\n}\n\nmodule.exports = createModeBar;\n\n\n/***/ }),\n\n/***/ \"1be4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ \"1bea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * RGB space.\n *\n * @module color-space/rgb\n */\n\n\nmodule.exports = {\n\tname: 'rgb',\n\tmin: [0,0,0],\n\tmax: [255,255,255],\n\tchannel: ['red', 'green', 'blue'],\n\talias: ['RGB']\n};\n\n\n/***/ }),\n\n/***/ \"1bef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar subtypes = __webpack_require__(\"de81\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var selection = [];\n var trace = cd[0].trace;\n var i;\n\n if(!subtypes.hasMarkers(trace)) return [];\n\n if(selectionTester === false) {\n for(i = 0; i < cd.length; i++) {\n cd[i].selected = 0;\n }\n } else {\n for(i = 0; i < cd.length; i++) {\n var di = cd[i];\n var lonlat = di.lonlat;\n\n if(lonlat[0] !== BADNUM) {\n var lonlat2 = [Lib.modHalf(lonlat[0], 360), lonlat[1]];\n var xy = [xa.c2p(lonlat2), ya.c2p(lonlat2)];\n\n if(selectionTester.contains(xy, null, i, searchInfo)) {\n selection.push({\n pointNumber: i,\n lon: lonlat[0],\n lat: lonlat[1]\n });\n di.selected = 1;\n } else {\n di.selected = 0;\n }\n }\n }\n }\n\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"1c0b\":\n/***/ (function(module, exports) {\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/***/ \"1c0b8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attrs = __webpack_require__(\"8f38\");\nvar oppAxisAttrs = __webpack_require__(\"5844\");\nvar helpers = __webpack_require__(\"4c66\");\n\nmodule.exports = {\n moduleType: 'component',\n name: 'rangeslider',\n\n schema: {\n subplots: {\n xaxis: {\n rangeslider: Lib.extendFlat({}, attrs, {\n yaxis: oppAxisAttrs\n })\n }\n }\n },\n\n layoutAttributes: __webpack_require__(\"8f38\"),\n handleDefaults: __webpack_require__(\"6b10\"),\n calcAutorange: __webpack_require__(\"4cd2\"),\n draw: __webpack_require__(\"8b1d\"),\n isVisible: helpers.isVisible,\n makeData: helpers.makeData,\n autoMarginOpts: helpers.autoMarginOpts\n};\n\n\n/***/ }),\n\n/***/ \"1c1a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"62c4\")\n , setPrototypeOf = __webpack_require__(\"e0f6\")\n , object = __webpack_require__(\"68e6\")\n , ensureValue = __webpack_require__(\"96ae\")\n , randomUniq = __webpack_require__(\"6599\")\n , d = __webpack_require__(\"f508\")\n , getIterator = __webpack_require__(\"8a50\")\n , forOf = __webpack_require__(\"c351\")\n , toStringTagSymbol = __webpack_require__(\"1c4a\").toStringTag\n , isNative = __webpack_require__(\"7d72\")\n\n , isArray = Array.isArray, defineProperty = Object.defineProperty\n , objHasOwnProperty = Object.prototype.hasOwnProperty, getPrototypeOf = Object.getPrototypeOf\n , WeakMapPoly;\n\nmodule.exports = WeakMapPoly = function (/* Iterable*/) {\n\tvar iterable = arguments[0], self;\n\n\tif (!(this instanceof WeakMapPoly)) throw new TypeError(\"Constructor requires 'new'\");\n\tself = isNative && setPrototypeOf && (WeakMap !== WeakMapPoly)\n\t\t? setPrototypeOf(new WeakMap(), getPrototypeOf(this)) : this;\n\n\tif (isValue(iterable)) {\n\t\tif (!isArray(iterable)) iterable = getIterator(iterable);\n\t}\n\tdefineProperty(self, \"__weakMapData__\", d(\"c\", \"$weakMap$\" + randomUniq()));\n\tif (!iterable) return self;\n\tforOf(iterable, function (val) {\n\t\tensureValue(val);\n\t\tself.set(val[0], val[1]);\n\t});\n\treturn self;\n};\n\nif (isNative) {\n\tif (setPrototypeOf) setPrototypeOf(WeakMapPoly, WeakMap);\n\tWeakMapPoly.prototype = Object.create(WeakMap.prototype, { constructor: d(WeakMapPoly) });\n}\n\nObject.defineProperties(WeakMapPoly.prototype, {\n\tdelete: d(function (key) {\n\t\tif (objHasOwnProperty.call(object(key), this.__weakMapData__)) {\n\t\t\tdelete key[this.__weakMapData__];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}),\n\tget: d(function (key) {\n\t\tif (!objHasOwnProperty.call(object(key), this.__weakMapData__)) return undefined;\n\t\treturn key[this.__weakMapData__];\n\t}),\n\thas: d(function (key) {\n\t\treturn objHasOwnProperty.call(object(key), this.__weakMapData__);\n\t}),\n\tset: d(function (key, value) {\n\t\tdefineProperty(object(key), this.__weakMapData__, d(\"c\", value));\n\t\treturn this;\n\t}),\n\ttoString: d(function () {\n\t\treturn \"[object WeakMap]\";\n\t})\n});\ndefineProperty(WeakMapPoly.prototype, toStringTagSymbol, d(\"c\", \"WeakMap\"));\n\n\n/***/ }),\n\n/***/ \"1c1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar handleXYDefaults = __webpack_require__(\"076f\");\nvar handleStyleDefaults = __webpack_require__(\"9103\");\nvar getAxisGroup = __webpack_require__(\"3c1c\").getAxisGroup;\nvar attributes = __webpack_require__(\"fb5a\");\n\nvar coerceFont = Lib.coerceFont;\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var len = handleXYDefaults(traceIn, traceOut, layout, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('orientation', (traceOut.x && !traceOut.y) ? 'h' : 'v');\n coerce('base');\n coerce('offset');\n coerce('width');\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n var textposition = coerce('textposition');\n handleText(traceIn, traceOut, layout, coerce, textposition, {\n moduleHasSelected: true,\n moduleHasUnselected: true,\n moduleHasConstrain: true,\n moduleHasCliponaxis: true,\n moduleHasTextangle: true,\n moduleHasInsideanchor: true\n });\n\n handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout);\n\n var lineColor = (traceOut.marker.line || {}).color;\n\n // override defaultColor for error bars with defaultLine\n var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'y'});\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'x', inherit: 'y'});\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n}\n\nfunction handleGroupingDefaults(traceIn, traceOut, fullLayout, coerce) {\n var orientation = traceOut.orientation;\n // N.B. grouping is done across all trace types that support it\n var posAxId = traceOut[{v: 'x', h: 'y'}[orientation] + 'axis'];\n var groupId = getAxisGroup(fullLayout, posAxId) + orientation;\n\n var alignmentOpts = fullLayout._alignmentOpts || {};\n var alignmentgroup = coerce('alignmentgroup');\n\n var alignmentGroups = alignmentOpts[groupId];\n if(!alignmentGroups) alignmentGroups = alignmentOpts[groupId] = {};\n\n var alignmentGroupOpts = alignmentGroups[alignmentgroup];\n\n if(alignmentGroupOpts) {\n alignmentGroupOpts.traces.push(traceOut);\n } else {\n alignmentGroupOpts = alignmentGroups[alignmentgroup] = {\n traces: [traceOut],\n alignmentIndex: Object.keys(alignmentGroups).length,\n offsetGroups: {}\n };\n }\n\n var offsetgroup = coerce('offsetgroup');\n var offsetGroups = alignmentGroupOpts.offsetGroups;\n var offsetGroupOpts = offsetGroups[offsetgroup];\n\n if(offsetgroup) {\n if(!offsetGroupOpts) {\n offsetGroupOpts = offsetGroups[offsetgroup] = {\n offsetIndex: Object.keys(offsetGroups).length\n };\n }\n\n traceOut._offsetIndex = offsetGroupOpts.offsetIndex;\n }\n}\n\nfunction crossTraceDefaults(fullData, fullLayout) {\n var traceIn, traceOut;\n\n function coerce(attr) {\n return Lib.coerce(traceOut._input, traceOut, attributes, attr);\n }\n\n if(fullLayout.barmode === 'group') {\n for(var i = 0; i < fullData.length; i++) {\n traceOut = fullData[i];\n\n if(traceOut.type === 'bar') {\n traceIn = traceOut._input;\n handleGroupingDefaults(traceIn, traceOut, fullLayout, coerce);\n }\n }\n }\n}\n\nfunction handleText(traceIn, traceOut, layout, coerce, textposition, opts) {\n opts = opts || {};\n var moduleHasSelected = !(opts.moduleHasSelected === false);\n var moduleHasUnselected = !(opts.moduleHasUnselected === false);\n var moduleHasConstrain = !(opts.moduleHasConstrain === false);\n var moduleHasCliponaxis = !(opts.moduleHasCliponaxis === false);\n var moduleHasTextangle = !(opts.moduleHasTextangle === false);\n var moduleHasInsideanchor = !(opts.moduleHasInsideanchor === false);\n var hasPathbar = !!opts.hasPathbar;\n\n var hasBoth = Array.isArray(textposition) || textposition === 'auto';\n var hasInside = hasBoth || textposition === 'inside';\n var hasOutside = hasBoth || textposition === 'outside';\n\n if(hasInside || hasOutside) {\n var dfltFont = coerceFont(coerce, 'textfont', layout.font);\n\n // Note that coercing `insidetextfont` is always needed โ€“\n // even if `textposition` is `outside` for each trace โ€“ since\n // an outside label can become an inside one, for example because\n // of a bar being stacked on top of it.\n var insideTextFontDefault = Lib.extendFlat({}, dfltFont);\n var isTraceTextfontColorSet = traceIn.textfont && traceIn.textfont.color;\n var isColorInheritedFromLayoutFont = !isTraceTextfontColorSet;\n if(isColorInheritedFromLayoutFont) {\n delete insideTextFontDefault.color;\n }\n coerceFont(coerce, 'insidetextfont', insideTextFontDefault);\n\n if(hasPathbar) {\n var pathbarTextFontDefault = Lib.extendFlat({}, dfltFont);\n if(isColorInheritedFromLayoutFont) {\n delete pathbarTextFontDefault.color;\n }\n coerceFont(coerce, 'pathbar.textfont', pathbarTextFontDefault);\n }\n\n if(hasOutside) coerceFont(coerce, 'outsidetextfont', dfltFont);\n\n if(moduleHasSelected) coerce('selected.textfont.color');\n if(moduleHasUnselected) coerce('unselected.textfont.color');\n if(moduleHasConstrain) coerce('constraintext');\n if(moduleHasCliponaxis) coerce('cliponaxis');\n if(moduleHasTextangle) coerce('textangle');\n\n coerce('texttemplate');\n }\n\n if(hasInside) {\n if(moduleHasInsideanchor) coerce('insidetextanchor');\n }\n}\n\nmodule.exports = {\n supplyDefaults: supplyDefaults,\n crossTraceDefaults: crossTraceDefaults,\n handleGroupingDefaults: handleGroupingDefaults,\n handleText: handleText\n};\n\n\n/***/ }),\n\n/***/ \"1c4a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"ba61\")()\n\t? __webpack_require__(\"7c4a\").Symbol\n\t: __webpack_require__(\"94ee\");\n\n\n/***/ }),\n\n/***/ \"1c4d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar sizes = __webpack_require__(\"fde6\")\r\n\r\nmodule.exports = {\r\n\tisSize: function isSize(value) {\r\n\t\treturn /^[\\d\\.]/.test(value)\r\n\t\t\t|| value.indexOf('/') !== -1\r\n\t\t\t|| sizes.indexOf(value) !== -1\r\n\t}\r\n}\r\n\n\n/***/ }),\n\n/***/ \"1c82\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar extendDeep = __webpack_require__(\"9092\").extendDeep;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar fontAttrs = __webpack_require__(\"9845\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar axesAttrs = __webpack_require__(\"d798\");\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\nvar delta = __webpack_require__(\"b8ce\");\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar textFontAttrs = fontAttrs({\n editType: 'plot',\n colorEditType: 'plot'\n});\n\nvar gaugeBarAttrs = {\n color: {\n valType: 'color',\n editType: 'plot',\n \n \n },\n line: {\n color: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n editType: 'plot',\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 0,\n editType: 'plot',\n \n },\n editType: 'calc'\n },\n thickness: {\n valType: 'number',\n \n min: 0,\n max: 1,\n dflt: 1,\n editType: 'plot',\n \n },\n editType: 'calc'\n};\n\nvar rangeAttr = {\n valType: 'info_array',\n \n items: [\n {valType: 'number', editType: 'plot'},\n {valType: 'number', editType: 'plot'}\n ],\n editType: 'plot',\n \n};\n\nvar stepsAttrs = templatedArray('step', extendDeep({}, gaugeBarAttrs, {\n range: rangeAttr\n}));\n\nmodule.exports = {\n mode: {\n valType: 'flaglist',\n editType: 'calc',\n \n flags: ['number', 'delta', 'gauge'],\n dflt: 'number',\n \n },\n value: {\n valType: 'number',\n editType: 'calc',\n \n anim: true,\n \n },\n align: {\n valType: 'enumerated',\n values: ['left', 'center', 'right'],\n \n editType: 'plot',\n \n },\n // position\n domain: domainAttrs({name: 'indicator', trace: true, editType: 'calc'}),\n\n title: {\n text: {\n valType: 'string',\n \n editType: 'plot',\n \n },\n align: {\n valType: 'enumerated',\n values: ['left', 'center', 'right'],\n \n editType: 'plot',\n \n },\n font: extendFlat({}, textFontAttrs, {\n \n }),\n editType: 'plot'\n },\n number: {\n valueformat: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n font: extendFlat({}, textFontAttrs, {\n \n }),\n prefix: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n suffix: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n editType: 'plot'\n },\n delta: {\n reference: {\n valType: 'number',\n \n editType: 'calc',\n \n },\n position: {\n valType: 'enumerated',\n values: ['top', 'bottom', 'left', 'right'],\n \n dflt: 'bottom',\n editType: 'plot',\n \n },\n relative: {\n valType: 'boolean',\n editType: 'plot',\n \n dflt: false,\n \n },\n valueformat: {\n valType: 'string',\n \n editType: 'plot',\n \n },\n increasing: {\n symbol: {\n valType: 'string',\n \n dflt: delta.INCREASING.SYMBOL,\n editType: 'plot',\n \n },\n color: {\n valType: 'color',\n \n dflt: delta.INCREASING.COLOR,\n editType: 'plot',\n \n },\n // TODO: add attribute to show sign\n editType: 'plot'\n },\n decreasing: {\n symbol: {\n valType: 'string',\n \n dflt: delta.DECREASING.SYMBOL,\n editType: 'plot',\n \n },\n color: {\n valType: 'color',\n \n dflt: delta.DECREASING.COLOR,\n editType: 'plot',\n \n },\n // TODO: add attribute to hide sign\n editType: 'plot'\n },\n font: extendFlat({}, textFontAttrs, {\n \n }),\n editType: 'calc'\n },\n gauge: {\n shape: {\n valType: 'enumerated',\n editType: 'plot',\n \n dflt: 'angular',\n values: ['angular', 'bullet'],\n \n },\n bar: extendDeep({}, gaugeBarAttrs, {\n color: {dflt: 'green'},\n \n }),\n // Background of the gauge\n bgcolor: {\n valType: 'color',\n \n editType: 'plot',\n \n },\n bordercolor: {\n valType: 'color',\n dflt: colorAttrs.defaultLine,\n \n editType: 'plot',\n \n },\n borderwidth: {\n valType: 'number',\n min: 0,\n dflt: 1,\n \n editType: 'plot',\n \n },\n axis: overrideAll({\n range: rangeAttr,\n visible: extendFlat({}, axesAttrs.visible, {\n dflt: true\n }),\n // tick and title properties named and function exactly as in axes\n tickmode: axesAttrs.tickmode,\n nticks: axesAttrs.nticks,\n tick0: axesAttrs.tick0,\n dtick: axesAttrs.dtick,\n tickvals: axesAttrs.tickvals,\n ticktext: axesAttrs.ticktext,\n ticks: extendFlat({}, axesAttrs.ticks, {dflt: 'outside'}),\n ticklen: axesAttrs.ticklen,\n tickwidth: axesAttrs.tickwidth,\n tickcolor: axesAttrs.tickcolor,\n showticklabels: axesAttrs.showticklabels,\n tickfont: fontAttrs({\n \n }),\n tickangle: axesAttrs.tickangle,\n tickformat: axesAttrs.tickformat,\n tickformatstops: axesAttrs.tickformatstops,\n tickprefix: axesAttrs.tickprefix,\n showtickprefix: axesAttrs.showtickprefix,\n ticksuffix: axesAttrs.ticksuffix,\n showticksuffix: axesAttrs.showticksuffix,\n separatethousands: axesAttrs.separatethousands,\n exponentformat: axesAttrs.exponentformat,\n showexponent: axesAttrs.showexponent,\n editType: 'plot'\n }, 'plot'),\n // Steps (or ranges) and thresholds\n steps: stepsAttrs,\n threshold: {\n line: {\n color: extendFlat({}, gaugeBarAttrs.line.color, {\n \n }),\n width: extendFlat({}, gaugeBarAttrs.line.width, {\n dflt: 1,\n \n }),\n editType: 'plot'\n },\n thickness: extendFlat({}, gaugeBarAttrs.thickness, {\n dflt: 0.85,\n \n }),\n value: {\n valType: 'number',\n editType: 'calc',\n dflt: false,\n \n \n },\n editType: 'plot'\n },\n \n editType: 'plot'\n // TODO: in future version, add marker: (bar|needle)\n }\n};\n\n\n/***/ }),\n\n/***/ \"1cfc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"6386\");\n\n\n/***/ }),\n\n/***/ \"1d19\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* @module to-float32 */\r\n\r\n\r\n\r\nmodule.exports = float32\r\nmodule.exports.float32 =\r\nmodule.exports.float = float32\r\nmodule.exports.fract32 =\r\nmodule.exports.fract = fract32\r\n\r\nvar narr = new Float32Array(1)\r\n\r\n// return fractional part of float32 array\r\nfunction fract32 (arr) {\r\n\tif (arr.length) {\r\n\t\tvar fract = float32(arr)\r\n\t\tfor (var i = 0, l = fract.length; i < l; i++) {\r\n\t\t\tfract[i] = arr[i] - fract[i]\r\n\t\t}\r\n\t\treturn fract\r\n\t}\r\n\r\n\t// number\r\n\treturn float32(arr - float32(arr))\r\n}\r\n\r\n// make sure data is float32 array\r\nfunction float32 (arr) {\r\n\tif (arr.length) {\r\n\t\tif (arr instanceof Float32Array) return arr\r\n\t\tvar float = new Float32Array(arr)\r\n\t\tfloat.set(arr)\r\n\t\treturn float\r\n\t}\r\n\r\n\t// number\r\n\tnarr[0] = arr\r\n\treturn narr[0]\r\n}\r\n\n\n/***/ }),\n\n/***/ \"1d4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar compile = __webpack_require__(\"c535\")\nvar CACHE = {}\n\nfunction sort(array) {\n var order = array.order\n var dtype = array.dtype\n var typeSig = [order, dtype ]\n var typeName = typeSig.join(\":\")\n var compiled = CACHE[typeName]\n if(!compiled) {\n CACHE[typeName] = compiled = compile(order, dtype)\n }\n compiled(array)\n return array\n}\n\nmodule.exports = sort\n\n/***/ }),\n\n/***/ \"1d5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ndarray = __webpack_require__(\"b5bb\")\nvar ops = __webpack_require__(\"62d6\")\nvar pool = __webpack_require__(\"cea5\")\n\nmodule.exports = createTexture2D\n\nvar linearTypes = null\nvar filterTypes = null\nvar wrapTypes = null\n\nfunction lazyInitLinearTypes(gl) {\n linearTypes = [\n gl.LINEAR,\n gl.NEAREST_MIPMAP_LINEAR,\n gl.LINEAR_MIPMAP_NEAREST,\n gl.LINEAR_MIPMAP_NEAREST\n ]\n filterTypes = [\n gl.NEAREST,\n gl.LINEAR,\n gl.NEAREST_MIPMAP_NEAREST,\n gl.NEAREST_MIPMAP_LINEAR,\n gl.LINEAR_MIPMAP_NEAREST,\n gl.LINEAR_MIPMAP_LINEAR\n ]\n wrapTypes = [\n gl.REPEAT,\n gl.CLAMP_TO_EDGE,\n gl.MIRRORED_REPEAT\n ]\n}\n\nfunction acceptTextureDOM (obj) {\n return (\n ('undefined' != typeof HTMLCanvasElement && obj instanceof HTMLCanvasElement) ||\n ('undefined' != typeof HTMLImageElement && obj instanceof HTMLImageElement) ||\n ('undefined' != typeof HTMLVideoElement && obj instanceof HTMLVideoElement) ||\n ('undefined' != typeof ImageData && obj instanceof ImageData))\n}\n\nvar convertFloatToUint8 = function(out, inp) {\n ops.muls(out, inp, 255.0)\n}\n\nfunction reshapeTexture(tex, w, h) {\n var gl = tex.gl\n var maxSize = gl.getParameter(gl.MAX_TEXTURE_SIZE)\n if(w < 0 || w > maxSize || h < 0 || h > maxSize) {\n throw new Error('gl-texture2d: Invalid texture size')\n }\n tex._shape = [w, h]\n tex.bind()\n gl.texImage2D(gl.TEXTURE_2D, 0, tex.format, w, h, 0, tex.format, tex.type, null)\n tex._mipLevels = [0]\n return tex\n}\n\nfunction Texture2D(gl, handle, width, height, format, type) {\n this.gl = gl\n this.handle = handle\n this.format = format\n this.type = type\n this._shape = [width, height]\n this._mipLevels = [0]\n this._magFilter = gl.NEAREST\n this._minFilter = gl.NEAREST\n this._wrapS = gl.CLAMP_TO_EDGE\n this._wrapT = gl.CLAMP_TO_EDGE\n this._anisoSamples = 1\n\n var parent = this\n var wrapVector = [this._wrapS, this._wrapT]\n Object.defineProperties(wrapVector, [\n {\n get: function() {\n return parent._wrapS\n },\n set: function(v) {\n return parent.wrapS = v\n }\n },\n {\n get: function() {\n return parent._wrapT\n },\n set: function(v) {\n return parent.wrapT = v\n }\n }\n ])\n this._wrapVector = wrapVector\n\n var shapeVector = [this._shape[0], this._shape[1]]\n Object.defineProperties(shapeVector, [\n {\n get: function() {\n return parent._shape[0]\n },\n set: function(v) {\n return parent.width = v\n }\n },\n {\n get: function() {\n return parent._shape[1]\n },\n set: function(v) {\n return parent.height = v\n }\n }\n ])\n this._shapeVector = shapeVector\n}\n\nvar proto = Texture2D.prototype\n\nObject.defineProperties(proto, {\n minFilter: {\n get: function() {\n return this._minFilter\n },\n set: function(v) {\n this.bind()\n var gl = this.gl\n if(this.type === gl.FLOAT && linearTypes.indexOf(v) >= 0) {\n if(!gl.getExtension('OES_texture_float_linear')) {\n v = gl.NEAREST\n }\n }\n if(filterTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown filter mode ' + v)\n }\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, v)\n return this._minFilter = v\n }\n },\n magFilter: {\n get: function() {\n return this._magFilter\n },\n set: function(v) {\n this.bind()\n var gl = this.gl\n if(this.type === gl.FLOAT && linearTypes.indexOf(v) >= 0) {\n if(!gl.getExtension('OES_texture_float_linear')) {\n v = gl.NEAREST\n }\n }\n if(filterTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown filter mode ' + v)\n }\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, v)\n return this._magFilter = v\n }\n },\n mipSamples: {\n get: function() {\n return this._anisoSamples\n },\n set: function(i) {\n var psamples = this._anisoSamples\n this._anisoSamples = Math.max(i, 1)|0\n if(psamples !== this._anisoSamples) {\n var ext = this.gl.getExtension('EXT_texture_filter_anisotropic')\n if(ext) {\n this.gl.texParameterf(this.gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOTROPY_EXT, this._anisoSamples)\n }\n }\n return this._anisoSamples\n }\n },\n wrapS: {\n get: function() {\n return this._wrapS\n },\n set: function(v) {\n this.bind()\n if(wrapTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown wrap mode ' + v)\n }\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, v)\n return this._wrapS = v\n }\n },\n wrapT: {\n get: function() {\n return this._wrapT\n },\n set: function(v) {\n this.bind()\n if(wrapTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown wrap mode ' + v)\n }\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, v)\n return this._wrapT = v\n }\n },\n wrap: {\n get: function() {\n return this._wrapVector\n },\n set: function(v) {\n if(!Array.isArray(v)) {\n v = [v,v]\n }\n if(v.length !== 2) {\n throw new Error('gl-texture2d: Must specify wrap mode for rows and columns')\n }\n for(var i=0; i<2; ++i) {\n if(wrapTypes.indexOf(v[i]) < 0) {\n throw new Error('gl-texture2d: Unknown wrap mode ' + v)\n }\n }\n this._wrapS = v[0]\n this._wrapT = v[1]\n\n var gl = this.gl\n this.bind()\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, this._wrapS)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, this._wrapT)\n\n return v\n }\n },\n shape: {\n get: function() {\n return this._shapeVector\n },\n set: function(x) {\n if(!Array.isArray(x)) {\n x = [x|0,x|0]\n } else {\n if(x.length !== 2) {\n throw new Error('gl-texture2d: Invalid texture shape')\n }\n }\n reshapeTexture(this, x[0]|0, x[1]|0)\n return [x[0]|0, x[1]|0]\n }\n },\n width: {\n get: function() {\n return this._shape[0]\n },\n set: function(w) {\n w = w|0\n reshapeTexture(this, w, this._shape[1])\n return w\n }\n },\n height: {\n get: function() {\n return this._shape[1]\n },\n set: function(h) {\n h = h|0\n reshapeTexture(this, this._shape[0], h)\n return h\n }\n }\n})\n\nproto.bind = function(unit) {\n var gl = this.gl\n if(unit !== undefined) {\n gl.activeTexture(gl.TEXTURE0 + (unit|0))\n }\n gl.bindTexture(gl.TEXTURE_2D, this.handle)\n if(unit !== undefined) {\n return (unit|0)\n }\n return gl.getParameter(gl.ACTIVE_TEXTURE) - gl.TEXTURE0\n}\n\nproto.dispose = function() {\n this.gl.deleteTexture(this.handle)\n}\n\nproto.generateMipmap = function() {\n this.bind()\n this.gl.generateMipmap(this.gl.TEXTURE_2D)\n\n //Update mip levels\n var l = Math.min(this._shape[0], this._shape[1])\n for(var i=0; l>0; ++i, l>>>=1) {\n if(this._mipLevels.indexOf(i) < 0) {\n this._mipLevels.push(i)\n }\n }\n}\n\nproto.setPixels = function(data, x_off, y_off, mip_level) {\n var gl = this.gl\n this.bind()\n if(Array.isArray(x_off)) {\n mip_level = y_off\n y_off = x_off[1]|0\n x_off = x_off[0]|0\n } else {\n x_off = x_off || 0\n y_off = y_off || 0\n }\n mip_level = mip_level || 0\n var directData = acceptTextureDOM(data) ? data : data.raw\n if(directData) {\n var needsMip = this._mipLevels.indexOf(mip_level) < 0\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, 0, this.format, this.format, this.type, directData)\n this._mipLevels.push(mip_level)\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, this.format, this.type, directData)\n }\n } else if(data.shape && data.stride && data.data) {\n if(data.shape.length < 2 ||\n x_off + data.shape[1] > this._shape[1]>>>mip_level ||\n y_off + data.shape[0] > this._shape[0]>>>mip_level ||\n x_off < 0 ||\n y_off < 0) {\n throw new Error('gl-texture2d: Texture dimensions are out of bounds')\n }\n texSubImageArray(gl, x_off, y_off, mip_level, this.format, this.type, this._mipLevels, data)\n } else {\n throw new Error('gl-texture2d: Unsupported data type')\n }\n}\n\n\nfunction isPacked(shape, stride) {\n if(shape.length === 3) {\n return (stride[2] === 1) &&\n (stride[1] === shape[0]*shape[2]) &&\n (stride[0] === shape[2])\n }\n return (stride[0] === 1) &&\n (stride[1] === shape[0])\n}\n\nfunction texSubImageArray(gl, x_off, y_off, mip_level, cformat, ctype, mipLevels, array) {\n var dtype = array.dtype\n var shape = array.shape.slice()\n if(shape.length < 2 || shape.length > 3) {\n throw new Error('gl-texture2d: Invalid ndarray, must be 2d or 3d')\n }\n var type = 0, format = 0\n var packed = isPacked(shape, array.stride.slice())\n if(dtype === 'float32') {\n type = gl.FLOAT\n } else if(dtype === 'float64') {\n type = gl.FLOAT\n packed = false\n dtype = 'float32'\n } else if(dtype === 'uint8') {\n type = gl.UNSIGNED_BYTE\n } else {\n type = gl.UNSIGNED_BYTE\n packed = false\n dtype = 'uint8'\n }\n var channels = 1\n if(shape.length === 2) {\n format = gl.LUMINANCE\n shape = [shape[0], shape[1], 1]\n array = ndarray(array.data, shape, [array.stride[0], array.stride[1], 1], array.offset)\n } else if(shape.length === 3) {\n if(shape[2] === 1) {\n format = gl.ALPHA\n } else if(shape[2] === 2) {\n format = gl.LUMINANCE_ALPHA\n } else if(shape[2] === 3) {\n format = gl.RGB\n } else if(shape[2] === 4) {\n format = gl.RGBA\n } else {\n throw new Error('gl-texture2d: Invalid shape for pixel coords')\n }\n channels = shape[2]\n } else {\n throw new Error('gl-texture2d: Invalid shape for texture')\n }\n //For 1-channel textures allow conversion between formats\n if((format === gl.LUMINANCE || format === gl.ALPHA) &&\n (cformat === gl.LUMINANCE || cformat === gl.ALPHA)) {\n format = cformat\n }\n if(format !== cformat) {\n throw new Error('gl-texture2d: Incompatible texture format for setPixels')\n }\n var size = array.size\n var needsMip = mipLevels.indexOf(mip_level) < 0\n if(needsMip) {\n mipLevels.push(mip_level)\n }\n if(type === ctype && packed) {\n //Array data types are compatible, can directly copy into texture\n if(array.offset === 0 && array.data.length === size) {\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, mip_level, cformat, shape[0], shape[1], 0, cformat, ctype, array.data)\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, shape[0], shape[1], cformat, ctype, array.data)\n }\n } else {\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, mip_level, cformat, shape[0], shape[1], 0, cformat, ctype, array.data.subarray(array.offset, array.offset+size))\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, shape[0], shape[1], cformat, ctype, array.data.subarray(array.offset, array.offset+size))\n }\n }\n } else {\n //Need to do type conversion to pack data into buffer\n var pack_buffer\n if(ctype === gl.FLOAT) {\n pack_buffer = pool.mallocFloat32(size)\n } else {\n pack_buffer = pool.mallocUint8(size)\n }\n var pack_view = ndarray(pack_buffer, shape, [shape[2], shape[2]*shape[0], 1])\n if(type === gl.FLOAT && ctype === gl.UNSIGNED_BYTE) {\n convertFloatToUint8(pack_view, array)\n } else {\n ops.assign(pack_view, array)\n }\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, mip_level, cformat, shape[0], shape[1], 0, cformat, ctype, pack_buffer.subarray(0, size))\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, shape[0], shape[1], cformat, ctype, pack_buffer.subarray(0, size))\n }\n if(ctype === gl.FLOAT) {\n pool.freeFloat32(pack_buffer)\n } else {\n pool.freeUint8(pack_buffer)\n }\n }\n}\n\nfunction initTexture(gl) {\n var tex = gl.createTexture()\n gl.bindTexture(gl.TEXTURE_2D, tex)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE)\n return tex\n}\n\nfunction createTextureShape(gl, width, height, format, type) {\n var maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE)\n if(width < 0 || width > maxTextureSize || height < 0 || height > maxTextureSize) {\n throw new Error('gl-texture2d: Invalid texture shape')\n }\n if(type === gl.FLOAT && !gl.getExtension('OES_texture_float')) {\n throw new Error('gl-texture2d: Floating point textures not supported on this platform')\n }\n var tex = initTexture(gl)\n gl.texImage2D(gl.TEXTURE_2D, 0, format, width, height, 0, format, type, null)\n return new Texture2D(gl, tex, width, height, format, type)\n}\n\nfunction createTextureDOM(gl, directData, width, height, format, type) {\n var tex = initTexture(gl)\n gl.texImage2D(gl.TEXTURE_2D, 0, format, format, type, directData)\n return new Texture2D(gl, tex, width, height, format, type)\n}\n\n//Creates a texture from an ndarray\nfunction createTextureArray(gl, array) {\n var dtype = array.dtype\n var shape = array.shape.slice()\n var maxSize = gl.getParameter(gl.MAX_TEXTURE_SIZE)\n if(shape[0] < 0 || shape[0] > maxSize || shape[1] < 0 || shape[1] > maxSize) {\n throw new Error('gl-texture2d: Invalid texture size')\n }\n var packed = isPacked(shape, array.stride.slice())\n var type = 0\n if(dtype === 'float32') {\n type = gl.FLOAT\n } else if(dtype === 'float64') {\n type = gl.FLOAT\n packed = false\n dtype = 'float32'\n } else if(dtype === 'uint8') {\n type = gl.UNSIGNED_BYTE\n } else {\n type = gl.UNSIGNED_BYTE\n packed = false\n dtype = 'uint8'\n }\n var format = 0\n if(shape.length === 2) {\n format = gl.LUMINANCE\n shape = [shape[0], shape[1], 1]\n array = ndarray(array.data, shape, [array.stride[0], array.stride[1], 1], array.offset)\n } else if(shape.length === 3) {\n if(shape[2] === 1) {\n format = gl.ALPHA\n } else if(shape[2] === 2) {\n format = gl.LUMINANCE_ALPHA\n } else if(shape[2] === 3) {\n format = gl.RGB\n } else if(shape[2] === 4) {\n format = gl.RGBA\n } else {\n throw new Error('gl-texture2d: Invalid shape for pixel coords')\n }\n } else {\n throw new Error('gl-texture2d: Invalid shape for texture')\n }\n if(type === gl.FLOAT && !gl.getExtension('OES_texture_float')) {\n type = gl.UNSIGNED_BYTE\n packed = false\n }\n var buffer, buf_store\n var size = array.size\n if(!packed) {\n var stride = [shape[2], shape[2]*shape[0], 1]\n buf_store = pool.malloc(size, dtype)\n var buf_array = ndarray(buf_store, shape, stride, 0)\n if((dtype === 'float32' || dtype === 'float64') && type === gl.UNSIGNED_BYTE) {\n convertFloatToUint8(buf_array, array)\n } else {\n ops.assign(buf_array, array)\n }\n buffer = buf_store.subarray(0, size)\n } else if (array.offset === 0 && array.data.length === size) {\n buffer = array.data\n } else {\n buffer = array.data.subarray(array.offset, array.offset + size)\n }\n var tex = initTexture(gl)\n gl.texImage2D(gl.TEXTURE_2D, 0, format, shape[0], shape[1], 0, format, type, buffer)\n if(!packed) {\n pool.free(buf_store)\n }\n return new Texture2D(gl, tex, shape[0], shape[1], format, type)\n}\n\nfunction createTexture2D(gl) {\n if(arguments.length <= 1) {\n throw new Error('gl-texture2d: Missing arguments for texture2d constructor')\n }\n if(!linearTypes) {\n lazyInitLinearTypes(gl)\n }\n if(typeof arguments[1] === 'number') {\n return createTextureShape(gl, arguments[1], arguments[2], arguments[3]||gl.RGBA, arguments[4]||gl.UNSIGNED_BYTE)\n }\n if(Array.isArray(arguments[1])) {\n return createTextureShape(gl, arguments[1][0]|0, arguments[1][1]|0, arguments[2]||gl.RGBA, arguments[3]||gl.UNSIGNED_BYTE)\n }\n if(typeof arguments[1] === 'object') {\n var obj = arguments[1]\n var directData = acceptTextureDOM(obj) ? obj : obj.raw\n if (directData) {\n return createTextureDOM(gl, directData, obj.width|0, obj.height|0, arguments[2]||gl.RGBA, arguments[3]||gl.UNSIGNED_BYTE)\n } else if(obj.shape && obj.data && obj.stride) {\n return createTextureArray(gl, obj)\n }\n }\n throw new Error('gl-texture2d: Invalid arguments for texture2d constructor')\n}\n\n\n/***/ }),\n\n/***/ \"1d80\":\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/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/***/ \"1d9e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Colorscale = __webpack_require__(\"c258\");\n\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\nvar makeBlank = __webpack_require__(\"2169\").makeBlank;\n\nmodule.exports = function convert(calcTrace) {\n var trace = calcTrace[0].trace;\n var isVisible = (trace.visible === true && trace._length !== 0);\n\n var heatmap = {\n layout: {visibility: 'none'},\n paint: {}\n };\n\n var opts = trace._opts = {\n heatmap: heatmap,\n geojson: makeBlank()\n };\n\n // early return if not visible or placeholder\n if(!isVisible) return opts;\n\n var features = [];\n var i;\n\n var z = trace.z;\n var radius = trace.radius;\n var hasZ = Lib.isArrayOrTypedArray(z) && z.length;\n var hasArrayRadius = Lib.isArrayOrTypedArray(radius);\n\n for(i = 0; i < calcTrace.length; i++) {\n var cdi = calcTrace[i];\n var lonlat = cdi.lonlat;\n\n if(lonlat[0] !== BADNUM) {\n var props = {};\n\n if(hasZ) {\n var zi = cdi.z;\n props.z = zi !== BADNUM ? zi : 0;\n }\n if(hasArrayRadius) {\n props.r = (isNumeric(radius[i]) && radius[i] > 0) ? +radius[i] : 0;\n }\n\n features.push({\n type: 'Feature',\n geometry: {type: 'Point', coordinates: lonlat},\n properties: props\n });\n }\n }\n\n var cOpts = Colorscale.extractOpts(trace);\n var scl = cOpts.reversescale ?\n Colorscale.flipScale(cOpts.colorscale) :\n cOpts.colorscale;\n\n // Add alpha channel to first colorscale step.\n // If not, we would essentially color the entire map.\n // See https://docs.mapbox.com/mapbox-gl-js/example/heatmap-layer/\n var scl01 = scl[0][1];\n var color0 = Color.opacity(scl01) < 1 ? scl01 : Color.addOpacity(scl01, 0);\n\n var heatmapColor = [\n 'interpolate', ['linear'],\n ['heatmap-density'],\n 0, color0\n ];\n for(i = 1; i < scl.length; i++) {\n heatmapColor.push(scl[i][0], scl[i][1]);\n }\n\n // Those \"weights\" have to be in [0, 1], we can do this either:\n // - as here using a mapbox-gl expression\n // - or, scale the 'z' property in the feature loop\n var zExp = [\n 'interpolate', ['linear'],\n ['get', 'z'],\n cOpts.min, 0,\n cOpts.max, 1\n ];\n\n Lib.extendFlat(opts.heatmap.paint, {\n 'heatmap-weight': hasZ ? zExp : 1 / (cOpts.max - cOpts.min),\n\n 'heatmap-color': heatmapColor,\n\n 'heatmap-radius': hasArrayRadius ?\n {type: 'identity', property: 'r'} :\n trace.radius,\n\n 'heatmap-opacity': trace.opacity\n });\n\n opts.geojson = {type: 'FeatureCollection', features: features};\n opts.heatmap.layout.visibility = 'visible';\n\n return opts;\n};\n\n\n/***/ }),\n\n/***/ \"1db7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar c = __webpack_require__(\"f7a4\");\nvar d3 = __webpack_require__(\"6e58\");\nvar keyFun = __webpack_require__(\"0a3e\").keyFun;\nvar repeat = __webpack_require__(\"0a3e\").repeat;\nvar sortAsc = __webpack_require__(\"fc26\").sorterAsc;\n\nvar snapRatio = c.bar.snapRatio;\nfunction snapOvershoot(v, vAdjacent) { return v * (1 - snapRatio) + vAdjacent * snapRatio; }\n\nvar snapClose = c.bar.snapClose;\nfunction closeToCovering(v, vAdjacent) { return v * (1 - snapClose) + vAdjacent * snapClose; }\n\n// snap for the low end of a range on an ordinal scale\n// on an ordinal scale, always show some overshoot from the exact value,\n// so it's clear we're covering it\n// find the interval we're in, and snap to 1/4 the distance to the next\n// these two could be unified at a slight loss of readability / perf\nfunction ordinalScaleSnap(isHigh, a, v, existingRanges) {\n if(overlappingExisting(v, existingRanges)) return v;\n\n var dir = isHigh ? -1 : 1;\n\n var first = 0;\n var last = a.length - 1;\n if(dir < 0) {\n var tmp = first;\n first = last;\n last = tmp;\n }\n\n var aHere = a[first];\n var aPrev = aHere;\n for(var i = first; dir * i < dir * last; i += dir) {\n var nextI = i + dir;\n var aNext = a[nextI];\n\n // very close to the previous - snap down to it\n if(dir * v < dir * closeToCovering(aHere, aNext)) return snapOvershoot(aHere, aPrev);\n if(dir * v < dir * aNext || nextI === last) return snapOvershoot(aNext, aHere);\n\n aPrev = aHere;\n aHere = aNext;\n }\n}\n\nfunction overlappingExisting(v, existingRanges) {\n for(var i = 0; i < existingRanges.length; i++) {\n if(v >= existingRanges[i][0] && v <= existingRanges[i][1]) return true;\n }\n return false;\n}\n\nfunction barHorizontalSetup(selection) {\n selection\n .attr('x', -c.bar.captureWidth / 2)\n .attr('width', c.bar.captureWidth);\n}\n\nfunction backgroundBarHorizontalSetup(selection) {\n selection\n .attr('visibility', 'visible')\n .style('visibility', 'visible')\n .attr('fill', 'yellow')\n .attr('opacity', 0);\n}\n\nfunction setHighlight(d) {\n if(!d.brush.filterSpecified) {\n return '0,' + d.height;\n }\n\n var pixelRanges = unitToPx(d.brush.filter.getConsolidated(), d.height);\n var dashArray = [0]; // we start with a 0 length selection as filter ranges are inclusive, not exclusive\n var p, sectionHeight, iNext;\n var currentGap = pixelRanges.length ? pixelRanges[0][0] : null;\n for(var i = 0; i < pixelRanges.length; i++) {\n p = pixelRanges[i];\n sectionHeight = p[1] - p[0];\n dashArray.push(currentGap);\n dashArray.push(sectionHeight);\n iNext = i + 1;\n if(iNext < pixelRanges.length) {\n currentGap = pixelRanges[iNext][0] - p[1];\n }\n }\n dashArray.push(d.height);\n // d.height is added at the end to ensure that (1) we have an even number of dasharray points, MDN page says\n // \"If an odd number of values is provided, then the list of values is repeated to yield an even number of values.\"\n // and (2) it's _at least_ as long as the full height (even if range is minuscule and at the bottom) though this\n // may not be necessary, maybe duplicating the last point would do too. But no harm in a longer dasharray than line.\n return dashArray;\n}\n\nfunction unitToPx(unitRanges, height) {\n return unitRanges.map(function(pr) {\n return pr.map(function(v) { return Math.max(0, v * height); }).sort(sortAsc);\n });\n}\n\n// is the cursor over the north, middle, or south of a bar?\n// the end handles extend over the last 10% of the bar\nfunction getRegion(fPix, y) {\n var pad = c.bar.handleHeight;\n if(y > fPix[1] + pad || y < fPix[0] - pad) return;\n if(y >= 0.9 * fPix[1] + 0.1 * fPix[0]) return 'n';\n if(y <= 0.9 * fPix[0] + 0.1 * fPix[1]) return 's';\n return 'ns';\n}\n\nfunction clearCursor() {\n d3.select(document.body)\n .style('cursor', null);\n}\n\nfunction styleHighlight(selection) {\n // stroke-dasharray is used to minimize the number of created DOM nodes, because the requirement calls for up to\n // 1000 individual selections on an axis, and there can be 60 axes per parcoords, and multiple parcoords per\n // dashboard. The technique is similar to https://codepen.io/monfera/pen/rLYqWR and using a `polyline` with\n // multiple sections, or a `path` element via its `d` attribute would also be DOM-sparing alternatives.\n selection.attr('stroke-dasharray', setHighlight);\n}\n\nfunction renderHighlight(root, tweenCallback) {\n var bar = d3.select(root).selectAll('.highlight, .highlight-shadow');\n var barToStyle = tweenCallback ? bar.transition().duration(c.bar.snapDuration).each('end', tweenCallback) : bar;\n styleHighlight(barToStyle);\n}\n\nfunction getInterval(d, y) {\n var b = d.brush;\n var active = b.filterSpecified;\n var closestInterval = NaN;\n var out = {};\n var i;\n\n if(active) {\n var height = d.height;\n var intervals = b.filter.getConsolidated();\n var pixIntervals = unitToPx(intervals, height);\n var hoveredInterval = NaN;\n var previousInterval = NaN;\n var nextInterval = NaN;\n for(i = 0; i <= pixIntervals.length; i++) {\n var p = pixIntervals[i];\n if(p && p[0] <= y && y <= p[1]) {\n // over a bar\n hoveredInterval = i;\n break;\n } else {\n // between bars, or before/after the first/last bar\n previousInterval = i ? i - 1 : NaN;\n if(p && p[0] > y) {\n nextInterval = i;\n break; // no point continuing as intervals are non-overlapping and sorted; could use log search\n }\n }\n }\n\n closestInterval = hoveredInterval;\n if(isNaN(closestInterval)) {\n if(isNaN(previousInterval) || isNaN(nextInterval)) {\n closestInterval = isNaN(previousInterval) ? nextInterval : previousInterval;\n } else {\n closestInterval = (y - pixIntervals[previousInterval][1] < pixIntervals[nextInterval][0] - y) ?\n previousInterval : nextInterval;\n }\n }\n\n if(!isNaN(closestInterval)) {\n var fPix = pixIntervals[closestInterval];\n var region = getRegion(fPix, y);\n\n if(region) {\n out.interval = intervals[closestInterval];\n out.intervalPix = fPix;\n out.region = region;\n }\n }\n }\n\n if(d.ordinal && !out.region) {\n var a = d.unitTickvals;\n var unitLocation = d.unitToPaddedPx.invert(y);\n for(i = 0; i < a.length; i++) {\n var rangei = [\n a[Math.max(i - 1, 0)] * 0.25 + a[i] * 0.75,\n a[Math.min(i + 1, a.length - 1)] * 0.25 + a[i] * 0.75\n ];\n if(unitLocation >= rangei[0] && unitLocation <= rangei[1]) {\n out.clickableOrdinalRange = rangei;\n break;\n }\n }\n }\n\n return out;\n}\n\nfunction dragstart(lThis, d) {\n d3.event.sourceEvent.stopPropagation();\n var y = d.height - d3.mouse(lThis)[1] - 2 * c.verticalPadding;\n var unitLocation = d.unitToPaddedPx.invert(y);\n var b = d.brush;\n var interval = getInterval(d, y);\n var unitRange = interval.interval;\n var s = b.svgBrush;\n s.wasDragged = false; // we start assuming there won't be a drag - useful for reset\n s.grabbingBar = interval.region === 'ns';\n if(s.grabbingBar) {\n var pixelRange = unitRange.map(d.unitToPaddedPx);\n s.grabPoint = y - pixelRange[0] - c.verticalPadding;\n s.barLength = pixelRange[1] - pixelRange[0];\n }\n s.clickableOrdinalRange = interval.clickableOrdinalRange;\n s.stayingIntervals = (d.multiselect && b.filterSpecified) ? b.filter.getConsolidated() : [];\n if(unitRange) {\n s.stayingIntervals = s.stayingIntervals.filter(function(int2) {\n return int2[0] !== unitRange[0] && int2[1] !== unitRange[1];\n });\n }\n s.startExtent = interval.region ? unitRange[interval.region === 's' ? 1 : 0] : unitLocation;\n d.parent.inBrushDrag = true;\n s.brushStartCallback();\n}\n\nfunction drag(lThis, d) {\n d3.event.sourceEvent.stopPropagation();\n var y = d.height - d3.mouse(lThis)[1] - 2 * c.verticalPadding;\n var s = d.brush.svgBrush;\n s.wasDragged = true;\n s._dragging = true;\n\n if(s.grabbingBar) { // moving the bar\n s.newExtent = [y - s.grabPoint, y + s.barLength - s.grabPoint].map(d.unitToPaddedPx.invert);\n } else { // south/north drag or new bar creation\n s.newExtent = [s.startExtent, d.unitToPaddedPx.invert(y)].sort(sortAsc);\n }\n\n d.brush.filterSpecified = true;\n s.extent = s.stayingIntervals.concat([s.newExtent]);\n s.brushCallback(d);\n renderHighlight(lThis.parentNode);\n}\n\nfunction dragend(lThis, d) {\n var brush = d.brush;\n var filter = brush.filter;\n var s = brush.svgBrush;\n\n if(!s._dragging) { // i.e. click\n // mock zero drag\n mousemove(lThis, d);\n drag(lThis, d);\n // remember it is a click not a drag\n d.brush.svgBrush.wasDragged = false;\n }\n s._dragging = false;\n\n var e = d3.event;\n e.sourceEvent.stopPropagation();\n var grabbingBar = s.grabbingBar;\n s.grabbingBar = false;\n s.grabLocation = undefined;\n d.parent.inBrushDrag = false;\n clearCursor(); // instead of clearing, a nicer thing would be to set it according to current location\n if(!s.wasDragged) { // a click+release on the same spot (ie. w/o dragging) means a bar or full reset\n s.wasDragged = undefined; // logic-wise unneeded, just shows `wasDragged` has no longer a meaning\n if(s.clickableOrdinalRange) {\n if(brush.filterSpecified && d.multiselect) {\n s.extent.push(s.clickableOrdinalRange);\n } else {\n s.extent = [s.clickableOrdinalRange];\n brush.filterSpecified = true;\n }\n } else if(grabbingBar) {\n s.extent = s.stayingIntervals;\n if(s.extent.length === 0) {\n brushClear(brush);\n }\n } else {\n brushClear(brush);\n }\n s.brushCallback(d);\n renderHighlight(lThis.parentNode);\n s.brushEndCallback(brush.filterSpecified ? filter.getConsolidated() : []);\n return; // no need to fuse intervals or snap to ordinals, so we can bail early\n }\n\n var mergeIntervals = function() {\n // Key piece of logic: once the button is released, possibly overlapping intervals will be fused:\n // Here it's done immediately on click release while on ordinal snap transition it's done at the end\n filter.set(filter.getConsolidated());\n };\n\n if(d.ordinal) {\n var a = d.unitTickvals;\n if(a[a.length - 1] < a[0]) a.reverse();\n s.newExtent = [\n ordinalScaleSnap(0, a, s.newExtent[0], s.stayingIntervals),\n ordinalScaleSnap(1, a, s.newExtent[1], s.stayingIntervals)\n ];\n var hasNewExtent = s.newExtent[1] > s.newExtent[0];\n s.extent = s.stayingIntervals.concat(hasNewExtent ? [s.newExtent] : []);\n if(!s.extent.length) {\n brushClear(brush);\n }\n s.brushCallback(d);\n if(hasNewExtent) {\n // merging intervals post the snap tween\n renderHighlight(lThis.parentNode, mergeIntervals);\n } else {\n // if no new interval, don't animate, just redraw the highlight immediately\n mergeIntervals();\n renderHighlight(lThis.parentNode);\n }\n } else {\n mergeIntervals(); // merging intervals immediately\n }\n s.brushEndCallback(brush.filterSpecified ? filter.getConsolidated() : []);\n}\n\nfunction mousemove(lThis, d) {\n var y = d.height - d3.mouse(lThis)[1] - 2 * c.verticalPadding;\n var interval = getInterval(d, y);\n\n var cursor = 'crosshair';\n if(interval.clickableOrdinalRange) cursor = 'pointer';\n else if(interval.region) cursor = interval.region + '-resize';\n d3.select(document.body)\n .style('cursor', cursor);\n}\n\nfunction attachDragBehavior(selection) {\n // There's some fiddling with pointer cursor styling so that the cursor preserves its shape while dragging a brush\n // even if the cursor strays from the interacting bar, which is bound to happen as bars are thin and the user\n // will inevitably leave the hotspot strip. In this regard, it does something similar to what the D3 brush would do.\n selection\n .on('mousemove', function(d) {\n d3.event.preventDefault();\n if(!d.parent.inBrushDrag) mousemove(this, d);\n })\n .on('mouseleave', function(d) {\n if(!d.parent.inBrushDrag) clearCursor();\n })\n .call(d3.behavior.drag()\n .on('dragstart', function(d) { dragstart(this, d); })\n .on('drag', function(d) { drag(this, d); })\n .on('dragend', function(d) { dragend(this, d); })\n );\n}\n\nfunction startAsc(a, b) { return a[0] - b[0]; }\n\nfunction renderAxisBrush(axisBrush) {\n var background = axisBrush.selectAll('.background').data(repeat);\n\n background.enter()\n .append('rect')\n .classed('background', true)\n .call(barHorizontalSetup)\n .call(backgroundBarHorizontalSetup)\n .style('pointer-events', 'auto') // parent pointer events are disabled; we must have it to register events\n .attr('transform', 'translate(0 ' + c.verticalPadding + ')');\n\n background\n .call(attachDragBehavior)\n .attr('height', function(d) {\n return d.height - c.verticalPadding;\n });\n\n var highlightShadow = axisBrush.selectAll('.highlight-shadow').data(repeat); // we have a set here, can't call it `extent`\n\n highlightShadow.enter()\n .append('line')\n .classed('highlight-shadow', true)\n .attr('x', -c.bar.width / 2)\n .attr('stroke-width', c.bar.width + c.bar.strokeWidth)\n .attr('stroke', c.bar.strokeColor)\n .attr('opacity', c.bar.strokeOpacity)\n .attr('stroke-linecap', 'butt');\n\n highlightShadow\n .attr('y1', function(d) { return d.height; })\n .call(styleHighlight);\n\n var highlight = axisBrush.selectAll('.highlight').data(repeat); // we have a set here, can't call it `extent`\n\n highlight.enter()\n .append('line')\n .classed('highlight', true)\n .attr('x', -c.bar.width / 2)\n .attr('stroke-width', c.bar.width - c.bar.strokeWidth)\n .attr('stroke', c.bar.fillColor)\n .attr('opacity', c.bar.fillOpacity)\n .attr('stroke-linecap', 'butt');\n\n highlight\n .attr('y1', function(d) { return d.height; })\n .call(styleHighlight);\n}\n\nfunction ensureAxisBrush(axisOverlays) {\n var axisBrush = axisOverlays.selectAll('.' + c.cn.axisBrush)\n .data(repeat, keyFun);\n\n axisBrush.enter()\n .append('g')\n .classed(c.cn.axisBrush, true);\n\n renderAxisBrush(axisBrush);\n}\n\nfunction getBrushExtent(brush) {\n return brush.svgBrush.extent.map(function(e) {return e.slice();});\n}\n\nfunction brushClear(brush) {\n brush.filterSpecified = false;\n brush.svgBrush.extent = [[-Infinity, Infinity]];\n}\n\nfunction axisBrushMoved(callback) {\n return function axisBrushMoved(dimension) {\n var brush = dimension.brush;\n var extent = getBrushExtent(brush);\n var newExtent = extent.slice();\n brush.filter.set(newExtent);\n callback();\n };\n}\n\nfunction dedupeRealRanges(intervals) {\n // Fuses elements of intervals if they overlap, yielding discontiguous intervals, results.length <= intervals.length\n // Currently uses closed intervals, ie. dedupeRealRanges([[400, 800], [300, 400]]) -> [300, 800]\n var queue = intervals.slice();\n var result = [];\n var currentInterval;\n var current = queue.shift();\n while(current) { // [].shift === undefined, so we don't descend into an empty array\n currentInterval = current.slice();\n while((current = queue.shift()) && current[0] <= /* right-open interval would need `<` */ currentInterval[1]) {\n currentInterval[1] = Math.max(currentInterval[1], current[1]);\n }\n result.push(currentInterval);\n }\n return result;\n}\n\nfunction makeFilter() {\n var filter = [];\n var consolidated;\n var bounds;\n return {\n set: function(a) {\n filter = a\n .map(function(d) { return d.slice().sort(sortAsc); })\n .sort(startAsc);\n\n // handle unselected case\n if(filter.length === 1 &&\n filter[0][0] === -Infinity &&\n filter[0][1] === Infinity) {\n filter = [[0, -1]];\n }\n\n consolidated = dedupeRealRanges(filter);\n bounds = filter.reduce(function(p, n) {\n return [Math.min(p[0], n[0]), Math.max(p[1], n[1])];\n }, [Infinity, -Infinity]);\n },\n get: function() { return filter.slice(); },\n getConsolidated: function() { return consolidated; },\n getBounds: function() { return bounds; }\n };\n}\n\nfunction makeBrush(state, rangeSpecified, initialRange, brushStartCallback, brushCallback, brushEndCallback) {\n var filter = makeFilter();\n filter.set(initialRange);\n return {\n filter: filter,\n filterSpecified: rangeSpecified, // there's a difference between not filtering and filtering a non-proper subset\n svgBrush: {\n extent: [], // this is where the svgBrush writes contents into\n brushStartCallback: brushStartCallback,\n brushCallback: axisBrushMoved(brushCallback),\n brushEndCallback: brushEndCallback\n }\n };\n}\n\n// for use by supplyDefaults, but it needed tons of pieces from here so\n// seemed to make more sense just to put the whole routine here\nfunction cleanRanges(ranges, dimension) {\n if(Array.isArray(ranges[0])) {\n ranges = ranges.map(function(ri) { return ri.sort(sortAsc); });\n\n if(!dimension.multiselect) ranges = [ranges[0]];\n else ranges = dedupeRealRanges(ranges.sort(startAsc));\n } else ranges = [ranges.sort(sortAsc)];\n\n // ordinal snapping\n if(dimension.tickvals) {\n var sortedTickVals = dimension.tickvals.slice().sort(sortAsc);\n ranges = ranges.map(function(ri) {\n var rSnapped = [\n ordinalScaleSnap(0, sortedTickVals, ri[0], []),\n ordinalScaleSnap(1, sortedTickVals, ri[1], [])\n ];\n if(rSnapped[1] > rSnapped[0]) return rSnapped;\n })\n .filter(function(ri) { return ri; });\n\n if(!ranges.length) return;\n }\n return ranges.length > 1 ? ranges : ranges[0];\n}\n\nmodule.exports = {\n makeBrush: makeBrush,\n ensureAxisBrush: ensureAxisBrush,\n cleanRanges: cleanRanges\n};\n\n\n/***/ }),\n\n/***/ \"1db7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar extractOpts = __webpack_require__(\"215c\").extractOpts;\n\nmodule.exports = function crossTraceDefaults(fullData, fullLayout) {\n function replace(cont, k) {\n var val = cont['_' + k];\n if(val !== undefined) {\n cont[k] = val;\n }\n }\n\n function relinkColorAttrs(outerCont, cbOpt) {\n var cont = cbOpt.container ?\n Lib.nestedProperty(outerCont, cbOpt.container).get() :\n outerCont;\n\n if(cont) {\n if(cont.coloraxis) {\n // stash ref to color axis\n cont._colorAx = fullLayout[cont.coloraxis];\n } else {\n var cOpts = extractOpts(cont);\n var isAuto = cOpts.auto;\n\n if(isAuto || cOpts.min === undefined) {\n replace(cont, cbOpt.min);\n }\n if(isAuto || cOpts.max === undefined) {\n replace(cont, cbOpt.max);\n }\n if(cOpts.autocolorscale) {\n replace(cont, 'colorscale');\n }\n }\n }\n }\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n var cbOpts = trace._module.colorbar;\n\n if(cbOpts) {\n if(Array.isArray(cbOpts)) {\n for(var j = 0; j < cbOpts.length; j++) {\n relinkColorAttrs(trace, cbOpts[j]);\n }\n } else {\n relinkColorAttrs(trace, cbOpts);\n }\n }\n\n if(hasColorscale(trace, 'marker.line')) {\n relinkColorAttrs(trace, {\n container: 'marker.line',\n min: 'cmin',\n max: 'cmax'\n });\n }\n }\n\n for(var k in fullLayout._colorAxes) {\n relinkColorAttrs(fullLayout[k], {min: 'cmin', max: 'cmax'});\n }\n};\n\n\n/***/ }),\n\n/***/ \"1ddb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bindAttribs = __webpack_require__(\"8c75\")\n\nfunction VAOEmulated(gl) {\n this.gl = gl\n this._elements = null\n this._attributes = null\n this._elementsType = gl.UNSIGNED_SHORT\n}\n\nVAOEmulated.prototype.bind = function() {\n bindAttribs(this.gl, this._elements, this._attributes)\n}\n\nVAOEmulated.prototype.update = function(attributes, elements, elementsType) {\n this._elements = elements\n this._attributes = attributes\n this._elementsType = elementsType || this.gl.UNSIGNED_SHORT\n}\n\nVAOEmulated.prototype.dispose = function() { }\nVAOEmulated.prototype.unbind = function() { }\n\nVAOEmulated.prototype.draw = function(mode, count, offset) {\n offset = offset || 0\n var gl = this.gl\n if(this._elements) {\n gl.drawElements(mode, count, this._elementsType, offset)\n } else {\n gl.drawArrays(mode, offset, count)\n }\n}\n\nfunction createVAOEmulated(gl) {\n return new VAOEmulated(gl)\n}\n\nmodule.exports = createVAOEmulated\n\n/***/ }),\n\n/***/ \"1dde\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar V8_VERSION = __webpack_require__(\"2d00\");\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/***/ \"1e03\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'locale',\n name: 'en-US',\n dictionary: {\n 'Click to enter Colorscale title': 'Click to enter Colorscale title'\n },\n format: {\n date: '%m/%d/%Y'\n }\n};\n\n\n/***/ }),\n\n/***/ \"1e0a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (value) {\n\ttry {\n\t\treturn value.toString();\n\t} catch (error) {\n\t\ttry { return String(value); }\n\t\tcatch (error2) { return null; }\n\t}\n};\n\n\n/***/ }),\n\n/***/ \"1ea6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'locale',\n name: 'en',\n dictionary: {\n 'Click to enter Colorscale title': 'Click to enter Colourscale title'\n },\n format: {\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'\n ],\n shortMonths: [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ],\n periods: ['AM', 'PM'],\n dateTime: '%a %b %e %X %Y',\n date: '%d/%m/%Y',\n time: '%H:%M:%S',\n decimal: '.',\n thousands: ',',\n grouping: [3],\n currency: ['$', ''],\n year: '%Y',\n month: '%b %Y',\n dayMonth: '%b %-d',\n dayMonthYear: '%b %-d, %Y'\n }\n};\n\n\n/***/ }),\n\n/***/ \"1ebf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar barAttrs = __webpack_require__(\"fb5a\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nmodule.exports = {\n y: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n x0: {\n valType: 'any',\n \n editType: 'calc+clearAxisTypes',\n \n },\n y0: {\n valType: 'any',\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n dx: {\n valType: 'number',\n \n editType: 'calc',\n \n },\n dy: {\n valType: 'number',\n \n editType: 'calc',\n \n },\n\n name: {\n valType: 'string',\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n q1: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n median: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n q3: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n lowerfence: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n upperfence: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n\n notched: {\n valType: 'boolean',\n \n editType: 'calc',\n \n },\n notchwidth: {\n valType: 'number',\n min: 0,\n max: 0.5,\n dflt: 0.25,\n \n editType: 'calc',\n \n },\n notchspan: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n\n // TODO\n // maybe add\n // - loweroutlierbound / upperoutlierbound\n // - lowersuspectedoutlierbound / uppersuspectedoutlierbound\n\n boxpoints: {\n valType: 'enumerated',\n values: ['all', 'outliers', 'suspectedoutliers', false],\n \n editType: 'calc',\n \n },\n jitter: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n },\n pointpos: {\n valType: 'number',\n min: -2,\n max: 2,\n \n editType: 'calc',\n \n },\n\n boxmean: {\n valType: 'enumerated',\n values: [true, 'sd', false],\n \n editType: 'calc',\n \n },\n mean: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n sd: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n\n orientation: {\n valType: 'enumerated',\n values: ['v', 'h'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n quartilemethod: {\n valType: 'enumerated',\n values: ['linear', 'exclusive', 'inclusive'],\n dflt: 'linear',\n \n editType: 'calc',\n \n },\n\n width: {\n valType: 'number',\n min: 0,\n \n dflt: 0,\n editType: 'calc',\n \n },\n\n marker: {\n outliercolor: {\n valType: 'color',\n dflt: 'rgba(0, 0, 0, 0)',\n \n editType: 'style',\n \n },\n symbol: extendFlat({}, scatterMarkerAttrs.symbol,\n {arrayOk: false, editType: 'plot'}),\n opacity: extendFlat({}, scatterMarkerAttrs.opacity,\n {arrayOk: false, dflt: 1, editType: 'style'}),\n size: extendFlat({}, scatterMarkerAttrs.size,\n {arrayOk: false, editType: 'calc'}),\n color: extendFlat({}, scatterMarkerAttrs.color,\n {arrayOk: false, editType: 'style'}),\n line: {\n color: extendFlat({}, scatterMarkerLineAttrs.color,\n {arrayOk: false, dflt: colorAttrs.defaultLine, editType: 'style'}\n ),\n width: extendFlat({}, scatterMarkerLineAttrs.width,\n {arrayOk: false, dflt: 0, editType: 'style'}\n ),\n outliercolor: {\n valType: 'color',\n \n editType: 'style',\n \n },\n outlierwidth: {\n valType: 'number',\n min: 0,\n dflt: 1,\n \n editType: 'style',\n \n },\n editType: 'style'\n },\n editType: 'plot'\n },\n\n line: {\n color: {\n valType: 'color',\n \n editType: 'style',\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 2,\n editType: 'style',\n \n },\n editType: 'plot'\n },\n\n fillcolor: scatterAttrs.fillcolor,\n\n whiskerwidth: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0.5,\n \n editType: 'calc',\n \n },\n\n offsetgroup: barAttrs.offsetgroup,\n alignmentgroup: barAttrs.alignmentgroup,\n\n selected: {\n marker: scatterAttrs.selected.marker,\n editType: 'style'\n },\n unselected: {\n marker: scatterAttrs.unselected.marker,\n editType: 'style'\n },\n\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n hovertemplate: hovertemplateAttrs({\n \n }),\n\n hoveron: {\n valType: 'flaglist',\n flags: ['boxes', 'points'],\n dflt: 'boxes+points',\n \n editType: 'style',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"1f25\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = convexHull1d\n\nfunction convexHull1d(points) {\n var lo = 0\n var hi = 0\n for(var i=1; i points[hi][0]) {\n hi = i\n }\n }\n if(lo < hi) {\n return [[lo], [hi]]\n } else if(lo > hi) {\n return [[hi], [lo]]\n } else {\n return [[lo]]\n }\n}\n\n/***/ }),\n\n/***/ \"1fac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = gradient\n\nvar dup = __webpack_require__(\"84af\")\nvar cwiseCompiler = __webpack_require__(\"40ce\")\n\nvar TEMPLATE_CACHE = {}\nvar GRADIENT_CACHE = {}\n\nvar EmptyProc = {\n body: \"\",\n args: [],\n thisVars: [],\n localVars: []\n}\n\nvar centralDiff = cwiseCompiler({\n args: [ 'array', 'array', 'array' ],\n pre: EmptyProc,\n post: EmptyProc,\n body: {\n args: [ {\n name: 'out', \n lvalue: true,\n rvalue: false,\n count: 1\n }, {\n name: 'left', \n lvalue: false,\n rvalue: true,\n count: 1\n }, {\n name: 'right', \n lvalue: false,\n rvalue: true,\n count: 1\n }],\n body: \"out=0.5*(left-right)\",\n thisVars: [],\n localVars: []\n },\n funcName: 'cdiff'\n})\n\nvar zeroOut = cwiseCompiler({\n args: [ 'array' ],\n pre: EmptyProc,\n post: EmptyProc,\n body: {\n args: [ {\n name: 'out', \n lvalue: true,\n rvalue: false,\n count: 1\n }],\n body: \"out=0\",\n thisVars: [],\n localVars: []\n },\n funcName: 'zero'\n})\n\nfunction generateTemplate(d) {\n if(d in TEMPLATE_CACHE) {\n return TEMPLATE_CACHE[d]\n }\n var code = []\n for(var i=0; i= 0) {\n pickStr.push('0')\n } else if(facet.indexOf(-(i+1)) >= 0) {\n pickStr.push('s['+i+']-1')\n } else {\n pickStr.push('-1')\n loStr.push('1')\n hiStr.push('s['+i+']-2')\n }\n }\n var boundStr = '.lo(' + loStr.join() + ').hi(' + hiStr.join() + ')'\n if(loStr.length === 0) {\n boundStr = ''\n }\n \n if(cod > 0) {\n code.push('if(1') \n for(var i=0; i= 0 || facet.indexOf(-(i+1)) >= 0) {\n continue\n }\n code.push('&&s[', i, ']>2')\n }\n code.push('){grad', cod, '(src.pick(', pickStr.join(), ')', boundStr)\n for(var i=0; i= 0 || facet.indexOf(-(i+1)) >= 0) {\n continue\n }\n code.push(',dst.pick(', pickStr.join(), ',', i, ')', boundStr)\n }\n code.push(');')\n }\n\n for(var i=0; i1){dst.set(',\n pickStr.join(), ',', bnd, ',0.5*(src.get(',\n cPickStr.join(), ')-src.get(',\n dPickStr.join(), ')))}else{dst.set(',\n pickStr.join(), ',', bnd, ',0)};')\n } else {\n code.push('if(s[', bnd, ']>1){diff(', outStr, \n ',src.pick(', cPickStr.join(), ')', boundStr, \n ',src.pick(', dPickStr.join(), ')', boundStr, \n ');}else{zero(', outStr, ');};')\n }\n break\n\n case 'mirror':\n if(cod === 0) {\n code.push('dst.set(', pickStr.join(), ',', bnd, ',0);')\n } else {\n code.push('zero(', outStr, ');')\n }\n break\n\n case 'wrap':\n var aPickStr = pickStr.slice()\n var bPickStr = pickStr.slice()\n if(facet[i] < 0) {\n aPickStr[bnd] = 's[' + bnd + ']-2'\n bPickStr[bnd] = '0'\n \n } else {\n aPickStr[bnd] = 's[' + bnd + ']-1'\n bPickStr[bnd] = '1'\n }\n if(cod === 0) {\n code.push('if(s[', bnd, ']>2){dst.set(',\n pickStr.join(), ',', bnd, ',0.5*(src.get(',\n aPickStr.join(), ')-src.get(',\n bPickStr.join(), ')))}else{dst.set(',\n pickStr.join(), ',', bnd, ',0)};')\n } else {\n code.push('if(s[', bnd, ']>2){diff(', outStr, \n ',src.pick(', aPickStr.join(), ')', boundStr, \n ',src.pick(', bPickStr.join(), ')', boundStr, \n ');}else{zero(', outStr, ');};')\n }\n break\n\n default:\n throw new Error('ndarray-gradient: Invalid boundary condition')\n }\n }\n\n if(cod > 0) {\n code.push('};')\n }\n }\n\n //Enumerate ridges, facets, etc. of hypercube\n for(var i=0; i<(1< 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n\n/***/ \"2015\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Template = __webpack_require__(\"a651\");\n\nvar attributes = __webpack_require__(\"8c2d\");\n\n\nmodule.exports = function(traceIn, traceOut, defaultColor, opts) {\n var objName = 'error_' + opts.axis;\n var containerOut = Template.newContainer(traceOut, objName);\n var containerIn = traceIn[objName] || {};\n\n function coerce(attr, dflt) {\n return Lib.coerce(containerIn, containerOut, attributes, attr, dflt);\n }\n\n var hasErrorBars = (\n containerIn.array !== undefined ||\n containerIn.value !== undefined ||\n containerIn.type === 'sqrt'\n );\n\n var visible = coerce('visible', hasErrorBars);\n\n if(visible === false) return;\n\n var type = coerce('type', 'array' in containerIn ? 'data' : 'percent');\n var symmetric = true;\n\n if(type !== 'sqrt') {\n symmetric = coerce('symmetric',\n !((type === 'data' ? 'arrayminus' : 'valueminus') in containerIn));\n }\n\n if(type === 'data') {\n coerce('array');\n coerce('traceref');\n if(!symmetric) {\n coerce('arrayminus');\n coerce('tracerefminus');\n }\n } else if(type === 'percent' || type === 'constant') {\n coerce('value');\n if(!symmetric) coerce('valueminus');\n }\n\n var copyAttr = 'copy_' + opts.inherit + 'style';\n if(opts.inherit) {\n var inheritObj = traceOut['error_' + opts.inherit];\n if((inheritObj || {}).visible) {\n coerce(copyAttr, !(containerIn.color ||\n isNumeric(containerIn.thickness) ||\n isNumeric(containerIn.width)));\n }\n }\n if(!opts.inherit || !containerOut[copyAttr]) {\n coerce('color', defaultColor);\n coerce('thickness');\n coerce('width', Registry.traceIs(traceOut, 'gl3d') ? 0 : 4);\n }\n};\n\n\n/***/ }),\n\n/***/ \"2031\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"14ab\")() ? Object.assign : __webpack_require__(\"f60e\");\n\n\n/***/ }),\n\n/***/ \"20314\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction iota(n) {\n var result = new Array(n)\n for(var i=0; i= 0; i--, j++) {\n var si = scl[i];\n sclNew[j] = [1 - si[0], si[1]];\n }\n return sclNew;\n}\n\n/**\n * General colorscale function generator.\n *\n * @param {object} specs output of Colorscale.extractScale or precomputed domain, range.\n * - domain {array}\n * - range {array}\n *\n * @param {object} opts\n * - noNumericCheck {boolean} if true, scale func bypasses numeric checks\n * - returnArray {boolean} if true, scale func return 4-item array instead of color strings\n *\n * @return {function}\n */\nfunction makeColorScaleFunc(specs, opts) {\n opts = opts || {};\n\n var domain = specs.domain;\n var range = specs.range;\n var N = range.length;\n var _range = new Array(N);\n\n for(var i = 0; i < N; i++) {\n var rgba = tinycolor(range[i]).toRgb();\n _range[i] = [rgba.r, rgba.g, rgba.b, rgba.a];\n }\n\n var _sclFunc = d3.scale.linear()\n .domain(domain)\n .range(_range)\n .clamp(true);\n\n var noNumericCheck = opts.noNumericCheck;\n var returnArray = opts.returnArray;\n var sclFunc;\n\n if(noNumericCheck && returnArray) {\n sclFunc = _sclFunc;\n } else if(noNumericCheck) {\n sclFunc = function(v) {\n return colorArray2rbga(_sclFunc(v));\n };\n } else if(returnArray) {\n sclFunc = function(v) {\n if(isNumeric(v)) return _sclFunc(v);\n else if(tinycolor(v).isValid()) return v;\n else return Color.defaultLine;\n };\n } else {\n sclFunc = function(v) {\n if(isNumeric(v)) return colorArray2rbga(_sclFunc(v));\n else if(tinycolor(v).isValid()) return v;\n else return Color.defaultLine;\n };\n }\n\n // colorbar draw looks into the d3 scale closure for domain and range\n sclFunc.domain = _sclFunc.domain;\n sclFunc.range = function() { return range; };\n\n return sclFunc;\n}\n\nfunction makeColorScaleFuncFromTrace(trace, opts) {\n return makeColorScaleFunc(extractScale(trace), opts);\n}\n\nfunction colorArray2rbga(colorArray) {\n var colorObj = {\n r: colorArray[0],\n g: colorArray[1],\n b: colorArray[2],\n a: colorArray[3]\n };\n\n return tinycolor(colorObj).toRgbString();\n}\n\nmodule.exports = {\n hasColorscale: hasColorscale,\n extractOpts: extractOpts,\n extractScale: extractScale,\n flipScale: flipScale,\n makeColorScaleFunc: makeColorScaleFunc,\n makeColorScaleFuncFromTrace: makeColorScaleFuncFromTrace\n};\n\n\n/***/ }),\n\n/***/ \"2160\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"62c4\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n\n\n/***/ }),\n\n/***/ \"2169\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\n/**\n * Convert calcTrace to GeoJSON 'MultiLineString' coordinate arrays\n *\n * @param {object} calcTrace\n * gd.calcdata item.\n * Note that calcTrace[i].lonlat is assumed to be defined\n *\n * @return {array}\n * return line coords array (or array of arrays)\n *\n */\nexports.calcTraceToLineCoords = function(calcTrace) {\n var trace = calcTrace[0].trace;\n var connectgaps = trace.connectgaps;\n\n var coords = [];\n var lineString = [];\n\n for(var i = 0; i < calcTrace.length; i++) {\n var calcPt = calcTrace[i];\n var lonlat = calcPt.lonlat;\n\n if(lonlat[0] !== BADNUM) {\n lineString.push(lonlat);\n } else if(!connectgaps && lineString.length > 0) {\n coords.push(lineString);\n lineString = [];\n }\n }\n\n if(lineString.length > 0) {\n coords.push(lineString);\n }\n\n return coords;\n};\n\n\n/**\n * Make line ('LineString' or 'MultiLineString') GeoJSON\n *\n * @param {array} coords\n * results form calcTraceToLineCoords\n * @return {object} out\n * GeoJSON object\n *\n */\nexports.makeLine = function(coords) {\n if(coords.length === 1) {\n return {\n type: 'LineString',\n coordinates: coords[0]\n };\n } else {\n return {\n type: 'MultiLineString',\n coordinates: coords\n };\n }\n};\n\n/**\n * Make polygon ('Polygon' or 'MultiPolygon') GeoJSON\n *\n * @param {array} coords\n * results form calcTraceToLineCoords\n * @return {object} out\n * GeoJSON object\n */\nexports.makePolygon = function(coords) {\n if(coords.length === 1) {\n return {\n type: 'Polygon',\n coordinates: coords\n };\n } else {\n var _coords = new Array(coords.length);\n\n for(var i = 0; i < coords.length; i++) {\n _coords[i] = [coords[i]];\n }\n\n return {\n type: 'MultiPolygon',\n coordinates: _coords\n };\n }\n};\n\n/**\n * Make blank GeoJSON\n *\n * @return {object}\n * Blank GeoJSON object\n *\n */\nexports.makeBlank = function() {\n return {\n type: 'Point',\n coordinates: []\n };\n};\n\n\n/***/ }),\n\n/***/ \"2195\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar num2bn = __webpack_require__(\"def6\")\nvar sign = __webpack_require__(\"0fba\")\n\nmodule.exports = rationalize\n\nfunction rationalize(numer, denom) {\n var snumer = sign(numer)\n var sdenom = sign(denom)\n if(snumer === 0) {\n return [num2bn(0), num2bn(1)]\n }\n if(sdenom === 0) {\n return [num2bn(0), num2bn(0)]\n }\n if(sdenom < 0) {\n numer = numer.neg()\n denom = denom.neg()\n }\n var d = numer.gcd(denom)\n if(d.cmpn(1)) {\n return [ numer.div(d), denom.div(d) ]\n }\n return [ numer, denom ]\n}\n\n\n/***/ }),\n\n/***/ \"21d9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = boundary\n\nvar bnd = __webpack_require__(\"566e\")\nvar reduce = __webpack_require__(\"941b\")\n\nfunction boundary(cells) {\n return reduce(bnd(cells))\n}\n\n\n/***/ }),\n\n/***/ \"21dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"f657\");\n\n\n/***/ }),\n\n/***/ \"223c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar svgTextUtils = __webpack_require__(\"0379\");\n\nvar partition = __webpack_require__(\"c8b8\");\nvar styleOne = __webpack_require__(\"da8c\").styleOne;\nvar constants = __webpack_require__(\"23cc\");\nvar helpers = __webpack_require__(\"fb56\");\nvar attachFxHandlers = __webpack_require__(\"6962\");\n\nvar onPathbar = true; // for Ancestors\n\nmodule.exports = function drawAncestors(gd, cd, entry, slices, opts) {\n var barDifY = opts.barDifY;\n var width = opts.width;\n var height = opts.height;\n var viewX = opts.viewX;\n var viewY = opts.viewY;\n var pathSlice = opts.pathSlice;\n var toMoveInsideSlice = opts.toMoveInsideSlice;\n var strTransform = opts.strTransform;\n var hasTransition = opts.hasTransition;\n var handleSlicesExit = opts.handleSlicesExit;\n var makeUpdateSliceInterpolator = opts.makeUpdateSliceInterpolator;\n var makeUpdateTextInterpolator = opts.makeUpdateTextInterpolator;\n var refRect = {};\n\n var fullLayout = gd._fullLayout;\n var cd0 = cd[0];\n var trace = cd0.trace;\n var hierarchy = cd0.hierarchy;\n\n var eachWidth = width / trace._entryDepth;\n\n var pathIds = helpers.listPath(entry.data, 'id');\n\n var sliceData = partition(hierarchy.copy(), [width, height], {\n packing: 'dice',\n pad: {\n inner: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n }\n }).descendants();\n\n // edit slices that show up on graph\n sliceData = sliceData.filter(function(pt) {\n var level = pathIds.indexOf(pt.data.id);\n if(level === -1) return false;\n\n pt.x0 = eachWidth * level;\n pt.x1 = eachWidth * (level + 1);\n pt.y0 = barDifY;\n pt.y1 = barDifY + height;\n\n pt.onPathbar = true;\n\n return true;\n });\n\n sliceData.reverse();\n\n slices = slices.data(sliceData, helpers.getPtId);\n\n slices.enter().append('g')\n .classed('pathbar', true);\n\n handleSlicesExit(slices, onPathbar, refRect, [width, height], pathSlice);\n\n slices.order();\n\n var updateSlices = slices;\n if(hasTransition) {\n updateSlices = updateSlices.transition().each('end', function() {\n // N.B. gd._transitioning is (still) *true* by the time\n // transition updates get here\n var sliceTop = d3.select(this);\n helpers.setSliceCursor(sliceTop, gd, {\n hideOnRoot: false,\n hideOnLeaves: false,\n isTransitioning: false\n });\n });\n }\n\n updateSlices.each(function(pt) {\n pt._hoverX = viewX(pt.x1 - Math.min(width, height) / 2);\n pt._hoverY = viewY(pt.y1 - height / 2);\n\n var sliceTop = d3.select(this);\n\n var slicePath = Lib.ensureSingle(sliceTop, 'path', 'surface', function(s) {\n s.style('pointer-events', 'all');\n });\n\n if(hasTransition) {\n slicePath.transition().attrTween('d', function(pt2) {\n var interp = makeUpdateSliceInterpolator(pt2, onPathbar, refRect, [width, height]);\n return function(t) { return pathSlice(interp(t)); };\n });\n } else {\n slicePath.attr('d', pathSlice);\n }\n\n sliceTop\n .call(attachFxHandlers, entry, gd, cd, {\n styleOne: styleOne,\n eventDataKeys: constants.eventDataKeys,\n transitionTime: constants.CLICK_TRANSITION_TIME,\n transitionEasing: constants.CLICK_TRANSITION_EASING\n })\n .call(helpers.setSliceCursor, gd, {\n hideOnRoot: false,\n hideOnLeaves: false,\n isTransitioning: gd._transitioning\n });\n\n slicePath.call(styleOne, pt, trace, {\n hovered: false\n });\n\n pt._text = (helpers.getPtLabel(pt) || '').split('
').join(' ') || '';\n\n var sliceTextGroup = Lib.ensureSingle(sliceTop, 'g', 'slicetext');\n var sliceText = Lib.ensureSingle(sliceTextGroup, 'text', '', function(s) {\n // prohibit tex interpretation until we can handle\n // tex and regular text together\n s.attr('data-notex', 1);\n });\n\n var font = Lib.ensureUniformFontSize(gd, helpers.determineTextFont(trace, pt, fullLayout.font, {\n onPathbar: true\n }));\n\n sliceText.text(pt._text || ' ') // use one space character instead of a blank string to avoid jumps during transition\n .classed('slicetext', true)\n .attr('text-anchor', 'start')\n .call(Drawing.font, font)\n .call(svgTextUtils.convertToTspans, gd);\n\n pt.textBB = Drawing.bBox(sliceText.node());\n pt.transform = toMoveInsideSlice(pt, {\n fontSize: font.size,\n onPathbar: true\n });\n pt.transform.fontSize = font.size;\n\n if(hasTransition) {\n sliceText.transition().attrTween('transform', function(pt2) {\n var interp = makeUpdateTextInterpolator(pt2, onPathbar, refRect, [width, height]);\n return function(t) { return strTransform(interp(t)); };\n });\n } else {\n sliceText.attr('transform', strTransform(pt));\n }\n });\n};\n\n\n/***/ }),\n\n/***/ \"2244\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"91ce\");\n\nmodule.exports = function(layoutIn, layoutOut, fullData) {\n var hasTraceType = false;\n\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n\n if(trace.visible && trace.type === 'waterfall') {\n hasTraceType = true;\n break;\n }\n }\n\n if(hasTraceType) {\n coerce('waterfallmode');\n coerce('waterfallgap', 0.2);\n coerce('waterfallgroupgap');\n }\n};\n\n\n/***/ }),\n\n/***/ \"2292\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function () {\n\tvar weakMap, obj;\n\n\tif (typeof WeakMap !== \"function\") return false;\n\ttry {\n\t\t// WebKit doesn't support arguments and crashes\n\t\tweakMap = new WeakMap([[obj = {}, \"one\"], [{}, \"two\"], [{}, \"three\"]]);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\tif (String(weakMap) !== \"[object WeakMap]\") return false;\n\tif (typeof weakMap.set !== \"function\") return false;\n\tif (weakMap.set({}, 1) !== weakMap) return false;\n\tif (typeof weakMap.delete !== \"function\") return false;\n\tif (typeof weakMap.has !== \"function\") return false;\n\tif (weakMap.get(obj) !== \"one\") return false;\n\n\treturn true;\n};\n\n\n/***/ }),\n\n/***/ \"22926\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nvar attributes = __webpack_require__(\"26e4\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar mergeLength = __webpack_require__(\"8cdc\");\nvar isOpenSymbol = __webpack_require__(\"50da\").isOpenSymbol;\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var dimensions = handleArrayContainerDefaults(traceIn, traceOut, {\n name: 'dimensions',\n handleItemDefaults: dimensionDefaults\n });\n\n var showDiag = coerce('diagonal.visible');\n var showUpper = coerce('showupperhalf');\n var showLower = coerce('showlowerhalf');\n\n var dimLength = mergeLength(traceOut, dimensions, 'values');\n\n if(!dimLength || (!showDiag && !showUpper && !showLower)) {\n traceOut.visible = false;\n return;\n }\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n\n var isOpen = isOpenSymbol(traceOut.marker.symbol);\n var isBubble = subTypes.isBubble(traceOut);\n coerce('marker.line.width', isOpen || isBubble ? 1 : 0);\n\n handleAxisDefaults(traceIn, traceOut, layout, coerce);\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\nfunction dimensionDefaults(dimIn, dimOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(dimIn, dimOut, attributes.dimensions, attr, dflt);\n }\n\n coerce('label');\n var values = coerce('values');\n\n if(!(values && values.length)) dimOut.visible = false;\n else coerce('visible');\n\n coerce('axis.type');\n coerce('axis.matches');\n}\n\nfunction handleAxisDefaults(traceIn, traceOut, layout, coerce) {\n var dimensions = traceOut.dimensions;\n var dimLength = dimensions.length;\n var showUpper = traceOut.showupperhalf;\n var showLower = traceOut.showlowerhalf;\n var showDiag = traceOut.diagonal.visible;\n var i, j;\n\n var xAxesDflt = new Array(dimLength);\n var yAxesDflt = new Array(dimLength);\n\n for(i = 0; i < dimLength; i++) {\n var suffix = i ? i + 1 : '';\n xAxesDflt[i] = 'x' + suffix;\n yAxesDflt[i] = 'y' + suffix;\n }\n\n var xaxes = coerce('xaxes', xAxesDflt);\n var yaxes = coerce('yaxes', yAxesDflt);\n\n // build list of [x,y] axis corresponding to each dimensions[i],\n // very useful for passing options to regl-splom\n var diag = traceOut._diag = new Array(dimLength);\n\n // lookup for 'drawn' x|y axes, to avoid costly indexOf downstream\n traceOut._xaxes = {};\n traceOut._yaxes = {};\n\n // list of 'drawn' x|y axes, use to generate list of subplots\n var xList = [];\n var yList = [];\n\n function fillAxisStashes(axId, counterAxId, dim, list) {\n if(!axId) return;\n\n var axLetter = axId.charAt(0);\n var stash = layout._splomAxes[axLetter];\n\n traceOut['_' + axLetter + 'axes'][axId] = 1;\n list.push(axId);\n\n if(!(axId in stash)) {\n var s = stash[axId] = {};\n if(dim) {\n s.label = dim.label || '';\n if(dim.visible && dim.axis) {\n if(dim.axis.type) s.type = dim.axis.type;\n if(dim.axis.matches) s.matches = counterAxId;\n }\n }\n }\n }\n\n // cases where showDiag and showLower or showUpper are false\n // no special treatment as the 'drawn' x-axes and y-axes no longer match\n // the dimensions items and xaxes|yaxes 1-to-1\n var mustShiftX = !showDiag && !showLower;\n var mustShiftY = !showDiag && !showUpper;\n\n traceOut._axesDim = {};\n for(i = 0; i < dimLength; i++) {\n var dim = dimensions[i];\n var i0 = i === 0;\n var iN = i === dimLength - 1;\n\n var xaId = (i0 && mustShiftX) || (iN && mustShiftY) ?\n undefined :\n xaxes[i];\n\n var yaId = (i0 && mustShiftY) || (iN && mustShiftX) ?\n undefined :\n yaxes[i];\n\n fillAxisStashes(xaId, yaId, dim, xList);\n fillAxisStashes(yaId, xaId, dim, yList);\n diag[i] = [xaId, yaId];\n traceOut._axesDim[xaId] = i;\n traceOut._axesDim[yaId] = i;\n }\n\n // fill in splom subplot keys\n for(i = 0; i < xList.length; i++) {\n for(j = 0; j < yList.length; j++) {\n var id = xList[i] + yList[j];\n\n if(i > j && showUpper) {\n layout._splomSubplots[id] = 1;\n } else if(i < j && showLower) {\n layout._splomSubplots[id] = 1;\n } else if(i === j && (showDiag || !showLower || !showUpper)) {\n // need to include diagonal subplots when\n // hiding one half and the diagonal\n layout._splomSubplots[id] = 1;\n }\n }\n }\n\n // when lower half is omitted, or when just the diagonal is gone,\n // override grid default to make sure axes remain on\n // the left/bottom of the plot area\n if(!showLower || (!showDiag && showUpper && showLower)) {\n layout._splomGridDflt.xside = 'bottom';\n layout._splomGridDflt.yside = 'left';\n }\n}\n\n\n/***/ }),\n\n/***/ \"22b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.shader = getShaderReference\nexports.program = createProgram\n\nvar GLError = __webpack_require__(\"a3fd\")\nvar formatCompilerError = __webpack_require__(\"07db\");\n\nvar weakMap = typeof WeakMap === 'undefined' ? __webpack_require__(\"fcc5\") : WeakMap\nvar CACHE = new weakMap()\n\nvar SHADER_COUNTER = 0\n\nfunction ShaderReference(id, src, type, shader, programs, count, cache) {\n this.id = id\n this.src = src\n this.type = type\n this.shader = shader\n this.count = count\n this.programs = []\n this.cache = cache\n}\n\nShaderReference.prototype.dispose = function() {\n if(--this.count === 0) {\n var cache = this.cache\n var gl = cache.gl\n\n //Remove program references\n var programs = this.programs\n for(var i=0, n=programs.length; i 1.0){\n return 0\n } else {\n return Math.acos(cosine)\n } \n}\n\n\n/***/ }),\n\n/***/ \"2335\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n\n/***/ \"2357\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ch = __webpack_require__(\"0000\")\nvar uniq = __webpack_require__(\"175e\")\n\nmodule.exports = triangulate\n\nfunction LiftedPoint(p, i) {\n this.point = p\n this.index = i\n}\n\nfunction compareLifted(a, b) {\n var ap = a.point\n var bp = b.point\n var d = ap.length\n for(var i=0; i= 2) {\n return false\n }\n }\n cell[j] = v\n }\n return true\n })\n } else {\n hull = hull.filter(function(cell) {\n for(var i=0; i<=d; ++i) {\n var v = dindex[cell[i]]\n if(v < 0) {\n return false\n }\n cell[i] = v\n }\n return true\n })\n }\n\n if(d & 1) {\n for(var i=0; i minSensoryWidth ? sensoryWidth / 2 : minSensoryWidth;\n\n g.append('circle')\n .attr({\n 'data-line-point': 'start-point',\n 'cx': xPixelSized ? x2p(shapeOptions.xanchor) + shapeOptions.x0 : x2p(shapeOptions.x0),\n 'cy': yPixelSized ? y2p(shapeOptions.yanchor) - shapeOptions.y0 : y2p(shapeOptions.y0),\n 'r': circleRadius\n })\n .style(circleStyle)\n .classed('cursor-grab', true);\n\n g.append('circle')\n .attr({\n 'data-line-point': 'end-point',\n 'cx': xPixelSized ? x2p(shapeOptions.xanchor) + shapeOptions.x1 : x2p(shapeOptions.x1),\n 'cy': yPixelSized ? y2p(shapeOptions.yanchor) - shapeOptions.y1 : y2p(shapeOptions.y1),\n 'r': circleRadius\n })\n .style(circleStyle)\n .classed('cursor-grab', true);\n\n return g;\n }\n\n function updateDragMode(evt) {\n if(isLine) {\n if(evt.target.tagName === 'path') {\n dragMode = 'move';\n } else {\n dragMode = evt.target.attributes['data-line-point'].value === 'start-point' ?\n 'resize-over-start-point' : 'resize-over-end-point';\n }\n } else {\n // element might not be on screen at time of setup,\n // so obtain bounding box here\n var dragBBox = dragOptions.element.getBoundingClientRect();\n\n // choose 'move' or 'resize'\n // based on initial position of cursor within the drag element\n var w = dragBBox.right - dragBBox.left;\n var h = dragBBox.bottom - dragBBox.top;\n var x = evt.clientX - dragBBox.left;\n var y = evt.clientY - dragBBox.top;\n var cursor = (!isPath && w > MINWIDTH && h > MINHEIGHT && !evt.shiftKey) ?\n dragElement.getCursor(x / w, 1 - y / h) :\n 'move';\n\n setCursor(shapePath, cursor);\n\n // possible values 'move', 'sw', 'w', 'se', 'e', 'ne', 'n', 'nw' and 'w'\n dragMode = cursor.split('-')[0];\n }\n }\n\n function startDrag(evt) {\n // setup update strings and initial values\n if(xPixelSized) {\n xAnchor = x2p(shapeOptions.xanchor);\n }\n if(yPixelSized) {\n yAnchor = y2p(shapeOptions.yanchor);\n }\n\n if(shapeOptions.type === 'path') {\n pathIn = shapeOptions.path;\n } else {\n x0 = xPixelSized ? shapeOptions.x0 : x2p(shapeOptions.x0);\n y0 = yPixelSized ? shapeOptions.y0 : y2p(shapeOptions.y0);\n x1 = xPixelSized ? shapeOptions.x1 : x2p(shapeOptions.x1);\n y1 = yPixelSized ? shapeOptions.y1 : y2p(shapeOptions.y1);\n }\n\n if(x0 < x1) {\n w0 = x0;\n optW = 'x0';\n e0 = x1;\n optE = 'x1';\n } else {\n w0 = x1;\n optW = 'x1';\n e0 = x0;\n optE = 'x0';\n }\n\n // For fixed size shapes take opposing direction of y-axis into account.\n // Hint: For data sized shapes this is done by the y2p function.\n if((!yPixelSized && y0 < y1) || (yPixelSized && y0 > y1)) {\n n0 = y0;\n optN = 'y0';\n s0 = y1;\n optS = 'y1';\n } else {\n n0 = y1;\n optN = 'y1';\n s0 = y0;\n optS = 'y0';\n }\n\n // setup dragMode and the corresponding handler\n updateDragMode(evt);\n renderVisualCues(shapeLayer, shapeOptions);\n deactivateClipPathTemporarily(shapePath, shapeOptions, gd);\n dragOptions.moveFn = (dragMode === 'move') ? moveShape : resizeShape;\n }\n\n function endDrag() {\n setCursor(shapePath);\n removeVisualCues(shapeLayer);\n\n // Don't rely on clipPath being activated during re-layout\n setClipPath(shapePath, gd, shapeOptions);\n Registry.call('_guiRelayout', gd, editHelpers.getUpdateObj());\n }\n\n function abortDrag() {\n removeVisualCues(shapeLayer);\n }\n\n function moveShape(dx, dy) {\n if(shapeOptions.type === 'path') {\n var noOp = function(coord) { return coord; };\n var moveX = noOp;\n var moveY = noOp;\n\n if(xPixelSized) {\n modifyItem('xanchor', shapeOptions.xanchor = p2x(xAnchor + dx));\n } else {\n moveX = function moveX(x) { return p2x(x2p(x) + dx); };\n if(xa && xa.type === 'date') moveX = helpers.encodeDate(moveX);\n }\n\n if(yPixelSized) {\n modifyItem('yanchor', shapeOptions.yanchor = p2y(yAnchor + dy));\n } else {\n moveY = function moveY(y) { return p2y(y2p(y) + dy); };\n if(ya && ya.type === 'date') moveY = helpers.encodeDate(moveY);\n }\n\n modifyItem('path', shapeOptions.path = movePath(pathIn, moveX, moveY));\n } else {\n if(xPixelSized) {\n modifyItem('xanchor', shapeOptions.xanchor = p2x(xAnchor + dx));\n } else {\n modifyItem('x0', shapeOptions.x0 = p2x(x0 + dx));\n modifyItem('x1', shapeOptions.x1 = p2x(x1 + dx));\n }\n\n if(yPixelSized) {\n modifyItem('yanchor', shapeOptions.yanchor = p2y(yAnchor + dy));\n } else {\n modifyItem('y0', shapeOptions.y0 = p2y(y0 + dy));\n modifyItem('y1', shapeOptions.y1 = p2y(y1 + dy));\n }\n }\n\n shapePath.attr('d', getPathString(gd, shapeOptions));\n renderVisualCues(shapeLayer, shapeOptions);\n }\n\n function resizeShape(dx, dy) {\n if(isPath) {\n // TODO: implement path resize, don't forget to update dragMode code\n var noOp = function(coord) { return coord; };\n var moveX = noOp;\n var moveY = noOp;\n\n if(xPixelSized) {\n modifyItem('xanchor', shapeOptions.xanchor = p2x(xAnchor + dx));\n } else {\n moveX = function moveX(x) { return p2x(x2p(x) + dx); };\n if(xa && xa.type === 'date') moveX = helpers.encodeDate(moveX);\n }\n\n if(yPixelSized) {\n modifyItem('yanchor', shapeOptions.yanchor = p2y(yAnchor + dy));\n } else {\n moveY = function moveY(y) { return p2y(y2p(y) + dy); };\n if(ya && ya.type === 'date') moveY = helpers.encodeDate(moveY);\n }\n\n modifyItem('path', shapeOptions.path = movePath(pathIn, moveX, moveY));\n } else if(isLine) {\n if(dragMode === 'resize-over-start-point') {\n var newX0 = x0 + dx;\n var newY0 = yPixelSized ? y0 - dy : y0 + dy;\n modifyItem('x0', shapeOptions.x0 = xPixelSized ? newX0 : p2x(newX0));\n modifyItem('y0', shapeOptions.y0 = yPixelSized ? newY0 : p2y(newY0));\n } else if(dragMode === 'resize-over-end-point') {\n var newX1 = x1 + dx;\n var newY1 = yPixelSized ? y1 - dy : y1 + dy;\n modifyItem('x1', shapeOptions.x1 = xPixelSized ? newX1 : p2x(newX1));\n modifyItem('y1', shapeOptions.y1 = yPixelSized ? newY1 : p2y(newY1));\n }\n } else {\n var newN = (~dragMode.indexOf('n')) ? n0 + dy : n0;\n var newS = (~dragMode.indexOf('s')) ? s0 + dy : s0;\n var newW = (~dragMode.indexOf('w')) ? w0 + dx : w0;\n var newE = (~dragMode.indexOf('e')) ? e0 + dx : e0;\n\n // Do things in opposing direction for y-axis.\n // Hint: for data-sized shapes the reversal of axis direction is done in p2y.\n if(~dragMode.indexOf('n') && yPixelSized) newN = n0 - dy;\n if(~dragMode.indexOf('s') && yPixelSized) newS = s0 - dy;\n\n // Update shape eventually. Again, be aware of the\n // opposing direction of the y-axis of fixed size shapes.\n if((!yPixelSized && newS - newN > MINHEIGHT) ||\n (yPixelSized && newN - newS > MINHEIGHT)) {\n modifyItem(optN, shapeOptions[optN] = yPixelSized ? newN : p2y(newN));\n modifyItem(optS, shapeOptions[optS] = yPixelSized ? newS : p2y(newS));\n }\n if(newE - newW > MINWIDTH) {\n modifyItem(optW, shapeOptions[optW] = xPixelSized ? newW : p2x(newW));\n modifyItem(optE, shapeOptions[optE] = xPixelSized ? newE : p2x(newE));\n }\n }\n\n shapePath.attr('d', getPathString(gd, shapeOptions));\n renderVisualCues(shapeLayer, shapeOptions);\n }\n\n function renderVisualCues(shapeLayer, shapeOptions) {\n if(xPixelSized || yPixelSized) {\n renderAnchor();\n }\n\n function renderAnchor() {\n var isNotPath = shapeOptions.type !== 'path';\n\n // d3 join with dummy data to satisfy d3 data-binding\n var visualCues = shapeLayer.selectAll('.visual-cue').data([0]);\n\n // Enter\n var strokeWidth = 1;\n visualCues.enter()\n .append('path')\n .attr({\n 'fill': '#fff',\n 'fill-rule': 'evenodd',\n 'stroke': '#000',\n 'stroke-width': strokeWidth\n })\n .classed('visual-cue', true);\n\n // Update\n var posX = x2p(\n xPixelSized ?\n shapeOptions.xanchor :\n Lib.midRange(\n isNotPath ?\n [shapeOptions.x0, shapeOptions.x1] :\n helpers.extractPathCoords(shapeOptions.path, constants.paramIsX))\n );\n var posY = y2p(\n yPixelSized ?\n shapeOptions.yanchor :\n Lib.midRange(\n isNotPath ?\n [shapeOptions.y0, shapeOptions.y1] :\n helpers.extractPathCoords(shapeOptions.path, constants.paramIsY))\n );\n\n posX = helpers.roundPositionForSharpStrokeRendering(posX, strokeWidth);\n posY = helpers.roundPositionForSharpStrokeRendering(posY, strokeWidth);\n\n if(xPixelSized && yPixelSized) {\n var crossPath = 'M' + (posX - 1 - strokeWidth) + ',' + (posY - 1 - strokeWidth) +\n 'h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z';\n visualCues.attr('d', crossPath);\n } else if(xPixelSized) {\n var vBarPath = 'M' + (posX - 1 - strokeWidth) + ',' + (posY - 9 - strokeWidth) +\n 'v18 h2 v-18 Z';\n visualCues.attr('d', vBarPath);\n } else {\n var hBarPath = 'M' + (posX - 9 - strokeWidth) + ',' + (posY - 1 - strokeWidth) +\n 'h18 v2 h-18 Z';\n visualCues.attr('d', hBarPath);\n }\n }\n }\n\n function removeVisualCues(shapeLayer) {\n shapeLayer.selectAll('.visual-cue').remove();\n }\n\n function deactivateClipPathTemporarily(shapePath, shapeOptions, gd) {\n var xref = shapeOptions.xref;\n var yref = shapeOptions.yref;\n var xa = Axes.getFromId(gd, xref);\n var ya = Axes.getFromId(gd, yref);\n\n var clipAxes = '';\n if(xref !== 'paper' && !xa.autorange) clipAxes += xref;\n if(yref !== 'paper' && !ya.autorange) clipAxes += yref;\n\n Drawing.setClipUrl(\n shapePath,\n clipAxes ? 'clip' + gd._fullLayout._uid + clipAxes : null,\n gd\n );\n }\n}\n\nfunction getPathString(gd, options) {\n var type = options.type;\n var xa = Axes.getFromId(gd, options.xref);\n var ya = Axes.getFromId(gd, options.yref);\n var gs = gd._fullLayout._size;\n var x2r, x2p, y2r, y2p;\n var x0, x1, y0, y1;\n\n if(xa) {\n x2r = helpers.shapePositionToRange(xa);\n x2p = function(v) { return xa._offset + xa.r2p(x2r(v, true)); };\n } else {\n x2p = function(v) { return gs.l + gs.w * v; };\n }\n\n if(ya) {\n y2r = helpers.shapePositionToRange(ya);\n y2p = function(v) { return ya._offset + ya.r2p(y2r(v, true)); };\n } else {\n y2p = function(v) { return gs.t + gs.h * (1 - v); };\n }\n\n if(type === 'path') {\n if(xa && xa.type === 'date') x2p = helpers.decodeDate(x2p);\n if(ya && ya.type === 'date') y2p = helpers.decodeDate(y2p);\n return convertPath(options, x2p, y2p);\n }\n\n if(options.xsizemode === 'pixel') {\n var xAnchorPos = x2p(options.xanchor);\n x0 = xAnchorPos + options.x0;\n x1 = xAnchorPos + options.x1;\n } else {\n x0 = x2p(options.x0);\n x1 = x2p(options.x1);\n }\n\n if(options.ysizemode === 'pixel') {\n var yAnchorPos = y2p(options.yanchor);\n y0 = yAnchorPos - options.y0;\n y1 = yAnchorPos - options.y1;\n } else {\n y0 = y2p(options.y0);\n y1 = y2p(options.y1);\n }\n\n if(type === 'line') return 'M' + x0 + ',' + y0 + 'L' + x1 + ',' + y1;\n if(type === 'rect') return 'M' + x0 + ',' + y0 + 'H' + x1 + 'V' + y1 + 'H' + x0 + 'Z';\n\n // circle\n var cx = (x0 + x1) / 2;\n var cy = (y0 + y1) / 2;\n var rx = Math.abs(cx - x0);\n var ry = Math.abs(cy - y0);\n var rArc = 'A' + rx + ',' + ry;\n var rightPt = (cx + rx) + ',' + cy;\n var topPt = cx + ',' + (cy - ry);\n return 'M' + rightPt + rArc + ' 0 1,1 ' + topPt +\n rArc + ' 0 0,1 ' + rightPt + 'Z';\n}\n\n\nfunction convertPath(options, x2p, y2p) {\n var pathIn = options.path;\n var xSizemode = options.xsizemode;\n var ySizemode = options.ysizemode;\n var xAnchor = options.xanchor;\n var yAnchor = options.yanchor;\n\n return pathIn.replace(constants.segmentRE, function(segment) {\n var paramNumber = 0;\n var segmentType = segment.charAt(0);\n var xParams = constants.paramIsX[segmentType];\n var yParams = constants.paramIsY[segmentType];\n var nParams = constants.numParams[segmentType];\n\n var paramString = segment.substr(1).replace(constants.paramRE, function(param) {\n if(xParams[paramNumber]) {\n if(xSizemode === 'pixel') param = x2p(xAnchor) + Number(param);\n else param = x2p(param);\n } else if(yParams[paramNumber]) {\n if(ySizemode === 'pixel') param = y2p(yAnchor) - Number(param);\n else param = y2p(param);\n }\n paramNumber++;\n\n if(paramNumber > nParams) param = 'X';\n return param;\n });\n\n if(paramNumber > nParams) {\n paramString = paramString.replace(/[\\s,]*X.*/, '');\n Lib.log('Ignoring extra params in segment ' + segment);\n }\n\n return segmentType + paramString;\n });\n}\n\nfunction movePath(pathIn, moveX, moveY) {\n return pathIn.replace(constants.segmentRE, function(segment) {\n var paramNumber = 0;\n var segmentType = segment.charAt(0);\n var xParams = constants.paramIsX[segmentType];\n var yParams = constants.paramIsY[segmentType];\n var nParams = constants.numParams[segmentType];\n\n var paramString = segment.substr(1).replace(constants.paramRE, function(param) {\n if(paramNumber >= nParams) return param;\n\n if(xParams[paramNumber]) param = moveX(param);\n else if(yParams[paramNumber]) param = moveY(param);\n\n paramNumber++;\n\n return param;\n });\n\n return segmentType + paramString;\n });\n}\n\n\n/***/ }),\n\n/***/ \"2381\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n/* eslint-disable new-cap */\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\n\nvar micropolar = __webpack_require__(\"3a99\");\nvar UndoManager = __webpack_require__(\"12c1\");\nvar extendDeepAll = Lib.extendDeepAll;\n\nvar manager = module.exports = {};\n\nmanager.framework = function(_gd) {\n var config, previousConfigClone, plot, convertedInput, container;\n var undoManager = new UndoManager();\n\n function exports(_inputConfig, _container) {\n if(_container) container = _container;\n d3.select(d3.select(container).node().parentNode).selectAll('.svg-container>*:not(.chart-root)').remove();\n\n config = (!config) ?\n _inputConfig :\n extendDeepAll(config, _inputConfig);\n\n if(!plot) plot = micropolar.Axis();\n convertedInput = micropolar.adapter.plotly().convert(config);\n plot.config(convertedInput).render(container);\n _gd.data = config.data;\n _gd.layout = config.layout;\n manager.fillLayout(_gd);\n return config;\n }\n exports.isPolar = true;\n exports.svg = function() { return plot.svg(); };\n exports.getConfig = function() { return config; };\n exports.getLiveConfig = function() {\n return micropolar.adapter.plotly().convert(plot.getLiveConfig(), true);\n };\n exports.getLiveScales = function() { return {t: plot.angularScale(), r: plot.radialScale()}; };\n exports.setUndoPoint = function() {\n var that = this;\n var configClone = micropolar.util.cloneJson(config);\n (function(_configClone, _previousConfigClone) {\n undoManager.add({\n undo: function() {\n if(_previousConfigClone) that(_previousConfigClone);\n },\n redo: function() {\n that(_configClone);\n }\n });\n })(configClone, previousConfigClone);\n previousConfigClone = micropolar.util.cloneJson(configClone);\n };\n exports.undo = function() { undoManager.undo(); };\n exports.redo = function() { undoManager.redo(); };\n return exports;\n};\n\nmanager.fillLayout = function(_gd) {\n var container = d3.select(_gd).selectAll('.plot-container');\n var paperDiv = container.selectAll('.svg-container');\n var paper = _gd.framework && _gd.framework.svg && _gd.framework.svg();\n var dflts = {\n width: 800,\n height: 600,\n paper_bgcolor: Color.background,\n _container: container,\n _paperdiv: paperDiv,\n _paper: paper\n };\n\n _gd._fullLayout = extendDeepAll(dflts, _gd.layout);\n};\n\n\n/***/ }),\n\n/***/ \"23cb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\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/***/ \"23cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n CLICK_TRANSITION_TIME: 750,\n CLICK_TRANSITION_EASING: 'poly',\n eventDataKeys: [\n // string\n 'currentPath',\n 'root',\n 'entry',\n // no need to add 'parent' here\n\n // percentages i.e. ratios\n 'percentRoot',\n 'percentEntry',\n 'percentParent'\n ],\n gapWithPathbar: 1 // i.e. one pixel\n};\n\n\n/***/ }),\n\n/***/ \"23e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar copyConstructorProperties = __webpack_require__(\"e893\");\nvar isForced = __webpack_require__(\"94ca\");\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/***/ \"241c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(\"ca84\");\nvar enumBugKeys = __webpack_require__(\"7839\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"2441\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n * @license MIT\n * @preserve Project Home: https://github.com/voidqk/polybooljs\n */\n\nvar BuildLog = __webpack_require__(\"a6dc\");\nvar Epsilon = __webpack_require__(\"f8a5\");\nvar Intersecter = __webpack_require__(\"9935\");\nvar SegmentChainer = __webpack_require__(\"a626\");\nvar SegmentSelector = __webpack_require__(\"b924\");\nvar GeoJSON = __webpack_require__(\"34cc\");\n\nvar buildLog = false;\nvar epsilon = Epsilon();\n\nvar PolyBool;\nPolyBool = {\n\t// getter/setter for buildLog\n\tbuildLog: function(bl){\n\t\tif (bl === true)\n\t\t\tbuildLog = BuildLog();\n\t\telse if (bl === false)\n\t\t\tbuildLog = false;\n\t\treturn buildLog === false ? false : buildLog.list;\n\t},\n\t// getter/setter for epsilon\n\tepsilon: function(v){\n\t\treturn epsilon.epsilon(v);\n\t},\n\n\t// core API\n\tsegments: function(poly){\n\t\tvar i = Intersecter(true, epsilon, buildLog);\n\t\tpoly.regions.forEach(i.addRegion);\n\t\treturn {\n\t\t\tsegments: i.calculate(poly.inverted),\n\t\t\tinverted: poly.inverted\n\t\t};\n\t},\n\tcombine: function(segments1, segments2){\n\t\tvar i3 = Intersecter(false, epsilon, buildLog);\n\t\treturn {\n\t\t\tcombined: i3.calculate(\n\t\t\t\tsegments1.segments, segments1.inverted,\n\t\t\t\tsegments2.segments, segments2.inverted\n\t\t\t),\n\t\t\tinverted1: segments1.inverted,\n\t\t\tinverted2: segments2.inverted\n\t\t};\n\t},\n\tselectUnion: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.union(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 || combined.inverted2\n\t\t}\n\t},\n\tselectIntersect: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.intersect(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 && combined.inverted2\n\t\t}\n\t},\n\tselectDifference: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.difference(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 && !combined.inverted2\n\t\t}\n\t},\n\tselectDifferenceRev: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.differenceRev(combined.combined, buildLog),\n\t\t\tinverted: !combined.inverted1 && combined.inverted2\n\t\t}\n\t},\n\tselectXor: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.xor(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 !== combined.inverted2\n\t\t}\n\t},\n\tpolygon: function(segments){\n\t\treturn {\n\t\t\tregions: SegmentChainer(segments.segments, epsilon, buildLog),\n\t\t\tinverted: segments.inverted\n\t\t};\n\t},\n\n\t// GeoJSON converters\n\tpolygonFromGeoJSON: function(geojson){\n\t\treturn GeoJSON.toPolygon(PolyBool, geojson);\n\t},\n\tpolygonToGeoJSON: function(poly){\n\t\treturn GeoJSON.fromPolygon(PolyBool, epsilon, poly);\n\t},\n\n\t// helper functions for common operations\n\tunion: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectUnion);\n\t},\n\tintersect: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectIntersect);\n\t},\n\tdifference: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectDifference);\n\t},\n\tdifferenceRev: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectDifferenceRev);\n\t},\n\txor: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectXor);\n\t}\n};\n\nfunction operate(poly1, poly2, selector){\n\tvar seg1 = PolyBool.segments(poly1);\n\tvar seg2 = PolyBool.segments(poly2);\n\tvar comb = PolyBool.combine(seg1, seg2);\n\tvar seg3 = selector(comb);\n\treturn PolyBool.polygon(seg3);\n}\n\nif (typeof window === 'object')\n\twindow.PolyBool = PolyBool;\n\nmodule.exports = PolyBool;\n\n\n/***/ }),\n\n/***/ \"2456\":\n/***/ (function(module, exports) {\n\nmodule.exports = squaredLength;\n\n/**\n * Calculates the squared length of a vec3\n *\n * @param {vec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nfunction squaredLength(a) {\n var x = a[0],\n y = a[1],\n z = a[2]\n return x*x + y*y + z*z\n}\n\n/***/ }),\n\n/***/ \"24ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n \"use restrict\";\n\nvar bits = __webpack_require__(\"a48a\")\n , UnionFind = __webpack_require__(\"dca5\")\n\n//Returns the dimension of a cell complex\nfunction dimension(cells) {\n var d = 0\n , max = Math.max\n for(var i=0, il=cells.length; i> 1\n , s = compareCells(cells[mid], c)\n if(s <= 0) {\n if(s === 0) {\n r = mid\n }\n lo = mid + 1\n } else if(s > 0) {\n hi = mid - 1\n }\n }\n return r\n}\nexports.findCell = findCell;\n\n//Builds an index for an n-cell. This is more general than dual, but less efficient\nfunction incidence(from_cells, to_cells) {\n var index = new Array(from_cells.length)\n for(var i=0, il=index.length; i= from_cells.length || compareCells(from_cells[idx], b) !== 0) {\n break\n }\n }\n }\n }\n return index\n}\nexports.incidence = incidence\n\n//Computes the dual of the mesh. This is basically an optimized version of buildIndex for the situation where from_cells is just the list of vertices\nfunction dual(cells, vertex_count) {\n if(!vertex_count) {\n return incidence(unique(skeleton(cells, 0)), cells, 0)\n }\n var res = new Array(vertex_count)\n for(var i=0; i>> k) & 1) {\n b.push(c[k])\n }\n }\n result.push(b)\n }\n }\n return normalize(result)\n}\nexports.explode = explode\n\n//Enumerates all of the n-cells of a cell complex\nfunction skeleton(cells, n) {\n if(n < 0) {\n return []\n }\n var result = []\n , k0 = (1<<(n+1))-1\n for(var i=0; i 2 / 3) anchor = 'right';\n else anchor = 'center';\n }\n return {\n center: 0,\n middle: 0,\n left: 0.5,\n bottom: -0.5,\n right: -0.5,\n top: 0.5\n }[anchor];\n }\n\n var annotationIsOffscreen = false;\n var letters = ['x', 'y'];\n\n for(var i = 0; i < letters.length; i++) {\n var axLetter = letters[i];\n var axRef = options[axLetter + 'ref'] || axLetter;\n var tailRef = options['a' + axLetter + 'ref'];\n var ax = {x: xa, y: ya}[axLetter];\n var dimAngle = (textangle + (axLetter === 'x' ? 0 : -90)) * Math.PI / 180;\n // note that these two can be either positive or negative\n var annSizeFromWidth = outerWidth * Math.cos(dimAngle);\n var annSizeFromHeight = outerHeight * Math.sin(dimAngle);\n // but this one is the positive total size\n var annSize = Math.abs(annSizeFromWidth) + Math.abs(annSizeFromHeight);\n var anchor = options[axLetter + 'anchor'];\n var overallShift = options[axLetter + 'shift'] * (axLetter === 'x' ? 1 : -1);\n var posPx = annPosPx[axLetter];\n var basePx;\n var textPadShift;\n var alignPosition;\n var autoAlignFraction;\n var textShift;\n\n /*\n * calculate the *primary* pixel position\n * which is the arrowhead if there is one,\n * otherwise the text anchor point\n */\n if(ax) {\n // check if annotation is off screen, to bypass DOM manipulations\n var posFraction = ax.r2fraction(options[axLetter]);\n if(posFraction < 0 || posFraction > 1) {\n if(tailRef === axRef) {\n posFraction = ax.r2fraction(options['a' + axLetter]);\n if(posFraction < 0 || posFraction > 1) {\n annotationIsOffscreen = true;\n }\n } else {\n annotationIsOffscreen = true;\n }\n }\n basePx = ax._offset + ax.r2p(options[axLetter]);\n autoAlignFraction = 0.5;\n } else {\n if(axLetter === 'x') {\n alignPosition = options[axLetter];\n basePx = gs.l + gs.w * alignPosition;\n } else {\n alignPosition = 1 - options[axLetter];\n basePx = gs.t + gs.h * alignPosition;\n }\n autoAlignFraction = options.showarrow ? 0.5 : alignPosition;\n }\n\n // now translate this into pixel positions of head, tail, and text\n // as well as paddings for autorange\n if(options.showarrow) {\n posPx.head = basePx;\n\n var arrowLength = options['a' + axLetter];\n\n // with an arrow, the text rotates around the anchor point\n textShift = annSizeFromWidth * shiftFraction(0.5, options.xanchor) -\n annSizeFromHeight * shiftFraction(0.5, options.yanchor);\n\n if(tailRef === axRef) {\n posPx.tail = ax._offset + ax.r2p(arrowLength);\n // tail is data-referenced: autorange pads the text in px from the tail\n textPadShift = textShift;\n } else {\n posPx.tail = basePx + arrowLength;\n // tail is specified in px from head, so autorange also pads vs head\n textPadShift = textShift + arrowLength;\n }\n\n posPx.text = posPx.tail + textShift;\n\n // constrain pixel/paper referenced so the draggers are at least\n // partially visible\n var maxPx = fullLayout[(axLetter === 'x') ? 'width' : 'height'];\n if(axRef === 'paper') {\n posPx.head = Lib.constrain(posPx.head, 1, maxPx - 1);\n }\n if(tailRef === 'pixel') {\n var shiftPlus = -Math.max(posPx.tail - 3, posPx.text);\n var shiftMinus = Math.min(posPx.tail + 3, posPx.text) - maxPx;\n if(shiftPlus > 0) {\n posPx.tail += shiftPlus;\n posPx.text += shiftPlus;\n } else if(shiftMinus > 0) {\n posPx.tail -= shiftMinus;\n posPx.text -= shiftMinus;\n }\n }\n\n posPx.tail += overallShift;\n posPx.head += overallShift;\n } else {\n // with no arrow, the text rotates and *then* we put the anchor\n // relative to the new bounding box\n textShift = annSize * shiftFraction(autoAlignFraction, anchor);\n textPadShift = textShift;\n posPx.text = basePx + textShift;\n }\n\n posPx.text += overallShift;\n textShift += overallShift;\n textPadShift += overallShift;\n\n // padplus/minus are used by autorange\n options['_' + axLetter + 'padplus'] = (annSize / 2) + textPadShift;\n options['_' + axLetter + 'padminus'] = (annSize / 2) - textPadShift;\n\n // size/shift are used during dragging\n options['_' + axLetter + 'size'] = annSize;\n options['_' + axLetter + 'shift'] = textShift;\n }\n\n if(annotationIsOffscreen) {\n annTextGroupInner.remove();\n return;\n }\n\n var xShift = 0;\n var yShift = 0;\n\n if(options.align !== 'left') {\n xShift = (annWidth - textWidth) * (options.align === 'center' ? 0.5 : 1);\n }\n if(options.valign !== 'top') {\n yShift = (annHeight - textHeight) * (options.valign === 'middle' ? 0.5 : 1);\n }\n\n if(hasMathjax) {\n mathjaxGroup.select('svg').attr({\n x: borderfull + xShift - 1,\n y: borderfull + yShift\n })\n .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null, gd);\n } else {\n var texty = borderfull + yShift - anntextBB.top;\n var textx = borderfull + xShift - anntextBB.left;\n\n annText.call(svgTextUtils.positionText, textx, texty)\n .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null, gd);\n }\n\n annTextClip.select('rect').call(Drawing.setRect, borderfull, borderfull,\n annWidth, annHeight);\n\n annTextBG.call(Drawing.setRect, borderwidth / 2, borderwidth / 2,\n outerWidth - borderwidth, outerHeight - borderwidth);\n\n annTextGroupInner.call(Drawing.setTranslate,\n Math.round(annPosPx.x.text - outerWidth / 2),\n Math.round(annPosPx.y.text - outerHeight / 2));\n\n /*\n * rotate text and background\n * we already calculated the text center position *as rotated*\n * because we needed that for autoranging anyway, so now whether\n * we have an arrow or not, we rotate about the text center.\n */\n annTextGroup.attr({transform: 'rotate(' + textangle + ',' +\n annPosPx.x.text + ',' + annPosPx.y.text + ')'});\n\n /*\n * add the arrow\n * uses options[arrowwidth,arrowcolor,arrowhead] for styling\n * dx and dy are normally zero, but when you are dragging the textbox\n * while the head stays put, dx and dy are the pixel offsets\n */\n var drawArrow = function(dx, dy) {\n annGroup\n .selectAll('.annotation-arrow-g')\n .remove();\n\n var headX = annPosPx.x.head;\n var headY = annPosPx.y.head;\n var tailX = annPosPx.x.tail + dx;\n var tailY = annPosPx.y.tail + dy;\n var textX = annPosPx.x.text + dx;\n var textY = annPosPx.y.text + dy;\n\n // find the edge of the text box, where we'll start the arrow:\n // create transform matrix to rotate the text box corners\n var transform = Lib.rotationXYMatrix(textangle, textX, textY);\n var applyTransform = Lib.apply2DTransform(transform);\n var applyTransform2 = Lib.apply2DTransform2(transform);\n\n // calculate and transform bounding box\n var width = +annTextBG.attr('width');\n var height = +annTextBG.attr('height');\n var xLeft = textX - 0.5 * width;\n var xRight = xLeft + width;\n var yTop = textY - 0.5 * height;\n var yBottom = yTop + height;\n var edges = [\n [xLeft, yTop, xLeft, yBottom],\n [xLeft, yBottom, xRight, yBottom],\n [xRight, yBottom, xRight, yTop],\n [xRight, yTop, xLeft, yTop]\n ].map(applyTransform2);\n\n // Remove the line if it ends inside the box. Use ray\n // casting for rotated boxes: see which edges intersect a\n // line from the arrowhead to far away and reduce with xor\n // to get the parity of the number of intersections.\n if(edges.reduce(function(a, x) {\n return a ^\n !!Lib.segmentsIntersect(headX, headY, headX + 1e6, headY + 1e6,\n x[0], x[1], x[2], x[3]);\n }, false)) {\n // no line or arrow - so quit drawArrow now\n return;\n }\n\n edges.forEach(function(x) {\n var p = Lib.segmentsIntersect(tailX, tailY, headX, headY,\n x[0], x[1], x[2], x[3]);\n if(p) {\n tailX = p.x;\n tailY = p.y;\n }\n });\n\n var strokewidth = options.arrowwidth;\n var arrowColor = options.arrowcolor;\n var arrowSide = options.arrowside;\n\n var arrowGroup = annGroup.append('g')\n .style({opacity: Color.opacity(arrowColor)})\n .classed('annotation-arrow-g', true);\n\n var arrow = arrowGroup.append('path')\n .attr('d', 'M' + tailX + ',' + tailY + 'L' + headX + ',' + headY)\n .style('stroke-width', strokewidth + 'px')\n .call(Color.stroke, Color.rgb(arrowColor));\n\n drawArrowHead(arrow, arrowSide, options);\n\n // the arrow dragger is a small square right at the head, then a line to the tail,\n // all expanded by a stroke width of 6px plus the arrow line width\n if(edits.annotationPosition && arrow.node().parentNode && !subplotId) {\n var arrowDragHeadX = headX;\n var arrowDragHeadY = headY;\n if(options.standoff) {\n var arrowLength = Math.sqrt(Math.pow(headX - tailX, 2) + Math.pow(headY - tailY, 2));\n arrowDragHeadX += options.standoff * (tailX - headX) / arrowLength;\n arrowDragHeadY += options.standoff * (tailY - headY) / arrowLength;\n }\n var arrowDrag = arrowGroup.append('path')\n .classed('annotation-arrow', true)\n .classed('anndrag', true)\n .classed('cursor-move', true)\n .attr({\n d: 'M3,3H-3V-3H3ZM0,0L' + (tailX - arrowDragHeadX) + ',' + (tailY - arrowDragHeadY),\n transform: 'translate(' + arrowDragHeadX + ',' + arrowDragHeadY + ')'\n })\n .style('stroke-width', (strokewidth + 6) + 'px')\n .call(Color.stroke, 'rgba(0,0,0,0)')\n .call(Color.fill, 'rgba(0,0,0,0)');\n\n var annx0, anny0;\n\n // dragger for the arrow & head: translates the whole thing\n // (head/tail/text) all together\n dragElement.init({\n element: arrowDrag.node(),\n gd: gd,\n prepFn: function() {\n var pos = Drawing.getTranslate(annTextGroupInner);\n\n annx0 = pos.x;\n anny0 = pos.y;\n if(xa && xa.autorange) {\n modifyBase(xa._name + '.autorange', true);\n }\n if(ya && ya.autorange) {\n modifyBase(ya._name + '.autorange', true);\n }\n },\n moveFn: function(dx, dy) {\n var annxy0 = applyTransform(annx0, anny0);\n var xcenter = annxy0[0] + dx;\n var ycenter = annxy0[1] + dy;\n annTextGroupInner.call(Drawing.setTranslate, xcenter, ycenter);\n\n modifyItem('x', xa ?\n xa.p2r(xa.r2p(options.x) + dx) :\n (options.x + (dx / gs.w)));\n modifyItem('y', ya ?\n ya.p2r(ya.r2p(options.y) + dy) :\n (options.y - (dy / gs.h)));\n\n if(options.axref === options.xref) {\n modifyItem('ax', xa.p2r(xa.r2p(options.ax) + dx));\n }\n\n if(options.ayref === options.yref) {\n modifyItem('ay', ya.p2r(ya.r2p(options.ay) + dy));\n }\n\n arrowGroup.attr('transform', 'translate(' + dx + ',' + dy + ')');\n annTextGroup.attr({\n transform: 'rotate(' + textangle + ',' +\n xcenter + ',' + ycenter + ')'\n });\n },\n doneFn: function() {\n Registry.call('_guiRelayout', gd, getUpdateObj());\n var notesBox = document.querySelector('.js-notes-box-panel');\n if(notesBox) notesBox.redraw(notesBox.selectedObj);\n }\n });\n }\n };\n\n if(options.showarrow) drawArrow(0, 0);\n\n // user dragging the annotation (text, not arrow)\n if(editTextPosition) {\n var baseTextTransform;\n\n // dragger for the textbox: if there's an arrow, just drag the\n // textbox and tail, leave the head untouched\n dragElement.init({\n element: annTextGroupInner.node(),\n gd: gd,\n prepFn: function() {\n baseTextTransform = annTextGroup.attr('transform');\n },\n moveFn: function(dx, dy) {\n var csr = 'pointer';\n if(options.showarrow) {\n if(options.axref === options.xref) {\n modifyItem('ax', xa.p2r(xa.r2p(options.ax) + dx));\n } else {\n modifyItem('ax', options.ax + dx);\n }\n\n if(options.ayref === options.yref) {\n modifyItem('ay', ya.p2r(ya.r2p(options.ay) + dy));\n } else {\n modifyItem('ay', options.ay + dy);\n }\n\n drawArrow(dx, dy);\n } else if(!subplotId) {\n var xUpdate, yUpdate;\n if(xa) {\n xUpdate = xa.p2r(xa.r2p(options.x) + dx);\n } else {\n var widthFraction = options._xsize / gs.w;\n var xLeft = options.x + (options._xshift - options.xshift) / gs.w - widthFraction / 2;\n\n xUpdate = dragElement.align(xLeft + dx / gs.w,\n widthFraction, 0, 1, options.xanchor);\n }\n\n if(ya) {\n yUpdate = ya.p2r(ya.r2p(options.y) + dy);\n } else {\n var heightFraction = options._ysize / gs.h;\n var yBottom = options.y - (options._yshift + options.yshift) / gs.h - heightFraction / 2;\n\n yUpdate = dragElement.align(yBottom - dy / gs.h,\n heightFraction, 0, 1, options.yanchor);\n }\n modifyItem('x', xUpdate);\n modifyItem('y', yUpdate);\n if(!xa || !ya) {\n csr = dragElement.getCursor(\n xa ? 0.5 : xUpdate,\n ya ? 0.5 : yUpdate,\n options.xanchor, options.yanchor\n );\n }\n } else return;\n\n annTextGroup.attr({\n transform: 'translate(' + dx + ',' + dy + ')' + baseTextTransform\n });\n\n setCursor(annTextGroupInner, csr);\n },\n clickFn: function(_, initialEvent) {\n if(options.captureevents) {\n gd.emit('plotly_clickannotation', makeEventData(initialEvent));\n }\n },\n doneFn: function() {\n setCursor(annTextGroupInner);\n Registry.call('_guiRelayout', gd, getUpdateObj());\n var notesBox = document.querySelector('.js-notes-box-panel');\n if(notesBox) notesBox.redraw(notesBox.selectedObj);\n }\n });\n }\n }\n\n if(edits.annotationText) {\n annText.call(svgTextUtils.makeEditable, {delegate: annTextGroupInner, gd: gd})\n .call(textLayout)\n .on('edit', function(_text) {\n options.text = _text;\n\n this.call(textLayout);\n\n modifyItem('text', _text);\n\n if(xa && xa.autorange) {\n modifyBase(xa._name + '.autorange', true);\n }\n if(ya && ya.autorange) {\n modifyBase(ya._name + '.autorange', true);\n }\n\n Registry.call('_guiRelayout', gd, getUpdateObj());\n });\n } else annText.call(textLayout);\n}\n\n\n/***/ }),\n\n/***/ \"25be\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar d = __webpack_require__(\"f508\")\n , validateSymbol = __webpack_require__(\"b380\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n\n\n/***/ }),\n\n/***/ \"25f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attrs = __webpack_require__(\"4ce7\");\n\nmodule.exports = function(layoutIn, layoutOut, fullData) {\n var subplotsDone = {};\n var sp;\n\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn[sp] || {}, layoutOut[sp], attrs, attr, dflt);\n }\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n if(trace.type === 'barpolar' && trace.visible === true) {\n sp = trace.subplot;\n if(!subplotsDone[sp]) {\n coerce('barmode');\n coerce('bargap');\n subplotsDone[sp] = 1;\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"25f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n/*\n * Given a 2D array as well as a basis in either direction, this function fills in the\n * 2D array using a combination of smoothing and extrapolation. This is rather important\n * for carpet plots since it's used for layout so that we can't simply omit or blank out\n * points. We need a reasonable guess so that the interpolation puts points somewhere\n * even if we were to somehow represent that the data was missing later on.\n *\n * input:\n * - data: 2D array of arrays\n * - a: array such that a.length === data[0].length\n * - b: array such that b.length === data.length\n */\nmodule.exports = function smoothFill2dArray(data, a, b) {\n var i, j, k;\n var ip = [];\n var jp = [];\n // var neighborCnts = [];\n\n var ni = data[0].length;\n var nj = data.length;\n\n function avgSurrounding(i, j) {\n // As a low-quality start, we can simply average surrounding points (in a not\n // non-uniform grid aware manner):\n var sum = 0.0;\n var val;\n var cnt = 0;\n if(i > 0 && (val = data[j][i - 1]) !== undefined) {\n cnt++;\n sum += val;\n }\n if(i < ni - 1 && (val = data[j][i + 1]) !== undefined) {\n cnt++;\n sum += val;\n }\n if(j > 0 && (val = data[j - 1][i]) !== undefined) {\n cnt++;\n sum += val;\n }\n if(j < nj - 1 && (val = data[j + 1][i]) !== undefined) {\n cnt++;\n sum += val;\n }\n return sum / Math.max(1, cnt);\n }\n\n // This loop iterates over all cells. Any cells that are null will be noted and those\n // are the only points we will loop over and update via laplace's equation. Points with\n // any neighbors will receive the average. If there are no neighboring points, then they\n // will be set to zero. Also as we go, track the maximum magnitude so that we can scale\n // our tolerance accordingly.\n var dmax = 0.0;\n for(i = 0; i < ni; i++) {\n for(j = 0; j < nj; j++) {\n if(data[j][i] === undefined) {\n ip.push(i);\n jp.push(j);\n\n data[j][i] = avgSurrounding(i, j);\n // neighborCnts.push(result.neighbors);\n }\n dmax = Math.max(dmax, Math.abs(data[j][i]));\n }\n }\n\n if(!ip.length) return data;\n\n // The tolerance doesn't need to be excessive. It's just for display positioning\n var dxp, dxm, dap, dam, dbp, dbm, c, d, diff, reldiff, overrelaxation;\n var tol = 1e-5;\n var resid = 0;\n var itermax = 100;\n var iter = 0;\n var n = ip.length;\n do {\n resid = 0;\n // Normally we'd loop in two dimensions, but not all points are blank and need\n // an update, so we instead loop only over the points that were tabulated above\n for(k = 0; k < n; k++) {\n i = ip[k];\n j = jp[k];\n // neighborCnt = neighborCnts[k];\n\n // Track a counter for how many contributions there are. We'll use this counter\n // to average at the end, which reduces to laplace's equation with neumann boundary\n // conditions on the first derivative (second derivative is zero so that we get\n // a nice linear extrapolation at the boundaries).\n var boundaryCnt = 0;\n var newVal = 0;\n\n var d0, d1, x0, x1, i0, j0;\n if(i === 0) {\n // If this lies along the i = 0 boundary, extrapolate from the two points\n // to the right of this point. Note that the finite differences take into\n // account non-uniform grid spacing:\n i0 = Math.min(ni - 1, 2);\n x0 = a[i0];\n x1 = a[1];\n d0 = data[j][i0];\n d1 = data[j][1];\n newVal += d1 + (d1 - d0) * (a[0] - x1) / (x1 - x0);\n boundaryCnt++;\n } else if(i === ni - 1) {\n // If along the high i boundary, extrapolate from the two points to the\n // left of this point\n i0 = Math.max(0, ni - 3);\n x0 = a[i0];\n x1 = a[ni - 2];\n d0 = data[j][i0];\n d1 = data[j][ni - 2];\n newVal += d1 + (d1 - d0) * (a[ni - 1] - x1) / (x1 - x0);\n boundaryCnt++;\n }\n\n if((i === 0 || i === ni - 1) && (j > 0 && j < nj - 1)) {\n // If along the min(i) or max(i) boundaries, also smooth vertically as long\n // as we're not in a corner. Note that the finite differences used here\n // are also aware of nonuniform grid spacing:\n dxp = b[j + 1] - b[j];\n dxm = b[j] - b[j - 1];\n newVal += (dxm * data[j + 1][i] + dxp * data[j - 1][i]) / (dxm + dxp);\n boundaryCnt++;\n }\n\n if(j === 0) {\n // If along the j = 0 boundary, extrpolate this point from the two points\n // above it\n j0 = Math.min(nj - 1, 2);\n x0 = b[j0];\n x1 = b[1];\n d0 = data[j0][i];\n d1 = data[1][i];\n newVal += d1 + (d1 - d0) * (b[0] - x1) / (x1 - x0);\n boundaryCnt++;\n } else if(j === nj - 1) {\n // Same for the max j boundary from the cells below it:\n j0 = Math.max(0, nj - 3);\n x0 = b[j0];\n x1 = b[nj - 2];\n d0 = data[j0][i];\n d1 = data[nj - 2][i];\n newVal += d1 + (d1 - d0) * (b[nj - 1] - x1) / (x1 - x0);\n boundaryCnt++;\n }\n\n if((j === 0 || j === nj - 1) && (i > 0 && i < ni - 1)) {\n // Now average points to the left/right as long as not in a corner:\n dxp = a[i + 1] - a[i];\n dxm = a[i] - a[i - 1];\n newVal += (dxm * data[j][i + 1] + dxp * data[j][i - 1]) / (dxm + dxp);\n boundaryCnt++;\n }\n\n if(!boundaryCnt) {\n // If none of the above conditions were triggered, then this is an interior\n // point and we can just do a laplace equation update. As above, these differences\n // are aware of nonuniform grid spacing:\n dap = a[i + 1] - a[i];\n dam = a[i] - a[i - 1];\n dbp = b[j + 1] - b[j];\n dbm = b[j] - b[j - 1];\n\n // These are just some useful constants for the iteration, which is perfectly\n // straightforward but a little long to derive from f_xx + f_yy = 0.\n c = dap * dam * (dap + dam);\n d = dbp * dbm * (dbp + dbm);\n\n newVal = (c * (dbm * data[j + 1][i] + dbp * data[j - 1][i]) +\n d * (dam * data[j][i + 1] + dap * data[j][i - 1])) /\n (d * (dam + dap) + c * (dbm + dbp));\n } else {\n // If we did have contributions from the boundary conditions, then average\n // the result from the various contributions:\n newVal /= boundaryCnt;\n }\n\n // Jacobi updates are ridiculously slow to converge, so this approach uses a\n // Gauss-seidel iteration which is dramatically faster.\n diff = newVal - data[j][i];\n reldiff = diff / dmax;\n resid += reldiff * reldiff;\n\n // Gauss-Seidel-ish iteration, omega chosen based on heuristics and some\n // quick tests.\n //\n // NB: Don't overrelax the boundarie. Otherwise set an overrelaxation factor\n // which is a little low but safely optimal-ish:\n overrelaxation = boundaryCnt ? 0 : 0.85;\n\n // If there are four non-null neighbors, then we want a simple average without\n // overrelaxation. If all the surrouding points are null, then we want the full\n // overrelaxation\n //\n // Based on experiments, this actually seems to slow down convergence just a bit.\n // I'll leave it here for reference in case this needs to be revisited, but\n // it seems to work just fine without this.\n // if (overrelaxation) overrelaxation *= (4 - neighborCnt) / 4;\n\n data[j][i] += diff * (1 + overrelaxation);\n }\n\n resid = Math.sqrt(resid);\n } while(iter++ < itermax && resid > tol);\n\n Lib.log('Smoother converged to', resid, 'after', iter, 'iterations');\n\n return data;\n};\n\n\n/***/ }),\n\n/***/ \"262a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar resolveException = __webpack_require__(\"84d3\")\n , is = __webpack_require__(\"936a\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\treturn resolveException(value, \"Cannot use %v\", arguments[1]);\n};\n\n\n/***/ }),\n\n/***/ \"2638\":\n/***/ (function(module, exports) {\n\nmodule.exports = create\n\n/**\n * Creates a new, empty vec4\n *\n * @returns {vec4} a new 4D vector\n */\nfunction create () {\n var out = new Float32Array(4)\n out[0] = 0\n out[1] = 0\n out[2] = 0\n out[3] = 0\n return out\n}\n\n\n/***/ }),\n\n/***/ \"265e\":\n/***/ (function(module, exports) {\n\nmodule.exports = copy\n\n/**\n * Copy the values from one vec4 to another\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the source vector\n * @returns {vec4} out\n */\nfunction copy (out, a) {\n out[0] = a[0]\n out[1] = a[1]\n out[2] = a[2]\n out[3] = a[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"26a7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createErrorBars\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"531f\")\n\nvar IDENTITY = [1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\nfunction ErrorBars(gl, buffer, vao, shader) {\n this.gl = gl\n this.shader = shader\n this.buffer = buffer\n this.vao = vao\n this.pixelRatio = 1\n this.bounds = [[ Infinity, Infinity, Infinity], [-Infinity,-Infinity,-Infinity]]\n this.clipBounds = [[-Infinity,-Infinity,-Infinity], [ Infinity, Infinity, Infinity]]\n this.lineWidth = [1,1,1]\n this.capSize = [10,10,10]\n this.lineCount = [0,0,0]\n this.lineOffset = [0,0,0]\n this.opacity = 1\n this.hasAlpha = false\n}\n\nvar proto = ErrorBars.prototype\n\nproto.isOpaque = function() {\n return !this.hasAlpha\n}\n\nproto.isTransparent = function() {\n return this.hasAlpha\n}\n\nproto.drawTransparent = proto.draw = function(cameraParams) {\n var gl = this.gl\n var uniforms = this.shader.uniforms\n\n this.shader.bind()\n var view = uniforms.view = cameraParams.view || IDENTITY\n var projection = uniforms.projection = cameraParams.projection || IDENTITY\n uniforms.model = cameraParams.model || IDENTITY\n uniforms.clipBounds = this.clipBounds\n uniforms.opacity = this.opacity\n\n\n var cx = view[12]\n var cy = view[13]\n var cz = view[14]\n var cw = view[15]\n\n var isOrtho = cameraParams._ortho || false\n var orthoFix = (isOrtho) ? 2 : 1 // double up padding for orthographic ticks & labels\n var pixelScaleF = orthoFix * this.pixelRatio * (projection[3]*cx + projection[7]*cy + projection[11]*cz + projection[15]*cw) / gl.drawingBufferHeight\n\n this.vao.bind()\n for(var i=0; i<3; ++i) {\n gl.lineWidth(this.lineWidth[i] * this.pixelRatio)\n uniforms.capSize = this.capSize[i] * pixelScaleF\n if (this.lineCount[i]) {\n gl.drawArrays(gl.LINES, this.lineOffset[i], this.lineCount[i])\n }\n }\n this.vao.unbind()\n}\n\nfunction updateBounds(bounds, point) {\n for(var i=0; i<3; ++i) {\n bounds[0][i] = Math.min(bounds[0][i], point[i])\n bounds[1][i] = Math.max(bounds[1][i], point[i])\n }\n}\n\nvar FACE_TABLE = (function(){\n var table = new Array(3)\n for(var d=0; d<3; ++d) {\n var row = []\n for(var j=1; j<=2; ++j) {\n for(var s=-1; s<=1; s+=2) {\n var u = (j+d) % 3\n var y = [0,0,0]\n y[u] = s\n row.push(y)\n }\n }\n table[d] = row\n }\n return table\n})()\n\n\nfunction emitFace(verts, x, c, d) {\n var offsets = FACE_TABLE[d]\n for(var i=0; i 0) {\n var x = p.slice()\n x[j] += e[1][j]\n verts.push(p[0], p[1], p[2],\n c[0], c[1], c[2], c[3],\n 0, 0, 0,\n x[0], x[1], x[2],\n c[0], c[1], c[2], c[3],\n 0, 0, 0)\n updateBounds(this.bounds, x)\n vertexCount += 2 + emitFace(verts, x, c, j)\n }\n }\n this.lineCount[j] = vertexCount - this.lineOffset[j]\n }\n this.buffer.update(verts)\n }\n}\n\nproto.dispose = function() {\n this.shader.dispose()\n this.buffer.dispose()\n this.vao.dispose()\n}\n\nfunction createErrorBars(options) {\n var gl = options.gl\n var buffer = createBuffer(gl)\n var vao = createVAO(gl, [\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 0,\n stride: 40\n },\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 4,\n offset: 12,\n stride: 40\n },\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 28,\n stride: 40\n }\n ])\n\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.color.location = 1\n shader.attributes.offset.location = 2\n\n var result = new ErrorBars(gl, buffer, vao, shader)\n result.update(options)\n return result\n}\n\n\n/***/ }),\n\n/***/ \"26cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar pool = __webpack_require__(\"cea5\")\nvar inverse = __webpack_require__(\"f31e\")\n\nfunction rank(permutation) {\n var n = permutation.length\n switch(n) {\n case 0:\n case 1:\n return 0\n case 2:\n return permutation[1]\n default:\n break\n }\n var p = pool.mallocUint32(n)\n var pinv = pool.mallocUint32(n)\n var r = 0, s, t, i\n inverse(permutation, pinv)\n for(i=0; i0; --i) {\n t = pinv[i]\n s = p[i]\n p[i] = p[t]\n p[t] = s\n pinv[i] = pinv[s]\n pinv[s] = t\n r = (r + s) * i\n }\n pool.freeUint32(pinv)\n pool.freeUint32(p)\n return r\n}\n\nfunction unrank(n, r, p) {\n switch(n) {\n case 0:\n if(p) { return p }\n return []\n case 1:\n if(p) {\n p[0] = 0\n return p\n } else {\n return [0]\n }\n case 2:\n if(p) {\n if(r) {\n p[0] = 0\n p[1] = 1\n } else {\n p[0] = 1\n p[1] = 0\n }\n return p\n } else {\n return r ? [0,1] : [1,0]\n }\n default:\n break\n }\n p = p || new Array(n)\n var s, t, i, nf=1\n p[0] = 0\n for(i=1; i0; --i) {\n s = (r / nf)|0\n r = (r - s * nf)|0\n nf = (nf / i)|0\n t = p[i]|0\n p[i] = p[s]|0\n p[s] = t|0\n }\n return p\n}\n\nexports.rank = rank\nexports.unrank = unrank\n\n\n/***/ }),\n\n/***/ \"26d1\":\n/***/ (function(module, exports) {\n\nmodule.exports = transformQuat;\n\n/**\n * Transforms the vec3 with a quat\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {quat} q quaternion to transform with\n * @returns {vec3} out\n */\nfunction transformQuat(out, a, q) {\n // benchmarks: http://jsperf.com/quaternion-transform-vec3-implementations\n\n var x = a[0], y = a[1], z = a[2],\n qx = q[0], qy = q[1], qz = q[2], qw = q[3],\n\n // calculate quat * vec\n ix = qw * x + qy * z - qz * y,\n iy = qw * y + qz * x - qx * z,\n iz = qw * z + qx * y - qy * x,\n iw = -qx * x - qy * y - qz * z\n\n // calculate result * inverse quat\n out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy\n out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz\n out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx\n return out\n}\n\n/***/ }),\n\n/***/ \"26dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar c = __webpack_require__(\"0d59\");\nvar d3 = __webpack_require__(\"6e58\");\nvar gup = __webpack_require__(\"0a3e\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar svgUtil = __webpack_require__(\"0379\");\nvar raiseToTop = __webpack_require__(\"fc26\").raiseToTop;\nvar cancelEeaseColumn = __webpack_require__(\"fc26\").cancelTransition;\nvar prepareData = __webpack_require__(\"8766\");\nvar splitData = __webpack_require__(\"7815\");\nvar Color = __webpack_require__(\"d115\");\n\nmodule.exports = function plot(gd, wrappedTraceHolders) {\n var dynamic = !gd._context.staticPlot;\n\n var table = gd._fullLayout._paper.selectAll('.' + c.cn.table)\n .data(wrappedTraceHolders.map(function(wrappedTraceHolder) {\n var traceHolder = gup.unwrap(wrappedTraceHolder);\n var trace = traceHolder.trace;\n return prepareData(gd, trace);\n }), gup.keyFun);\n\n table.exit().remove();\n\n table.enter()\n .append('g')\n .classed(c.cn.table, true)\n .attr('overflow', 'visible')\n .style('box-sizing', 'content-box')\n .style('position', 'absolute')\n .style('left', 0)\n .style('overflow', 'visible')\n .style('shape-rendering', 'crispEdges')\n .style('pointer-events', 'all');\n\n table\n .attr('width', function(d) {return d.width + d.size.l + d.size.r;})\n .attr('height', function(d) {return d.height + d.size.t + d.size.b;})\n .attr('transform', function(d) {\n return 'translate(' + d.translateX + ',' + d.translateY + ')';\n });\n\n var tableControlView = table.selectAll('.' + c.cn.tableControlView)\n .data(gup.repeat, gup.keyFun);\n\n var cvEnter = tableControlView.enter()\n .append('g')\n .classed(c.cn.tableControlView, true)\n .style('box-sizing', 'content-box');\n if(dynamic) {\n cvEnter\n .on('mousemove', function(d) {\n tableControlView\n .filter(function(dd) {return d === dd;})\n .call(renderScrollbarKit, gd);\n })\n .on('mousewheel', function(d) {\n if(d.scrollbarState.wheeling) return;\n d.scrollbarState.wheeling = true;\n var newY = d.scrollY + d3.event.deltaY;\n var noChange = makeDragRow(gd, tableControlView, null, newY)(d);\n if(!noChange) {\n d3.event.stopPropagation();\n d3.event.preventDefault();\n }\n d.scrollbarState.wheeling = false;\n })\n .call(renderScrollbarKit, gd, true);\n }\n\n tableControlView\n .attr('transform', function(d) {return 'translate(' + d.size.l + ' ' + d.size.t + ')';});\n\n // scrollBackground merely ensures that mouse events are captured even on crazy fast scrollwheeling\n // otherwise rendering glitches may occur\n var scrollBackground = tableControlView.selectAll('.' + c.cn.scrollBackground)\n .data(gup.repeat, gup.keyFun);\n\n scrollBackground.enter()\n .append('rect')\n .classed(c.cn.scrollBackground, true)\n .attr('fill', 'none');\n\n scrollBackground\n .attr('width', function(d) {return d.width;})\n .attr('height', function(d) {return d.height;});\n\n tableControlView.each(function(d) {\n Drawing.setClipUrl(d3.select(this), scrollAreaBottomClipKey(gd, d), gd);\n });\n\n var yColumn = tableControlView.selectAll('.' + c.cn.yColumn)\n .data(function(vm) {return vm.columns;}, gup.keyFun);\n\n yColumn.enter()\n .append('g')\n .classed(c.cn.yColumn, true);\n\n yColumn.exit().remove();\n\n yColumn.attr('transform', function(d) {return 'translate(' + d.x + ' 0)';});\n\n if(dynamic) {\n yColumn.call(d3.behavior.drag()\n .origin(function(d) {\n var movedColumn = d3.select(this);\n easeColumn(movedColumn, d, -c.uplift);\n raiseToTop(this);\n d.calcdata.columnDragInProgress = true;\n renderScrollbarKit(tableControlView.filter(function(dd) {return d.calcdata.key === dd.key;}), gd);\n return d;\n })\n .on('drag', function(d) {\n var movedColumn = d3.select(this);\n var getter = function(dd) {return (d === dd ? d3.event.x : dd.x) + dd.columnWidth / 2;};\n d.x = Math.max(-c.overdrag, Math.min(d.calcdata.width + c.overdrag - d.columnWidth, d3.event.x));\n\n var sortableColumns = flatData(yColumn).filter(function(dd) {return dd.calcdata.key === d.calcdata.key;});\n var newOrder = sortableColumns.sort(function(a, b) {return getter(a) - getter(b);});\n newOrder.forEach(function(dd, i) {\n dd.xIndex = i;\n dd.x = d === dd ? dd.x : dd.xScale(dd);\n });\n\n yColumn.filter(function(dd) {return d !== dd;})\n .transition()\n .ease(c.transitionEase)\n .duration(c.transitionDuration)\n .attr('transform', function(d) {return 'translate(' + d.x + ' 0)';});\n movedColumn\n .call(cancelEeaseColumn)\n .attr('transform', 'translate(' + d.x + ' -' + c.uplift + ' )');\n })\n .on('dragend', function(d) {\n var movedColumn = d3.select(this);\n var p = d.calcdata;\n d.x = d.xScale(d);\n d.calcdata.columnDragInProgress = false;\n easeColumn(movedColumn, d, 0);\n columnMoved(gd, p, p.columns.map(function(dd) {return dd.xIndex;}));\n })\n );\n }\n\n yColumn.each(function(d) {\n Drawing.setClipUrl(d3.select(this), columnBoundaryClipKey(gd, d), gd);\n });\n\n var columnBlock = yColumn.selectAll('.' + c.cn.columnBlock)\n .data(splitData.splitToPanels, gup.keyFun);\n\n columnBlock.enter()\n .append('g')\n .classed(c.cn.columnBlock, true)\n .attr('id', function(d) {return d.key;});\n\n columnBlock\n .style('cursor', function(d) {\n return d.dragHandle ? 'ew-resize' : d.calcdata.scrollbarState.barWiggleRoom ? 'ns-resize' : 'default';\n });\n\n var headerColumnBlock = columnBlock.filter(headerBlock);\n var cellsColumnBlock = columnBlock.filter(cellsBlock);\n\n if(dynamic) {\n cellsColumnBlock.call(d3.behavior.drag()\n .origin(function(d) {\n d3.event.stopPropagation();\n return d;\n })\n .on('drag', makeDragRow(gd, tableControlView, -1))\n .on('dragend', function() {\n // fixme emit plotly notification\n })\n );\n }\n\n // initial rendering: header is rendered first, as it may may have async LaTeX (show header first)\n // but blocks are _entered_ the way they are due to painter's algo (header on top)\n renderColumnCellTree(gd, tableControlView, headerColumnBlock, columnBlock);\n renderColumnCellTree(gd, tableControlView, cellsColumnBlock, columnBlock);\n\n var scrollAreaClip = tableControlView.selectAll('.' + c.cn.scrollAreaClip)\n .data(gup.repeat, gup.keyFun);\n\n scrollAreaClip.enter()\n .append('clipPath')\n .classed(c.cn.scrollAreaClip, true)\n .attr('id', function(d) {return scrollAreaBottomClipKey(gd, d);});\n\n var scrollAreaClipRect = scrollAreaClip.selectAll('.' + c.cn.scrollAreaClipRect)\n .data(gup.repeat, gup.keyFun);\n\n scrollAreaClipRect.enter()\n .append('rect')\n .classed(c.cn.scrollAreaClipRect, true)\n .attr('x', -c.overdrag)\n .attr('y', -c.uplift)\n .attr('fill', 'none');\n\n scrollAreaClipRect\n .attr('width', function(d) {return d.width + 2 * c.overdrag;})\n .attr('height', function(d) {return d.height + c.uplift;});\n\n var columnBoundary = yColumn.selectAll('.' + c.cn.columnBoundary)\n .data(gup.repeat, gup.keyFun);\n\n columnBoundary.enter()\n .append('g')\n .classed(c.cn.columnBoundary, true);\n\n var columnBoundaryClippath = yColumn.selectAll('.' + c.cn.columnBoundaryClippath)\n .data(gup.repeat, gup.keyFun);\n\n // SVG spec doesn't mandate wrapping into a and doesn't seem to cause a speed difference\n columnBoundaryClippath.enter()\n .append('clipPath')\n .classed(c.cn.columnBoundaryClippath, true);\n\n columnBoundaryClippath\n .attr('id', function(d) {return columnBoundaryClipKey(gd, d);});\n\n var columnBoundaryRect = columnBoundaryClippath.selectAll('.' + c.cn.columnBoundaryRect)\n .data(gup.repeat, gup.keyFun);\n\n columnBoundaryRect.enter()\n .append('rect')\n .classed(c.cn.columnBoundaryRect, true)\n .attr('fill', 'none');\n\n columnBoundaryRect\n .attr('width', function(d) { return d.columnWidth + 2 * roundHalfWidth(d); })\n .attr('height', function(d) {return d.calcdata.height + 2 * roundHalfWidth(d) + c.uplift;})\n .attr('x', function(d) { return -roundHalfWidth(d); })\n .attr('y', function(d) { return -roundHalfWidth(d); });\n\n updateBlockYPosition(null, cellsColumnBlock, tableControlView);\n};\n\nfunction roundHalfWidth(d) {\n return Math.ceil(d.calcdata.maxLineWidth / 2);\n}\n\nfunction scrollAreaBottomClipKey(gd, d) {\n return 'clip' + gd._fullLayout._uid + '_scrollAreaBottomClip_' + d.key;\n}\n\nfunction columnBoundaryClipKey(gd, d) {\n return 'clip' + gd._fullLayout._uid + '_columnBoundaryClippath_' + d.calcdata.key + '_' + d.specIndex;\n}\n\nfunction flatData(selection) {\n return [].concat.apply([], selection.map(function(g) {return g;}))\n .map(function(g) {return g.__data__;});\n}\n\nfunction renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {\n function calcTotalHeight(d) {\n var blocks = d.rowBlocks;\n return firstRowAnchor(blocks, blocks.length - 1) + (blocks.length ? rowsHeight(blocks[blocks.length - 1], Infinity) : 1);\n }\n\n var scrollbarKit = tableControlView.selectAll('.' + c.cn.scrollbarKit)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarKit.enter()\n .append('g')\n .classed(c.cn.scrollbarKit, true)\n .style('shape-rendering', 'geometricPrecision');\n\n scrollbarKit\n .each(function(d) {\n var s = d.scrollbarState;\n s.totalHeight = calcTotalHeight(d);\n s.scrollableAreaHeight = d.groupHeight - headerHeight(d);\n s.currentlyVisibleHeight = Math.min(s.totalHeight, s.scrollableAreaHeight);\n s.ratio = s.currentlyVisibleHeight / s.totalHeight;\n s.barLength = Math.max(s.ratio * s.currentlyVisibleHeight, c.goldenRatio * c.scrollbarWidth);\n s.barWiggleRoom = s.currentlyVisibleHeight - s.barLength;\n s.wiggleRoom = Math.max(0, s.totalHeight - s.scrollableAreaHeight);\n s.topY = s.barWiggleRoom === 0 ? 0 : (d.scrollY / s.wiggleRoom) * s.barWiggleRoom;\n s.bottomY = s.topY + s.barLength;\n s.dragMultiplier = s.wiggleRoom / s.barWiggleRoom;\n })\n .attr('transform', function(d) {\n var xPosition = d.width + c.scrollbarWidth / 2 + c.scrollbarOffset;\n return 'translate(' + xPosition + ' ' + headerHeight(d) + ')';\n });\n\n var scrollbar = scrollbarKit.selectAll('.' + c.cn.scrollbar)\n .data(gup.repeat, gup.keyFun);\n\n scrollbar.enter()\n .append('g')\n .classed(c.cn.scrollbar, true);\n\n var scrollbarSlider = scrollbar.selectAll('.' + c.cn.scrollbarSlider)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarSlider.enter()\n .append('g')\n .classed(c.cn.scrollbarSlider, true);\n\n scrollbarSlider\n .attr('transform', function(d) {\n return 'translate(0 ' + (d.scrollbarState.topY || 0) + ')';\n });\n\n var scrollbarGlyph = scrollbarSlider.selectAll('.' + c.cn.scrollbarGlyph)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarGlyph.enter()\n .append('line')\n .classed(c.cn.scrollbarGlyph, true)\n .attr('stroke', 'black')\n .attr('stroke-width', c.scrollbarWidth)\n .attr('stroke-linecap', 'round')\n .attr('y1', c.scrollbarWidth / 2);\n\n scrollbarGlyph\n .attr('y2', function(d) {\n return d.scrollbarState.barLength - c.scrollbarWidth / 2;\n })\n .attr('stroke-opacity', function(d) {\n return d.columnDragInProgress || !d.scrollbarState.barWiggleRoom || bypassVisibleBar ? 0 : 0.4;\n });\n\n // cancel transition: possible pending (also, delayed) transition\n scrollbarGlyph\n .transition().delay(0).duration(0);\n\n scrollbarGlyph\n .transition().delay(c.scrollbarHideDelay).duration(c.scrollbarHideDuration)\n .attr('stroke-opacity', 0);\n\n var scrollbarCaptureZone = scrollbar.selectAll('.' + c.cn.scrollbarCaptureZone)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarCaptureZone.enter()\n .append('line')\n .classed(c.cn.scrollbarCaptureZone, true)\n .attr('stroke', 'white')\n .attr('stroke-opacity', 0.01) // some browser might get rid of a 0 opacity element\n .attr('stroke-width', c.scrollbarCaptureWidth)\n .attr('stroke-linecap', 'butt')\n .attr('y1', 0)\n .on('mousedown', function(d) {\n var y = d3.event.y;\n var bbox = this.getBoundingClientRect();\n var s = d.scrollbarState;\n var pixelVal = y - bbox.top;\n var inverseScale = d3.scale.linear().domain([0, s.scrollableAreaHeight]).range([0, s.totalHeight]).clamp(true);\n if(!(s.topY <= pixelVal && pixelVal <= s.bottomY)) {\n makeDragRow(gd, tableControlView, null, inverseScale(pixelVal - s.barLength / 2))(d);\n }\n })\n .call(d3.behavior.drag()\n .origin(function(d) {\n d3.event.stopPropagation();\n d.scrollbarState.scrollbarScrollInProgress = true;\n return d;\n })\n .on('drag', makeDragRow(gd, tableControlView))\n .on('dragend', function() {\n // fixme emit Plotly event\n })\n );\n\n scrollbarCaptureZone\n .attr('y2', function(d) {\n return d.scrollbarState.scrollableAreaHeight;\n });\n\n // Remove scroll glyph and capture zone on static plots\n // as they don't render properly when converted to PDF\n // in the Chrome PDF viewer\n // https://github.com/plotly/streambed/issues/11618\n if(gd._context.staticPlot) {\n scrollbarGlyph.remove();\n scrollbarCaptureZone.remove();\n }\n}\n\nfunction renderColumnCellTree(gd, tableControlView, columnBlock, allColumnBlock) {\n // fixme this perf hotspot\n // this is performance critical code as scrolling calls it on every revolver switch\n // it appears sufficiently fast but there are plenty of low-hanging fruits for performance optimization\n\n var columnCells = renderColumnCells(columnBlock);\n\n var columnCell = renderColumnCell(columnCells);\n\n supplyStylingValues(columnCell);\n\n var cellRect = renderCellRect(columnCell);\n\n sizeAndStyleRect(cellRect);\n\n var cellTextHolder = renderCellTextHolder(columnCell);\n\n var cellText = renderCellText(cellTextHolder);\n\n setFont(cellText);\n populateCellText(cellText, tableControlView, allColumnBlock, gd);\n\n // doing this at the end when text, and text stlying are set\n setCellHeightAndPositionY(columnCell);\n}\n\nfunction renderColumnCells(columnBlock) {\n var columnCells = columnBlock.selectAll('.' + c.cn.columnCells)\n .data(gup.repeat, gup.keyFun);\n\n columnCells.enter()\n .append('g')\n .classed(c.cn.columnCells, true);\n\n columnCells.exit()\n .remove();\n\n return columnCells;\n}\n\nfunction renderColumnCell(columnCells) {\n var columnCell = columnCells.selectAll('.' + c.cn.columnCell)\n .data(splitData.splitToCells, function(d) {return d.keyWithinBlock;});\n\n columnCell.enter()\n .append('g')\n .classed(c.cn.columnCell, true);\n\n columnCell.exit()\n .remove();\n\n return columnCell;\n}\n\nfunction renderCellRect(columnCell) {\n var cellRect = columnCell.selectAll('.' + c.cn.cellRect)\n .data(gup.repeat, function(d) {return d.keyWithinBlock;});\n\n cellRect.enter()\n .append('rect')\n .classed(c.cn.cellRect, true);\n\n return cellRect;\n}\n\nfunction renderCellText(cellTextHolder) {\n var cellText = cellTextHolder.selectAll('.' + c.cn.cellText)\n .data(gup.repeat, function(d) {return d.keyWithinBlock;});\n\n cellText.enter()\n .append('text')\n .classed(c.cn.cellText, true)\n .style('cursor', function() {return 'auto';})\n .on('mousedown', function() {d3.event.stopPropagation();});\n\n return cellText;\n}\n\nfunction renderCellTextHolder(columnCell) {\n var cellTextHolder = columnCell.selectAll('.' + c.cn.cellTextHolder)\n .data(gup.repeat, function(d) {return d.keyWithinBlock;});\n\n cellTextHolder.enter()\n .append('g')\n .classed(c.cn.cellTextHolder, true)\n .style('shape-rendering', 'geometricPrecision');\n\n return cellTextHolder;\n}\n\nfunction supplyStylingValues(columnCell) {\n columnCell\n .each(function(d, i) {\n var spec = d.calcdata.cells.font;\n var col = d.column.specIndex;\n var font = {\n size: gridPick(spec.size, col, i),\n color: gridPick(spec.color, col, i),\n family: gridPick(spec.family, col, i)\n };\n d.rowNumber = d.key;\n d.align = gridPick(d.calcdata.cells.align, col, i);\n d.cellBorderWidth = gridPick(d.calcdata.cells.line.width, col, i);\n d.font = font;\n });\n}\n\nfunction setFont(cellText) {\n cellText\n .each(function(d) {\n Drawing.font(d3.select(this), d.font);\n });\n}\n\nfunction sizeAndStyleRect(cellRect) {\n cellRect\n .attr('width', function(d) {return d.column.columnWidth;})\n .attr('stroke-width', function(d) {return d.cellBorderWidth;})\n .each(function(d) {\n var atomicSelection = d3.select(this);\n Color.stroke(atomicSelection, gridPick(d.calcdata.cells.line.color, d.column.specIndex, d.rowNumber));\n Color.fill(atomicSelection, gridPick(d.calcdata.cells.fill.color, d.column.specIndex, d.rowNumber));\n });\n}\n\nfunction populateCellText(cellText, tableControlView, allColumnBlock, gd) {\n cellText\n .text(function(d) {\n var col = d.column.specIndex;\n var row = d.rowNumber;\n\n var userSuppliedContent = d.value;\n var stringSupplied = (typeof userSuppliedContent === 'string');\n var hasBreaks = stringSupplied && userSuppliedContent.match(/
/i);\n var userBrokenText = !stringSupplied || hasBreaks;\n d.mayHaveMarkup = stringSupplied && userSuppliedContent.match(/[<&>]/);\n\n var latex = isLatex(userSuppliedContent);\n d.latex = latex;\n\n var prefix = latex ? '' : gridPick(d.calcdata.cells.prefix, col, row) || '';\n var suffix = latex ? '' : gridPick(d.calcdata.cells.suffix, col, row) || '';\n var format = latex ? null : gridPick(d.calcdata.cells.format, col, row) || null;\n\n var prefixSuffixedText = prefix + (format ? d3.format(format)(d.value) : d.value) + suffix;\n\n var hasWrapSplitCharacter;\n d.wrappingNeeded = !d.wrapped && !userBrokenText && !latex && (hasWrapSplitCharacter = hasWrapCharacter(prefixSuffixedText));\n d.cellHeightMayIncrease = hasBreaks || latex || d.mayHaveMarkup || (hasWrapSplitCharacter === void(0) ? hasWrapCharacter(prefixSuffixedText) : hasWrapSplitCharacter);\n d.needsConvertToTspans = d.mayHaveMarkup || d.wrappingNeeded || d.latex;\n\n var textToRender;\n if(d.wrappingNeeded) {\n var hrefPreservedText = c.wrapSplitCharacter === ' ' ? prefixSuffixedText.replace(/ pTop) {\n pages.push(blockIndex);\n }\n pTop += rowsHeight;\n\n // consider this nice final optimization; put it in `for` condition - caveat, currently the\n // block.allRowsHeight relies on being invalidated, so enabling this opt may not be safe\n // if(pages.length > 1) break;\n }\n\n return pages;\n}\n\nfunction updateBlockYPosition(gd, cellsColumnBlock, tableControlView) {\n var d = flatData(cellsColumnBlock)[0];\n if(d === undefined) return;\n var blocks = d.rowBlocks;\n var calcdata = d.calcdata;\n\n var bottom = firstRowAnchor(blocks, blocks.length);\n var scrollHeight = d.calcdata.groupHeight - headerHeight(d);\n var scrollY = calcdata.scrollY = Math.max(0, Math.min(bottom - scrollHeight, calcdata.scrollY));\n\n var pages = findPagesAndCacheHeights(blocks, scrollY, scrollHeight);\n if(pages.length === 1) {\n if(pages[0] === blocks.length - 1) {\n pages.unshift(pages[0] - 1);\n } else {\n pages.push(pages[0] + 1);\n }\n }\n\n // make phased out page jump by 2 while leaving stationary page intact\n if(pages[0] % 2) {\n pages.reverse();\n }\n\n cellsColumnBlock\n .each(function(d, i) {\n // these values will also be needed when a block is translated again due to growing cell height\n d.page = pages[i];\n d.scrollY = scrollY;\n });\n\n cellsColumnBlock\n .attr('transform', function(d) {\n var yTranslate = firstRowAnchor(d.rowBlocks, d.page) - d.scrollY;\n return 'translate(0 ' + yTranslate + ')';\n });\n\n // conditionally rerendering panel 0 and 1\n if(gd) {\n conditionalPanelRerender(gd, tableControlView, cellsColumnBlock, pages, d.prevPages, d, 0);\n conditionalPanelRerender(gd, tableControlView, cellsColumnBlock, pages, d.prevPages, d, 1);\n renderScrollbarKit(tableControlView, gd);\n }\n}\n\nfunction makeDragRow(gd, allTableControlView, optionalMultiplier, optionalPosition) {\n return function dragRow(eventD) {\n // may come from whichever DOM event target: drag, wheel, bar... eventD corresponds to event target\n var d = eventD.calcdata ? eventD.calcdata : eventD;\n var tableControlView = allTableControlView.filter(function(dd) {return d.key === dd.key;});\n var multiplier = optionalMultiplier || d.scrollbarState.dragMultiplier;\n\n var initialScrollY = d.scrollY;\n\n d.scrollY = optionalPosition === void(0) ? d.scrollY + multiplier * d3.event.dy : optionalPosition;\n var cellsColumnBlock = tableControlView.selectAll('.' + c.cn.yColumn).selectAll('.' + c.cn.columnBlock).filter(cellsBlock);\n updateBlockYPosition(gd, cellsColumnBlock, tableControlView);\n\n // return false if we've \"used\" the scroll, ie it did something,\n // so the event shouldn't bubble (if appropriate)\n return d.scrollY === initialScrollY;\n };\n}\n\nfunction conditionalPanelRerender(gd, tableControlView, cellsColumnBlock, pages, prevPages, d, revolverIndex) {\n var shouldComponentUpdate = pages[revolverIndex] !== prevPages[revolverIndex];\n if(shouldComponentUpdate) {\n clearTimeout(d.currentRepaint[revolverIndex]);\n d.currentRepaint[revolverIndex] = setTimeout(function() {\n // setTimeout might lag rendering but yields a smoother scroll, because fast scrolling makes\n // some repaints invisible ie. wasteful (DOM work blocks the main thread)\n var toRerender = cellsColumnBlock.filter(function(d, i) {return i === revolverIndex && pages[i] !== prevPages[i];});\n renderColumnCellTree(gd, tableControlView, toRerender, cellsColumnBlock);\n prevPages[revolverIndex] = pages[revolverIndex];\n });\n }\n}\n\nfunction wrapTextMaker(columnBlock, element, tableControlView, gd) {\n return function wrapText() {\n var cellTextHolder = d3.select(element.parentNode);\n cellTextHolder\n .each(function(d) {\n var fragments = d.fragments;\n cellTextHolder.selectAll('tspan.line').each(function(dd, i) {\n fragments[i].width = this.getComputedTextLength();\n });\n // last element is only for measuring the separator character, so it's ignored:\n var separatorLength = fragments[fragments.length - 1].width;\n var rest = fragments.slice(0, -1);\n var currentRow = [];\n var currentAddition, currentAdditionLength;\n var currentRowLength = 0;\n var rowLengthLimit = d.column.columnWidth - 2 * c.cellPad;\n d.value = '';\n while(rest.length) {\n currentAddition = rest.shift();\n currentAdditionLength = currentAddition.width + separatorLength;\n if(currentRowLength + currentAdditionLength > rowLengthLimit) {\n d.value += currentRow.join(c.wrapSpacer) + c.lineBreaker;\n currentRow = [];\n currentRowLength = 0;\n }\n currentRow.push(currentAddition.text);\n currentRowLength += currentAdditionLength;\n }\n if(currentRowLength) {\n d.value += currentRow.join(c.wrapSpacer);\n }\n d.wrapped = true;\n });\n\n // the pre-wrapped text was rendered only for the text measurements\n cellTextHolder.selectAll('tspan.line').remove();\n\n // resupply text, now wrapped\n populateCellText(cellTextHolder.select('.' + c.cn.cellText), tableControlView, columnBlock, gd);\n d3.select(element.parentNode.parentNode).call(setCellHeightAndPositionY);\n };\n}\n\nfunction updateYPositionMaker(columnBlock, element, tableControlView, gd, d) {\n return function updateYPosition() {\n if(d.settledY) return;\n var cellTextHolder = d3.select(element.parentNode);\n var l = getBlock(d);\n var rowIndex = d.key - l.firstRowIndex;\n\n var declaredRowHeight = l.rows[rowIndex].rowHeight;\n\n var requiredHeight = d.cellHeightMayIncrease ? element.parentNode.getBoundingClientRect().height + 2 * c.cellPad : declaredRowHeight;\n\n var finalHeight = Math.max(requiredHeight, declaredRowHeight);\n var increase = finalHeight - l.rows[rowIndex].rowHeight;\n\n if(increase) {\n // current row height increased\n l.rows[rowIndex].rowHeight = finalHeight;\n\n columnBlock\n .selectAll('.' + c.cn.columnCell)\n .call(setCellHeightAndPositionY);\n\n updateBlockYPosition(null, columnBlock.filter(cellsBlock), 0);\n\n // if d.column.type === 'header', then the scrollbar has to be pushed downward to the scrollable area\n // if d.column.type === 'cells', it can still be relevant if total scrolling content height is less than the\n // scrollable window, as increases to row heights may need scrollbar updates\n renderScrollbarKit(tableControlView, gd, true);\n }\n\n cellTextHolder\n .attr('transform', function() {\n // this code block is only invoked for items where d.cellHeightMayIncrease is truthy\n var element = this;\n var columnCellElement = element.parentNode;\n var box = columnCellElement.getBoundingClientRect();\n var rectBox = d3.select(element.parentNode).select('.' + c.cn.cellRect).node().getBoundingClientRect();\n var currentTransform = element.transform.baseVal.consolidate();\n var yPosition = rectBox.top - box.top + (currentTransform ? currentTransform.matrix.f : c.cellPad);\n return 'translate(' + xPosition(d, d3.select(element.parentNode).select('.' + c.cn.cellTextHolder).node().getBoundingClientRect().width) + ' ' + yPosition + ')';\n });\n\n d.settledY = true;\n };\n}\n\nfunction xPosition(d, optionalWidth) {\n switch(d.align) {\n case 'left': return c.cellPad;\n case 'right': return d.column.columnWidth - (optionalWidth || 0) - c.cellPad;\n case 'center': return (d.column.columnWidth - (optionalWidth || 0)) / 2;\n default: return c.cellPad;\n }\n}\n\nfunction setCellHeightAndPositionY(columnCell) {\n columnCell\n .attr('transform', function(d) {\n var headerHeight = d.rowBlocks[0].auxiliaryBlocks.reduce(function(p, n) {return p + rowsHeight(n, Infinity);}, 0);\n var l = getBlock(d);\n var rowAnchor = rowsHeight(l, d.key);\n var yOffset = rowAnchor + headerHeight;\n return 'translate(0 ' + yOffset + ')';\n })\n .selectAll('.' + c.cn.cellRect)\n .attr('height', function(d) {return getRow(getBlock(d), d.key).rowHeight;});\n}\n\nfunction firstRowAnchor(blocks, page) {\n var total = 0;\n for(var i = page - 1; i >= 0; i--) {\n total += allRowsHeight(blocks[i]);\n }\n return total;\n}\n\nfunction rowsHeight(rowBlock, key) {\n var total = 0;\n for(var i = 0; i < rowBlock.rows.length && rowBlock.rows[i].rowIndex < key; i++) {\n total += rowBlock.rows[i].rowHeight;\n }\n return total;\n}\n\nfunction allRowsHeight(rowBlock) {\n var cached = rowBlock.allRowsHeight;\n\n if(cached !== void(0)) {\n return cached;\n }\n\n var total = 0;\n for(var i = 0; i < rowBlock.rows.length; i++) {\n total += rowBlock.rows[i].rowHeight;\n }\n rowBlock.allRowsHeight = total;\n\n return total;\n}\n\nfunction getBlock(d) {return d.rowBlocks[d.page];}\nfunction getRow(l, i) {return l.rows[i - l.firstRowIndex];}\n\n\n/***/ }),\n\n/***/ \"26e4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar scatterGlAttrs = __webpack_require__(\"c20e\");\nvar cartesianIdRegex = __webpack_require__(\"d301\").idRegex;\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nvar markerLineAttrs = extendFlat(colorScaleAttrs('marker.line', {editTypeOverride: 'calc'}), {\n width: extendFlat({}, scatterMarkerLineAttrs.width, {editType: 'calc'}),\n editType: 'calc'\n});\n\nvar markerAttrs = extendFlat(colorScaleAttrs('marker'), {\n symbol: scatterMarkerAttrs.symbol,\n size: extendFlat({}, scatterMarkerAttrs.size, {editType: 'markerSize'}),\n sizeref: scatterMarkerAttrs.sizeref,\n sizemin: scatterMarkerAttrs.sizemin,\n sizemode: scatterMarkerAttrs.sizemode,\n opacity: scatterMarkerAttrs.opacity,\n colorbar: scatterMarkerAttrs.colorbar,\n line: markerLineAttrs,\n editType: 'calc'\n});\n\nmarkerAttrs.color.editType = markerAttrs.cmin.editType = markerAttrs.cmax.editType = 'style';\n\nfunction makeAxesValObject(axLetter) {\n return {\n valType: 'info_array',\n freeLength: true,\n \n editType: 'calc',\n items: {\n valType: 'subplotid',\n regex: cartesianIdRegex[axLetter],\n editType: 'plot'\n },\n \n };\n}\n\nmodule.exports = {\n dimensions: templatedArray('dimension', {\n visible: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n label: {\n valType: 'string',\n \n editType: 'calc',\n \n },\n values: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n axis: {\n type: {\n valType: 'enumerated',\n values: ['linear', 'log', 'date', 'category'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n // TODO make 'true' the default in v2?\n matches: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n\n editType: 'calc+clearAxisTypes'\n },\n\n // TODO should add an attribute to pin down x only vars and y only vars\n // like https://seaborn.pydata.org/generated/seaborn.pairplot.html\n // x_vars and y_vars\n\n // maybe more axis defaulting option e.g. `showgrid: false`\n\n editType: 'calc+clearAxisTypes'\n }),\n\n // mode: {}, (only 'markers' for now)\n\n text: extendFlat({}, scatterGlAttrs.text, {\n \n }),\n hovertext: extendFlat({}, scatterGlAttrs.hovertext, {\n \n }),\n\n hovertemplate: hovertemplateAttrs(),\n\n marker: markerAttrs,\n\n xaxes: makeAxesValObject('x'),\n yaxes: makeAxesValObject('y'),\n\n diagonal: {\n visible: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n\n // type: 'scattergl' | 'histogram' | 'box' | 'violin'\n // ...\n // more options\n\n editType: 'calc'\n },\n\n showupperhalf: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n showlowerhalf: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n\n selected: {\n marker: scatterGlAttrs.selected.marker,\n editType: 'calc'\n },\n unselected: {\n marker: scatterGlAttrs.unselected.marker,\n editType: 'calc'\n },\n\n opacity: scatterGlAttrs.opacity\n};\n\n\n/***/ }),\n\n/***/ \"2705\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar constants = __webpack_require__(\"de69\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleLineShapeDefaults = __webpack_require__(\"eb07\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\n\nvar attributes = __webpack_require__(\"5aae\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n coerce('carpet');\n\n // XXX: Don't hard code this\n traceOut.xaxis = 'x';\n traceOut.yaxis = 'y';\n\n var a = coerce('a');\n var b = coerce('b');\n var len = Math.min(a.length, b.length);\n\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n coerce('text');\n coerce('texttemplate');\n coerce('hovertext');\n\n var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines';\n coerce('mode', defaultMode);\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n handleLineShapeDefaults(traceIn, traceOut, coerce);\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true});\n }\n\n if(subTypes.hasText(traceOut)) {\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var dfltHoverOn = [];\n\n if(subTypes.hasMarkers(traceOut) || subTypes.hasText(traceOut)) {\n coerce('marker.maxdisplayed');\n dfltHoverOn.push('points');\n }\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);\n }\n\n if(traceOut.fill === 'tonext' || traceOut.fill === 'toself') {\n dfltHoverOn.push('fills');\n }\n\n var hoverOn = coerce('hoveron', dfltHoverOn.join('+') || 'points');\n if(hoverOn !== 'fills') coerce('hovertemplate');\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\n\n/***/ }),\n\n/***/ \"2781\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"0e9a\");\n\n\n/***/ }),\n\n/***/ \"27a4\":\n/***/ (function(module, exports) {\n\nmodule.exports = cross;\n\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nfunction cross(out, a, b) {\n var ax = a[0], ay = a[1], az = a[2],\n bx = b[0], by = b[1], bz = b[2]\n\n out[0] = ay * bz - az * by\n out[1] = az * bx - ax * bz\n out[2] = ax * by - ay * bx\n return out\n}\n\n/***/ }),\n\n/***/ \"27c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar helpers = __webpack_require__(\"50da\");\nvar attributes = __webpack_require__(\"c20e\");\nvar constants = __webpack_require__(\"de69\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleXYDefaults = __webpack_require__(\"076f\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var isOpen = traceIn.marker ? helpers.isOpenSymbol(traceIn.marker.symbol) : false;\n var isBubble = subTypes.isBubble(traceIn);\n\n var len = handleXYDefaults(traceIn, traceOut, layout, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines';\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n coerce('mode', defaultMode);\n\n if(subTypes.hasLines(traceOut)) {\n coerce('connectgaps');\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n coerce('line.shape');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n coerce('marker.line.width', isOpen || isBubble ? 1 : 0);\n }\n\n if(subTypes.hasText(traceOut)) {\n coerce('texttemplate');\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var lineColor = (traceOut.line || {}).color;\n var markerColor = (traceOut.marker || {}).color;\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n }\n\n var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'y'});\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'x', inherit: 'y'});\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\n\n/***/ }),\n\n/***/ \"27e3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar layoutAttributes = __webpack_require__(\"d798\");\n\n\n/**\n * options: inherits outerTicks from axes.handleAxisDefaults\n */\nmodule.exports = function handleTickDefaults(containerIn, containerOut, coerce, options) {\n var tickLen = Lib.coerce2(containerIn, containerOut, layoutAttributes, 'ticklen');\n var tickWidth = Lib.coerce2(containerIn, containerOut, layoutAttributes, 'tickwidth');\n var tickColor = Lib.coerce2(containerIn, containerOut, layoutAttributes, 'tickcolor', containerOut.color);\n var showTicks = coerce('ticks', (options.outerTicks || tickLen || tickWidth || tickColor) ? 'outside' : '');\n\n if(!showTicks) {\n delete containerOut.ticklen;\n delete containerOut.tickwidth;\n delete containerOut.tickcolor;\n }\n};\n\n\n/***/ }),\n\n/***/ \"283e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createLines\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar shaders = __webpack_require__(\"b44d\")\n\nfunction Lines(plot, vbo, shader) {\n this.plot = plot\n this.vbo = vbo\n this.shader = shader\n}\n\nvar proto = Lines.prototype\n\nproto.bind = function() {\n var shader = this.shader\n this.vbo.bind()\n this.shader.bind()\n shader.attributes.coord.pointer()\n shader.uniforms.screenBox = this.plot.screenBox\n}\n\nproto.drawLine = (function() {\n var start = [0,0]\n var end = [0,0]\n return function(startX, startY, endX, endY, width, color) {\n var plot = this.plot\n var shader = this.shader\n var gl = plot.gl\n\n start[0] = startX\n start[1] = startY\n end[0] = endX\n end[1] = endY\n\n shader.uniforms.start = start\n shader.uniforms.end = end\n shader.uniforms.width = width * plot.pixelRatio\n shader.uniforms.color = color\n\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)\n }\n}())\n\nproto.dispose = function() {\n this.vbo.dispose()\n this.shader.dispose()\n}\n\nfunction createLines(plot) {\n var gl = plot.gl\n var vbo = createBuffer(gl, [\n -1,-1,\n -1,1,\n 1,-1,\n 1,1])\n var shader = createShader(gl, shaders.lineVert, shaders.lineFrag)\n var lines = new Lines(plot, vbo, shader)\n return lines\n}\n\n\n/***/ }),\n\n/***/ \"28a0\":\n/***/ (function(module, exports) {\n\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n/***/ }),\n\n/***/ \"28dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createUniformWrapper = __webpack_require__(\"d064b\")\nvar createAttributeWrapper = __webpack_require__(\"7e91\")\nvar makeReflect = __webpack_require__(\"eb73\")\nvar shaderCache = __webpack_require__(\"22b4\")\nvar runtime = __webpack_require__(\"d41a\")\nvar GLError = __webpack_require__(\"a3fd\")\n\n//Shader object\nfunction Shader(gl) {\n this.gl = gl\n this.gl.lastAttribCount = 0 // fixme where else should we store info, safe but not nice on the gl object\n\n //Default initialize these to null\n this._vref =\n this._fref =\n this._relink =\n this.vertShader =\n this.fragShader =\n this.program =\n this.attributes =\n this.uniforms =\n this.types = null\n}\n\nvar proto = Shader.prototype\n\nproto.bind = function() {\n if(!this.program) {\n this._relink()\n }\n\n // ensuring that we have the right number of enabled vertex attributes\n var i\n var newAttribCount = this.gl.getProgramParameter(this.program, this.gl.ACTIVE_ATTRIBUTES) // more robust approach\n //var newAttribCount = Object.keys(this.attributes).length // avoids the probably immaterial introspection slowdown\n var oldAttribCount = this.gl.lastAttribCount\n if(newAttribCount > oldAttribCount) {\n for(i = oldAttribCount; i < newAttribCount; i++) {\n this.gl.enableVertexAttribArray(i)\n }\n } else if(oldAttribCount > newAttribCount) {\n for(i = newAttribCount; i < oldAttribCount; i++) {\n this.gl.disableVertexAttribArray(i)\n }\n }\n\n this.gl.lastAttribCount = newAttribCount\n\n this.gl.useProgram(this.program)\n}\n\nproto.dispose = function() {\n\n // disabling vertex attributes so new shader starts with zero\n // and it's also useful if all shaders are disposed but the\n // gl context is reused for subsequent replotting\n var oldAttribCount = this.gl.lastAttribCount\n for (var i = 0; i < oldAttribCount; i++) {\n this.gl.disableVertexAttribArray(i)\n }\n this.gl.lastAttribCount = 0\n\n if(this._fref) {\n this._fref.dispose()\n }\n if(this._vref) {\n this._vref.dispose()\n }\n this.attributes =\n this.types =\n this.vertShader =\n this.fragShader =\n this.program =\n this._relink =\n this._fref =\n this._vref = null\n}\n\nfunction compareAttributes(a, b) {\n if(a.name < b.name) {\n return -1\n }\n return 1\n}\n\n//Update export hook for glslify-live\nproto.update = function(\n vertSource\n , fragSource\n , uniforms\n , attributes) {\n\n //If only one object passed, assume glslify style output\n if(!fragSource || arguments.length === 1) {\n var obj = vertSource\n vertSource = obj.vertex\n fragSource = obj.fragment\n uniforms = obj.uniforms\n attributes = obj.attributes\n }\n\n var wrapper = this\n var gl = wrapper.gl\n\n //Compile vertex and fragment shaders\n var pvref = wrapper._vref\n wrapper._vref = shaderCache.shader(gl, gl.VERTEX_SHADER, vertSource)\n if(pvref) {\n pvref.dispose()\n }\n wrapper.vertShader = wrapper._vref.shader\n var pfref = this._fref\n wrapper._fref = shaderCache.shader(gl, gl.FRAGMENT_SHADER, fragSource)\n if(pfref) {\n pfref.dispose()\n }\n wrapper.fragShader = wrapper._fref.shader\n\n //If uniforms/attributes is not specified, use RT reflection\n if(!uniforms || !attributes) {\n\n //Create initial test program\n var testProgram = gl.createProgram()\n gl.attachShader(testProgram, wrapper.fragShader)\n gl.attachShader(testProgram, wrapper.vertShader)\n gl.linkProgram(testProgram)\n if(!gl.getProgramParameter(testProgram, gl.LINK_STATUS)) {\n var errLog = gl.getProgramInfoLog(testProgram)\n throw new GLError(errLog, 'Error linking program:' + errLog)\n }\n\n //Load data from runtime\n uniforms = uniforms || runtime.uniforms(gl, testProgram)\n attributes = attributes || runtime.attributes(gl, testProgram)\n\n //Release test program\n gl.deleteProgram(testProgram)\n }\n\n //Sort attributes lexicographically\n // overrides undefined WebGL behavior for attribute locations\n attributes = attributes.slice()\n attributes.sort(compareAttributes)\n\n //Convert attribute types, read out locations\n var attributeUnpacked = []\n var attributeNames = []\n var attributeLocations = []\n var i\n for(i=0; i= 0) {\n var size = attr.type.charAt(attr.type.length-1)|0\n var locVector = new Array(size)\n for(var j=0; j= 0) {\n curLocation += 1\n }\n attributeLocations[i] = curLocation\n }\n }\n\n //Rebuild program and recompute all uniform locations\n var uniformLocations = new Array(uniforms.length)\n function relink() {\n wrapper.program = shaderCache.program(\n gl\n , wrapper._vref\n , wrapper._fref\n , attributeNames\n , attributeLocations)\n\n for(var i=0; i maxNorm) {\n\t\t\tmaxNorm = vec3.length(u);\n\t\t}\n\t\tif (i) {\n\t\t\t// Find vector scale [w/ units of time] using \"successive\" positions\n\t\t\t// (not \"adjacent\" with would be O(n^2)),\n\t\t\t//\n\t\t\t// The vector scale corresponds to the minimum \"time\" to travel across two\n\t\t\t// two adjacent positions at the average velocity of those two adjacent positions\n\n\t\t\tvar q = (2 * vec3.distance(p2, p) / (vec3.length(u2) + vec3.length(u)));\n\t\t\tif(q) {\n\t\t\t\tvectorScale = Math.min(vectorScale, q);\n\t\t\t\tskipIt = false;\n\t\t\t} else {\n\t\t\t\tskipIt = true;\n\t\t\t}\n\t\t}\n\t\tif(!skipIt) {\n\t\t\tp2 = p;\n\t\t\tu2 = u;\n\t\t}\n\t\tpositionVectors.push(u);\n\t}\n\tvar minV = [minX, minY, minZ];\n\tvar maxV = [maxX, maxY, maxZ];\n\tif (bounds) {\n\t\tbounds[0] = minV;\n\t\tbounds[1] = maxV;\n\t}\n\tif (maxNorm === 0) {\n\t\tmaxNorm = 1;\n\t}\n\n\t// Inverted max norm would map vector with norm maxNorm to 1 coord space units in length\n\tvar invertedMaxNorm = 1 / maxNorm;\n\n\tif (!isFinite(vectorScale)) {\n\t\tvectorScale = 1.0;\n\t}\n\tgeo.vectorScale = vectorScale;\n\n\tvar coneScale = vectorfield.coneSize || 0.5;\n\n\tif (vectorfield.absoluteConeSize) {\n\t\tconeScale = vectorfield.absoluteConeSize * invertedMaxNorm;\n\t}\n\n\tgeo.coneScale = coneScale;\n\n\t// Build the cone model.\n\tfor (var i = 0, j = 0; i < positions.length; i++) {\n\t\tvar p = positions[i];\n\t\tvar x = p[0], y = p[1], z = p[2];\n\t\tvar d = positionVectors[i];\n\t\tvar intensity = vec3.length(d) * invertedMaxNorm;\n\t\tfor (var k = 0, l = 8; k < l; k++) {\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\n\t\t\tgeo.vertexIntensity.push(intensity, intensity, intensity);\n\t\t\tgeo.vertexIntensity.push(intensity, intensity, intensity);\n\n\t\t\tvar m = geo.positions.length;\n\t\t\tgeo.cells.push([m-6, m-5, m-4], [m-3, m-2, m-1]);\n\t\t}\n\t}\n\n\treturn geo;\n};\n\nvar shaders = __webpack_require__(\"f280\");\nmodule.exports.createMesh = __webpack_require__(\"6b3c\");\nmodule.exports.createConeMesh = function(gl, params) {\n\treturn module.exports.createMesh(gl, params, {\n\t\tshaders: shaders,\n\t\ttraceType: 'cone'\n\t});\n}\n\n\n/***/ }),\n\n/***/ \"2969f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nexports.getDimIndex = function getDimIndex(trace, ax) {\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var ind = {x: 0, y: 1}[axLetter];\n var visibleDims = trace._visibleDims;\n\n for(var k = 0; k < visibleDims.length; k++) {\n var i = visibleDims[k];\n if(trace._diag[i][ind] === axId) return k;\n }\n return false;\n};\n\n\n/***/ }),\n\n/***/ \"296e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n// for automatic alignment on dragging, <1/3 means left align,\n// >2/3 means right, and between is center. Pick the right fraction\n// based on where you are, and return the fraction corresponding to\n// that position on the object\nmodule.exports = function align(v, dv, v0, v1, anchor) {\n var vmin = (v - v0) / (v1 - v0);\n var vmax = vmin + dv / (v1 - v0);\n var vc = (vmin + vmax) / 2;\n\n // explicitly specified anchor\n if(anchor === 'left' || anchor === 'bottom') return vmin;\n if(anchor === 'center' || anchor === 'middle') return vc;\n if(anchor === 'right' || anchor === 'top') return vmax;\n\n // automatic based on position\n if(vmin < (2 / 3) - vc) return vmin;\n if(vmax > (4 / 3) - vc) return vmax;\n return vc;\n};\n\n\n/***/ }),\n\n/***/ \"299d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar createScatter = __webpack_require__(\"96e3\");\nvar createLine = __webpack_require__(\"e8ee\");\nvar createError = __webpack_require__(\"b113\");\nvar Text = __webpack_require__(\"ad68\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar prepareRegl = __webpack_require__(\"cf42\");\n\nvar subTypes = __webpack_require__(\"de81\");\nvar linkTraces = __webpack_require__(\"00bd\");\n\nvar styleTextSelection = __webpack_require__(\"e38a\").styleTextSelection;\n\nfunction getViewport(fullLayout, xaxis, yaxis) {\n var gs = fullLayout._size;\n var width = fullLayout.width;\n var height = fullLayout.height;\n return [\n gs.l + xaxis.domain[0] * gs.w,\n gs.b + yaxis.domain[0] * gs.h,\n (width - gs.r) - (1 - xaxis.domain[1]) * gs.w,\n (height - gs.t) - (1 - yaxis.domain[1]) * gs.h\n ];\n}\n\nmodule.exports = function plot(gd, subplot, cdata) {\n if(!cdata.length) return;\n\n var fullLayout = gd._fullLayout;\n var scene = subplot._scene;\n var xaxis = subplot.xaxis;\n var yaxis = subplot.yaxis;\n var i, j;\n\n // we may have more subplots than initialized data due to Axes.getSubplots method\n if(!scene) return;\n\n var success = prepareRegl(gd, ['ANGLE_instanced_arrays', 'OES_element_index_uint']);\n if(!success) {\n scene.init();\n return;\n }\n\n var count = scene.count;\n var regl = fullLayout._glcanvas.data()[0].regl;\n\n // that is needed for fills\n linkTraces(gd, subplot, cdata);\n\n if(scene.dirty) {\n // make sure scenes are created\n if(scene.error2d === true) {\n scene.error2d = createError(regl);\n }\n if(scene.line2d === true) {\n scene.line2d = createLine(regl);\n }\n if(scene.scatter2d === true) {\n scene.scatter2d = createScatter(regl);\n }\n if(scene.fill2d === true) {\n scene.fill2d = createLine(regl);\n }\n if(scene.glText === true) {\n scene.glText = new Array(count);\n for(i = 0; i < count; i++) {\n scene.glText[i] = new Text(regl);\n }\n }\n\n // update main marker options\n if(scene.glText) {\n if(count > scene.glText.length) {\n // add gl text marker\n var textsToAdd = count - scene.glText.length;\n for(i = 0; i < textsToAdd; i++) {\n scene.glText.push(new Text(regl));\n }\n } else if(count < scene.glText.length) {\n // remove gl text marker\n var textsToRemove = scene.glText.length - count;\n var removedTexts = scene.glText.splice(count, textsToRemove);\n removedTexts.forEach(function(text) { text.destroy(); });\n }\n\n for(i = 0; i < count; i++) {\n scene.glText[i].update(scene.textOptions[i]);\n }\n }\n if(scene.line2d) {\n scene.line2d.update(scene.lineOptions);\n scene.lineOptions = scene.lineOptions.map(function(lineOptions) {\n if(lineOptions && lineOptions.positions) {\n var srcPos = lineOptions.positions;\n\n var firstptdef = 0;\n while(firstptdef < srcPos.length && (isNaN(srcPos[firstptdef]) || isNaN(srcPos[firstptdef + 1]))) {\n firstptdef += 2;\n }\n var lastptdef = srcPos.length - 2;\n while(lastptdef > firstptdef && (isNaN(srcPos[lastptdef]) || isNaN(srcPos[lastptdef + 1]))) {\n lastptdef -= 2;\n }\n lineOptions.positions = srcPos.slice(firstptdef, lastptdef + 2);\n }\n return lineOptions;\n });\n scene.line2d.update(scene.lineOptions);\n }\n if(scene.error2d) {\n var errorBatch = (scene.errorXOptions || []).concat(scene.errorYOptions || []);\n scene.error2d.update(errorBatch);\n }\n if(scene.scatter2d) {\n scene.scatter2d.update(scene.markerOptions);\n }\n\n // fill requires linked traces, so we generate it's positions here\n scene.fillOrder = Lib.repeat(null, count);\n if(scene.fill2d) {\n scene.fillOptions = scene.fillOptions.map(function(fillOptions, i) {\n var cdscatter = cdata[i];\n if(!fillOptions || !cdscatter || !cdscatter[0] || !cdscatter[0].trace) return;\n var cd = cdscatter[0];\n var trace = cd.trace;\n var stash = cd.t;\n var lineOptions = scene.lineOptions[i];\n var last, j;\n\n var fillData = [];\n if(trace._ownfill) fillData.push(i);\n if(trace._nexttrace) fillData.push(i + 1);\n if(fillData.length) scene.fillOrder[i] = fillData;\n\n var pos = [];\n var srcPos = (lineOptions && lineOptions.positions) || stash.positions;\n var firstptdef, lastptdef;\n\n if(trace.fill === 'tozeroy') {\n firstptdef = 0;\n while(firstptdef < srcPos.length && isNaN(srcPos[firstptdef + 1])) {\n firstptdef += 2;\n }\n lastptdef = srcPos.length - 2;\n while(lastptdef > firstptdef && isNaN(srcPos[lastptdef + 1])) {\n lastptdef -= 2;\n }\n if(srcPos[firstptdef + 1] !== 0) {\n pos = [srcPos[firstptdef], 0];\n }\n pos = pos.concat(srcPos.slice(firstptdef, lastptdef + 2));\n if(srcPos[lastptdef + 1] !== 0) {\n pos = pos.concat([srcPos[lastptdef], 0]);\n }\n } else if(trace.fill === 'tozerox') {\n firstptdef = 0;\n while(firstptdef < srcPos.length && isNaN(srcPos[firstptdef])) {\n firstptdef += 2;\n }\n lastptdef = srcPos.length - 2;\n while(lastptdef > firstptdef && isNaN(srcPos[lastptdef])) {\n lastptdef -= 2;\n }\n if(srcPos[firstptdef] !== 0) {\n pos = [0, srcPos[firstptdef + 1]];\n }\n pos = pos.concat(srcPos.slice(firstptdef, lastptdef + 2));\n if(srcPos[lastptdef] !== 0) {\n pos = pos.concat([ 0, srcPos[lastptdef + 1]]);\n }\n } else if(trace.fill === 'toself' || trace.fill === 'tonext') {\n pos = [];\n last = 0;\n for(j = 0; j < srcPos.length; j += 2) {\n if(isNaN(srcPos[j]) || isNaN(srcPos[j + 1])) {\n pos = pos.concat(srcPos.slice(last, j));\n pos.push(srcPos[last], srcPos[last + 1]);\n last = j + 2;\n }\n }\n pos = pos.concat(srcPos.slice(last));\n if(last) {\n pos.push(srcPos[last], srcPos[last + 1]);\n }\n } else {\n var nextTrace = trace._nexttrace;\n\n if(nextTrace) {\n var nextOptions = scene.lineOptions[i + 1];\n\n if(nextOptions) {\n var nextPos = nextOptions.positions;\n if(trace.fill === 'tonexty') {\n pos = srcPos.slice();\n\n for(i = Math.floor(nextPos.length / 2); i--;) {\n var xx = nextPos[i * 2];\n var yy = nextPos[i * 2 + 1];\n if(isNaN(xx) || isNaN(yy)) continue;\n pos.push(xx, yy);\n }\n fillOptions.fill = nextTrace.fillcolor;\n }\n }\n }\n }\n\n // detect prev trace positions to exclude from current fill\n if(trace._prevtrace && trace._prevtrace.fill === 'tonext') {\n var prevLinePos = scene.lineOptions[i - 1].positions;\n\n // FIXME: likely this logic should be tested better\n var offset = pos.length / 2;\n last = offset;\n var hole = [last];\n for(j = 0; j < prevLinePos.length; j += 2) {\n if(isNaN(prevLinePos[j]) || isNaN(prevLinePos[j + 1])) {\n hole.push(j / 2 + offset + 1);\n last = j + 2;\n }\n }\n\n pos = pos.concat(prevLinePos);\n fillOptions.hole = hole;\n }\n fillOptions.fillmode = trace.fill;\n fillOptions.opacity = trace.opacity;\n fillOptions.positions = pos;\n\n return fillOptions;\n });\n\n scene.fill2d.update(scene.fillOptions);\n }\n }\n\n // form batch arrays, and check for selected points\n var dragmode = fullLayout.dragmode;\n var selectMode = dragmode === 'lasso' || dragmode === 'select';\n var clickSelectEnabled = fullLayout.clickmode.indexOf('select') > -1;\n\n for(i = 0; i < count; i++) {\n var cd0 = cdata[i][0];\n var trace = cd0.trace;\n var stash = cd0.t;\n var index = stash.index;\n var len = trace._length;\n var x = stash.x;\n var y = stash.y;\n\n if(trace.selectedpoints || selectMode || clickSelectEnabled) {\n if(!selectMode) selectMode = true;\n\n // regenerate scene batch, if traces number changed during selection\n if(trace.selectedpoints) {\n var selPts = scene.selectBatch[index] = Lib.selIndices2selPoints(trace);\n\n var selDict = {};\n for(j = 0; j < selPts.length; j++) {\n selDict[selPts[j]] = 1;\n }\n var unselPts = [];\n for(j = 0; j < len; j++) {\n if(!selDict[j]) unselPts.push(j);\n }\n scene.unselectBatch[index] = unselPts;\n }\n\n // precalculate px coords since we are not going to pan during select\n // TODO, could do better here e.g.\n // - spin that in a webworker\n // - compute selection from polygons in data coordinates\n // (maybe just for linear axes)\n var xpx = stash.xpx = new Array(len);\n var ypx = stash.ypx = new Array(len);\n for(j = 0; j < len; j++) {\n xpx[j] = xaxis.c2p(x[j]);\n ypx[j] = yaxis.c2p(y[j]);\n }\n } else {\n stash.xpx = stash.ypx = null;\n }\n }\n\n if(selectMode) {\n // create scatter instance by cloning scatter2d\n if(!scene.select2d) {\n scene.select2d = createScatter(fullLayout._glcanvas.data()[1].regl);\n }\n\n // use unselected styles on 'context' canvas\n if(scene.scatter2d) {\n var unselOpts = new Array(count);\n for(i = 0; i < count; i++) {\n unselOpts[i] = scene.selectBatch[i].length || scene.unselectBatch[i].length ?\n scene.markerUnselectedOptions[i] :\n {};\n }\n scene.scatter2d.update(unselOpts);\n }\n\n // use selected style on 'focus' canvas\n if(scene.select2d) {\n scene.select2d.update(scene.markerOptions);\n scene.select2d.update(scene.markerSelectedOptions);\n }\n\n if(scene.glText) {\n cdata.forEach(function(cdscatter) {\n var trace = ((cdscatter || [])[0] || {}).trace || {};\n if(subTypes.hasText(trace)) {\n styleTextSelection(cdscatter);\n }\n });\n }\n } else {\n // reset 'context' scatter2d opts to base opts,\n // thus unsetting markerUnselectedOptions from selection\n if(scene.scatter2d) {\n scene.scatter2d.update(scene.markerOptions);\n }\n }\n\n // provide viewport and range\n var vpRange0 = {\n viewport: getViewport(fullLayout, xaxis, yaxis),\n // TODO do we need those fallbacks?\n range: [\n (xaxis._rl || xaxis.range)[0],\n (yaxis._rl || yaxis.range)[0],\n (xaxis._rl || xaxis.range)[1],\n (yaxis._rl || yaxis.range)[1]\n ]\n };\n var vpRange = Lib.repeat(vpRange0, scene.count);\n\n // upload viewport/range data to GPU\n if(scene.fill2d) {\n scene.fill2d.update(vpRange);\n }\n if(scene.line2d) {\n scene.line2d.update(vpRange);\n }\n if(scene.error2d) {\n scene.error2d.update(vpRange.concat(vpRange));\n }\n if(scene.scatter2d) {\n scene.scatter2d.update(vpRange);\n }\n if(scene.select2d) {\n scene.select2d.update(vpRange);\n }\n if(scene.glText) {\n scene.glText.forEach(function(text) { text.update(vpRange0); });\n }\n};\n\n\n/***/ }),\n\n/***/ \"2a16\":\n/***/ (function(module, exports) {\n\nmodule.exports = scale;\n\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */\nfunction scale(out, a, b) {\n out[0] = a[0] * b\n out[1] = a[1] * b\n out[2] = a[2] * b\n return out\n}\n\n/***/ }),\n\n/***/ \"2a27\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attributes = __webpack_require__(\"97d1\");\nvar Color = __webpack_require__(\"d115\");\nvar handleDomainDefaults = __webpack_require__(\"81f0\").defaults;\nvar handleText = __webpack_require__(\"1c1c\").handleText;\nvar TEXTPAD = __webpack_require__(\"1a5e\").TEXTPAD;\n\nvar Colorscale = __webpack_require__(\"c258\");\nvar hasColorscale = Colorscale.hasColorscale;\nvar colorscaleDefaults = Colorscale.handleDefaults;\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var labels = coerce('labels');\n var parents = coerce('parents');\n\n if(!labels || !labels.length || !parents || !parents.length) {\n traceOut.visible = false;\n return;\n }\n\n var vals = coerce('values');\n if(vals && vals.length) {\n coerce('branchvalues');\n } else {\n coerce('count');\n }\n\n coerce('level');\n coerce('maxdepth');\n\n var packing = coerce('tiling.packing');\n if(packing === 'squarify') {\n coerce('tiling.squarifyratio');\n }\n\n coerce('tiling.flip');\n coerce('tiling.pad');\n\n var text = coerce('text');\n coerce('texttemplate');\n if(!traceOut.texttemplate) coerce('textinfo', Array.isArray(text) ? 'text+label' : 'label');\n\n coerce('hovertext');\n coerce('hovertemplate');\n\n var hasPathbar = coerce('pathbar.visible');\n\n var textposition = 'auto';\n handleText(traceIn, traceOut, layout, coerce, textposition, {\n hasPathbar: hasPathbar,\n moduleHasSelected: false,\n moduleHasUnselected: false,\n moduleHasConstrain: false,\n moduleHasCliponaxis: false,\n moduleHasTextangle: false,\n moduleHasInsideanchor: false\n });\n coerce('textposition');\n var bottomText = traceOut.textposition.indexOf('bottom') !== -1;\n\n var lineWidth = coerce('marker.line.width');\n if(lineWidth) coerce('marker.line.color', layout.paper_bgcolor);\n\n var colors = coerce('marker.colors');\n var withColorscale = traceOut._hasColorscale = (\n hasColorscale(traceIn, 'marker', 'colors') ||\n (traceIn.marker || {}).coloraxis // N.B. special logic to consider \"values\" colorscales\n );\n if(withColorscale) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.', cLetter: 'c'});\n } else {\n coerce('marker.depthfade', !(colors || []).length);\n }\n\n var headerSize = traceOut.textfont.size * 2;\n\n coerce('marker.pad.t', bottomText ? headerSize / 4 : headerSize);\n coerce('marker.pad.l', headerSize / 4);\n coerce('marker.pad.r', headerSize / 4);\n coerce('marker.pad.b', bottomText ? headerSize : headerSize / 4);\n\n if(withColorscale) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.', cLetter: 'c'});\n }\n\n traceOut._hovered = {\n marker: {\n line: {\n width: 2,\n color: Color.contrast(layout.paper_bgcolor)\n }\n }\n };\n\n if(hasPathbar) {\n // This works even for multi-line labels as treemap pathbar trim out line breaks\n coerce('pathbar.thickness', traceOut.pathbar.textfont.size + 2 * TEXTPAD);\n\n coerce('pathbar.side');\n coerce('pathbar.edgeshape');\n }\n\n handleDomainDefaults(traceOut, layout, coerce);\n\n // do not support transforms for now\n traceOut._length = null;\n};\n\n\n/***/ }),\n\n/***/ \"2aa9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var selection = [];\n var fullData = cd[0].trace;\n\n var nodes = fullData._sankey.graph.nodes;\n\n for(var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if(node.partOfGroup) continue; // Those are invisible\n\n // Position of node's centroid\n var pos = [(node.x0 + node.x1) / 2, (node.y0 + node.y1) / 2];\n\n // Swap x and y if trace is vertical\n if(fullData.orientation === 'v') pos.reverse();\n\n if(selectionTester && selectionTester.contains(pos, false, i, searchInfo)) {\n selection.push({\n pointNumber: node.pointNumber\n // TODO: add eventData\n });\n }\n }\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"2ad6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // https://github.com/Semantic-Org/Semantic-UI/issues/3855\n // https://github.com/marcj/css-element-queries/issues/257\n var globalWindow = typeof window != 'undefined' && window.Math == Math\n ? window\n : typeof self != 'undefined' && self.Math == Math\n ? self\n : Function('return this')();\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = globalWindow.requestAnimationFrame ||\n globalWindow.mozRequestAnimationFrame ||\n globalWindow.webkitRequestAnimationFrame ||\n function (fn) {\n return globalWindow.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Apply CSS styles to element.\n *\n * @param {HTMLElement} element\n * @param {Object} style\n */\n function setStyle(element, style) {\n Object.keys(style).forEach(function(key) {\n element.style[key] = style[key];\n });\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function(sizeInfo) {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call(this, sizeInfo);\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n left: '0px',\n top: '0px',\n right: '0px',\n bottom: '0px',\n overflow: 'hidden',\n zIndex: '-1',\n visibility: 'hidden',\n maxWidth: '100%'\n };\n var styleChild = {\n position: 'absolute',\n left: '0px',\n top: '0px',\n transition: '0s',\n };\n\n setStyle(element.resizeSensor, style);\n\n var expand = document.createElement('div');\n expand.className = 'resize-sensor-expand';\n setStyle(expand, style);\n\n var expandChild = document.createElement('div');\n setStyle(expandChild, styleChild);\n expand.appendChild(expandChild);\n\n var shrink = document.createElement('div');\n shrink.className = 'resize-sensor-shrink';\n setStyle(shrink, style);\n\n var shrinkChild = document.createElement('div');\n setStyle(shrinkChild, styleChild);\n setStyle(shrinkChild, { width: '200%', height: '200%' });\n shrink.appendChild(shrinkChild);\n\n element.resizeSensor.appendChild(expand);\n element.resizeSensor.appendChild(shrink);\n element.appendChild(element.resizeSensor);\n\n var computedStyle = window.getComputedStyle(element);\n var position = computedStyle ? computedStyle.getPropertyValue('position') : null;\n if ('absolute' !== position && 'relative' !== position && 'fixed' !== position) {\n element.style.position = 'relative';\n }\n\n var dirty, rafId;\n var size = getElementSize(element);\n var lastWidth = 0;\n var lastHeight = 0;\n var initialHiddenCheck = true;\n var lastAnimationFrame = 0;\n\n var resetExpandShrink = function () {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n expandChild.style.width = (width + 10) + 'px';\n expandChild.style.height = (height + 10) + 'px';\n\n expand.scrollLeft = width + 10;\n expand.scrollTop = height + 10;\n\n shrink.scrollLeft = width + 10;\n shrink.scrollTop = height + 10;\n };\n\n var reset = function() {\n // Check if element is hidden\n if (initialHiddenCheck) {\n var invisible = element.offsetWidth === 0 && element.offsetHeight === 0;\n if (invisible) {\n // Check in next frame\n if (!lastAnimationFrame){\n lastAnimationFrame = requestAnimationFrame(function(){\n lastAnimationFrame = 0;\n\n reset();\n });\n }\n\n return;\n } else {\n // Stop checking\n initialHiddenCheck = false;\n }\n }\n\n resetExpandShrink();\n };\n element.resizeSensor.resetSensor = reset;\n\n var onResized = function() {\n rafId = 0;\n\n if (!dirty) return;\n\n lastWidth = size.width;\n lastHeight = size.height;\n\n if (element.resizedAttached) {\n element.resizedAttached.call(size);\n }\n };\n\n var onScroll = function() {\n size = getElementSize(element);\n dirty = size.width !== lastWidth || size.height !== lastHeight;\n\n if (dirty && !rafId) {\n rafId = requestAnimationFrame(onResized);\n }\n\n reset();\n };\n\n var addEvent = function(el, name, cb) {\n if (el.attachEvent) {\n el.attachEvent('on' + name, cb);\n } else {\n el.addEventListener(name, cb);\n }\n };\n\n addEvent(expand, 'scroll', onScroll);\n addEvent(shrink, 'scroll', onScroll);\n\n // Fix for custom Elements\n requestAnimationFrame(reset);\n }\n\n forEachElement(element, function(elem){\n attachResizeEvent(elem, callback);\n });\n\n this.detach = function(ev) {\n ResizeSensor.detach(element, ev);\n };\n\n this.reset = function() {\n element.resizeSensor.resetSensor();\n };\n };\n\n ResizeSensor.reset = function(element) {\n forEachElement(element, function(elem){\n elem.resizeSensor.resetSensor();\n });\n };\n\n ResizeSensor.detach = function(element, ev) {\n forEachElement(element, function(elem){\n if (!elem) return;\n if(elem.resizedAttached && typeof ev === \"function\"){\n elem.resizedAttached.remove(ev);\n if(elem.resizedAttached.length()) return;\n }\n if (elem.resizeSensor) {\n if (elem.contains(elem.resizeSensor)) {\n elem.removeChild(elem.resizeSensor);\n }\n delete elem.resizeSensor;\n delete elem.resizedAttached;\n }\n });\n };\n\n if (typeof MutationObserver !== \"undefined\") {\n var observer = new MutationObserver(function (mutations) {\n for (var i in mutations) {\n if (mutations.hasOwnProperty(i)) {\n var items = mutations[i].addedNodes;\n for (var j = 0; j < items.length; j++) {\n if (items[j].resizeSensor) {\n ResizeSensor.reset(items[j]);\n }\n }\n }\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", function (event) {\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n return ResizeSensor;\n\n}));\n\n\n/***/ }),\n\n/***/ \"2c66\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"2456\")\n\n\n/***/ }),\n\n/***/ \"2c8d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\r\n\r\nvar isBrowser = __webpack_require__(\"dcf3\")\r\nvar hasHover\r\n\r\nif (typeof global.matchMedia === 'function') {\r\n\thasHover = !global.matchMedia('(hover: none)').matches\r\n}\r\nelse {\r\n\thasHover = isBrowser\r\n}\r\n\r\nmodule.exports = hasHover\r\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar userAgent = __webpack_require__(\"342f\");\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/***/ \"2d0e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar INTERPTHRESHOLD = 1e-2;\nvar NEIGHBORSHIFTS = [[-1, 0], [1, 0], [0, -1], [0, 1]];\n\nfunction correctionOvershoot(maxFractionalChange) {\n // start with less overshoot, until we know it's converging,\n // then ramp up the overshoot for faster convergence\n return 0.5 - 0.25 * Math.min(1, maxFractionalChange * 0.5);\n}\n\n/*\n * interp2d: Fill in missing data from a 2D array using an iterative\n * poisson equation solver with zero-derivative BC at edges.\n * Amazingly, this just amounts to repeatedly averaging all the existing\n * nearest neighbors, at least if we don't take x/y scaling into account,\n * which is the right approach here where x and y may not even have the\n * same units.\n *\n * @param {array of arrays} z\n * The 2D array to fill in. Will be mutated here. Assumed to already be\n * cleaned, so all entries are numbers except gaps, which are `undefined`.\n * @param {array of arrays} emptyPoints\n * Each entry [i, j, neighborCount] for empty points z[i][j] and the number\n * of neighbors that are *not* missing. Assumed to be sorted from most to\n * least neighbors, as produced by heatmap/find_empties.\n */\nmodule.exports = function interp2d(z, emptyPoints) {\n var maxFractionalChange = 1;\n var i;\n\n // one pass to fill in a starting value for all the empties\n iterateInterp2d(z, emptyPoints);\n\n // we're don't need to iterate lone empties - remove them\n for(i = 0; i < emptyPoints.length; i++) {\n if(emptyPoints[i][2] < 4) break;\n }\n // but don't remove these points from the original array,\n // we'll use them for masking, so make a copy.\n emptyPoints = emptyPoints.slice(i);\n\n for(i = 0; i < 100 && maxFractionalChange > INTERPTHRESHOLD; i++) {\n maxFractionalChange = iterateInterp2d(z, emptyPoints,\n correctionOvershoot(maxFractionalChange));\n }\n if(maxFractionalChange > INTERPTHRESHOLD) {\n Lib.log('interp2d didn\\'t converge quickly', maxFractionalChange);\n }\n\n return z;\n};\n\nfunction iterateInterp2d(z, emptyPoints, overshoot) {\n var maxFractionalChange = 0;\n var thisPt;\n var i;\n var j;\n var p;\n var q;\n var neighborShift;\n var neighborRow;\n var neighborVal;\n var neighborCount;\n var neighborSum;\n var initialVal;\n var minNeighbor;\n var maxNeighbor;\n\n for(p = 0; p < emptyPoints.length; p++) {\n thisPt = emptyPoints[p];\n i = thisPt[0];\n j = thisPt[1];\n initialVal = z[i][j];\n neighborSum = 0;\n neighborCount = 0;\n\n for(q = 0; q < 4; q++) {\n neighborShift = NEIGHBORSHIFTS[q];\n neighborRow = z[i + neighborShift[0]];\n if(!neighborRow) continue;\n neighborVal = neighborRow[j + neighborShift[1]];\n if(neighborVal !== undefined) {\n if(neighborSum === 0) {\n minNeighbor = maxNeighbor = neighborVal;\n } else {\n minNeighbor = Math.min(minNeighbor, neighborVal);\n maxNeighbor = Math.max(maxNeighbor, neighborVal);\n }\n neighborCount++;\n neighborSum += neighborVal;\n }\n }\n\n if(neighborCount === 0) {\n throw 'iterateInterp2d order is wrong: no defined neighbors';\n }\n\n // this is the laplace equation interpolation:\n // each point is just the average of its neighbors\n // note that this ignores differential x/y scaling\n // which I think is the right approach, since we\n // don't know what that scaling means\n z[i][j] = neighborSum / neighborCount;\n\n if(initialVal === undefined) {\n if(neighborCount < 4) maxFractionalChange = 1;\n } else {\n // we can make large empty regions converge faster\n // if we overshoot the change vs the previous value\n z[i][j] = (1 + overshoot) * z[i][j] - overshoot * initialVal;\n\n if(maxNeighbor > minNeighbor) {\n maxFractionalChange = Math.max(maxFractionalChange,\n Math.abs(z[i][j] - initialVal) / (maxNeighbor - minNeighbor));\n }\n }\n }\n\n return maxFractionalChange;\n}\n\n\n/***/ }),\n\n/***/ \"2d12\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"08ed\");\n\n\n/***/ }),\n\n/***/ \"2d1c\":\n/***/ (function(module, exports) {\n\nmodule.exports = negate;\n\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to negate\n * @returns {vec3} out\n */\nfunction negate(out, a) {\n out[0] = -a[0]\n out[1] = -a[1]\n out[2] = -a[2]\n return out\n}\n\n/***/ }),\n\n/***/ \"2d7d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n Persian calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\n/** Implementation of the Persian or Jalali calendar.\n Based on code from http://www.iranchamber.com/calendar/converter/iranian_calendar_converter.php.\n See also http://en.wikipedia.org/wiki/Iranian_calendar.\n @class PersianCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction PersianCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nPersianCalendar.prototype = new main.baseCalendar;\n\nassign(PersianCalendar.prototype, {\n /** The calendar name.\n @memberof PersianCalendar */\n name: 'Persian',\n /** Julian date of start of Persian epoch: 19 March 622 CE.\n @memberof PersianCalendar */\n jdEpoch: 1948320.5,\n /** Days per month in a common year.\n @memberof PersianCalendar */\n daysPerMonth: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29],\n /** true if has a year zero, false if not.\n @memberof PersianCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof PersianCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof PersianCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof PersianCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof PersianCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Persian',\n epochs: ['BP', 'AP'],\n monthNames: ['Farvardin', 'Ordibehesht', 'Khordad', 'Tir', 'Mordad', 'Shahrivar',\n 'Mehr', 'Aban', 'Azar', 'Day', 'Bahman', 'Esfand'],\n monthNamesShort: ['Far', 'Ord', 'Kho', 'Tir', 'Mor', 'Sha', 'Meh', 'Aba', 'Aza', 'Day', 'Bah', 'Esf'],\n dayNames: ['Yekshambe', 'Doshambe', 'Seshambe', 'Chรฆharshambe', 'Panjshambe', 'Jom\\'e', 'Shambe'],\n dayNamesShort: ['Yek', 'Do', 'Se', 'Chรฆ', 'Panj', 'Jom', 'Sha'],\n dayNamesMin: ['Ye','Do','Se','Ch','Pa','Jo','Sh'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 6,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n return (((((date.year() - (date.year() > 0 ? 474 : 473)) % 2820) +\n 474 + 38) * 682) % 2816) < 682;\n },\n\n /** Determine the week of the year for a date.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n // Find Saturday of this week starting on Saturday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(-((checkDate.dayOfWeek() + 1) % 7), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a month.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 12 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return this.dayOfWeek(year, month, day) !== 5;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof PersianCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n year = date.year();\n month = date.month();\n day = date.day();\n var epBase = year - (year >= 0 ? 474 : 473);\n var epYear = 474 + mod(epBase, 2820);\n return day + (month <= 7 ? (month - 1) * 31 : (month - 1) * 30 + 6) +\n Math.floor((epYear * 682 - 110) / 2816) + (epYear - 1) * 365 +\n Math.floor(epBase / 2820) * 1029983 + this.jdEpoch - 1;\n },\n\n /** Create a new date from a Julian date.\n @memberof PersianCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n jd = Math.floor(jd) + 0.5;\n var depoch = jd - this.toJD(475, 1, 1);\n var cycle = Math.floor(depoch / 1029983);\n var cyear = mod(depoch, 1029983);\n var ycycle = 2820;\n if (cyear !== 1029982) {\n var aux1 = Math.floor(cyear / 366);\n var aux2 = mod(cyear, 366);\n ycycle = Math.floor(((2134 * aux1) + (2816 * aux2) + 2815) / 1028522) + aux1 + 1;\n }\n var year = ycycle + (2820 * cycle) + 474;\n year = (year <= 0 ? year - 1 : year);\n var yday = jd - this.toJD(year, 1, 1) + 1;\n var month = (yday <= 186 ? Math.ceil(yday / 31) : Math.ceil((yday - 6) / 30));\n var day = jd - this.toJD(year, month, 1) + 1;\n return this.newDate(year, month, day);\n }\n});\n\n// Modulus function which works for non-integers.\nfunction mod(a, b) {\n return a - (b * Math.floor(a / b));\n}\n\n// Persian (Jalali) calendar implementation\nmain.calendars.persian = PersianCalendar;\nmain.calendars.jalali = PersianCalendar;\n\n\n\n/***/ }),\n\n/***/ \"2d9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar isPlainObject = Lib.isPlainObject;\nvar PlotSchema = __webpack_require__(\"6921\");\nvar Plots = __webpack_require__(\"bb71\");\nvar plotAttributes = __webpack_require__(\"a876\");\nvar Template = __webpack_require__(\"a651\");\nvar dfltConfig = __webpack_require__(\"3ff5\").dfltConfig;\n\n/**\n * Plotly.makeTemplate: create a template off an existing figure to reuse\n * style attributes on other figures.\n *\n * Note: separated from the rest of templates because otherwise we get circular\n * references due to PlotSchema.\n *\n * @param {object|DOM element|string} figure: The figure to base the template on\n * should contain a trace array `figure.data`\n * and a layout object `figure.layout`\n * @returns {object} template: the extracted template - can then be used as\n * `layout.template` in another figure.\n */\nexports.makeTemplate = function(figure) {\n figure = Lib.isPlainObject(figure) ? figure : Lib.getGraphDiv(figure);\n figure = Lib.extendDeep({_context: dfltConfig}, {data: figure.data, layout: figure.layout});\n Plots.supplyDefaults(figure);\n var data = figure.data || [];\n var layout = figure.layout || {};\n // copy over a few items to help follow the schema\n layout._basePlotModules = figure._fullLayout._basePlotModules;\n layout._modules = figure._fullLayout._modules;\n\n var template = {\n data: {},\n layout: {}\n };\n\n /*\n * Note: we do NOT validate template values, we just take what's in the\n * user inputs data and layout, not the validated values in fullData and\n * fullLayout. Even if we were to validate here, there's no guarantee that\n * these values would still be valid when applied to a new figure, which\n * may contain different trace modes, different axes, etc. So it's\n * important that when applying a template we still validate the template\n * values, rather than just using them as defaults.\n */\n\n data.forEach(function(trace) {\n // TODO: What if no style info is extracted for this trace. We may\n // not want an empty object as the null value.\n // TODO: allow transforms to contribute to templates?\n // as it stands they are ignored, which may be for the best...\n\n var traceTemplate = {};\n walkStyleKeys(trace, traceTemplate, getTraceInfo.bind(null, trace));\n\n var traceType = Lib.coerce(trace, {}, plotAttributes, 'type');\n var typeTemplates = template.data[traceType];\n if(!typeTemplates) typeTemplates = template.data[traceType] = [];\n typeTemplates.push(traceTemplate);\n });\n\n walkStyleKeys(layout, template.layout, getLayoutInfo.bind(null, layout));\n\n /*\n * Compose the new template with an existing one to the same effect\n *\n * NOTE: there's a possibility of slightly different behavior: if the plot\n * has an invalid value and the old template has a valid value for the same\n * attribute, the plot will use the old template value but this routine\n * will pull the invalid value (resulting in the original default).\n * In the general case it's not possible to solve this with a single value,\n * since valid options can be context-dependent. It could be solved with\n * a *list* of values, but that would be huge complexity for little gain.\n */\n delete template.layout.template;\n var oldTemplate = layout.template;\n if(isPlainObject(oldTemplate)) {\n var oldLayoutTemplate = oldTemplate.layout;\n\n var i, traceType, oldTypeTemplates, oldTypeLen, typeTemplates, typeLen;\n\n if(isPlainObject(oldLayoutTemplate)) {\n mergeTemplates(oldLayoutTemplate, template.layout);\n }\n var oldDataTemplate = oldTemplate.data;\n if(isPlainObject(oldDataTemplate)) {\n for(traceType in template.data) {\n oldTypeTemplates = oldDataTemplate[traceType];\n if(Array.isArray(oldTypeTemplates)) {\n typeTemplates = template.data[traceType];\n typeLen = typeTemplates.length;\n oldTypeLen = oldTypeTemplates.length;\n for(i = 0; i < typeLen; i++) {\n mergeTemplates(oldTypeTemplates[i % oldTypeLen], typeTemplates[i]);\n }\n for(i = typeLen; i < oldTypeLen; i++) {\n typeTemplates.push(Lib.extendDeep({}, oldTypeTemplates[i]));\n }\n }\n }\n for(traceType in oldDataTemplate) {\n if(!(traceType in template.data)) {\n template.data[traceType] = Lib.extendDeep([], oldDataTemplate[traceType]);\n }\n }\n }\n }\n\n return template;\n};\n\nfunction mergeTemplates(oldTemplate, newTemplate) {\n // we don't care about speed here, just make sure we have a totally\n // distinct object from the previous template\n oldTemplate = Lib.extendDeep({}, oldTemplate);\n\n // sort keys so we always get annotationdefaults before annotations etc\n // so arrayTemplater will work right\n var oldKeys = Object.keys(oldTemplate).sort();\n var i, j;\n\n function mergeOne(oldVal, newVal, key) {\n if(isPlainObject(newVal) && isPlainObject(oldVal)) {\n mergeTemplates(oldVal, newVal);\n } else if(Array.isArray(newVal) && Array.isArray(oldVal)) {\n // Note: omitted `inclusionAttr` from arrayTemplater here,\n // it's irrelevant as we only want the resulting `_template`.\n var templater = Template.arrayTemplater({_template: oldTemplate}, key);\n for(j = 0; j < newVal.length; j++) {\n var item = newVal[j];\n var oldItem = templater.newItem(item)._template;\n if(oldItem) mergeTemplates(oldItem, item);\n }\n var defaultItems = templater.defaultItems();\n for(j = 0; j < defaultItems.length; j++) newVal.push(defaultItems[j]._template);\n\n // templateitemname only applies to receiving plots\n for(j = 0; j < newVal.length; j++) delete newVal[j].templateitemname;\n }\n }\n\n for(i = 0; i < oldKeys.length; i++) {\n var key = oldKeys[i];\n var oldVal = oldTemplate[key];\n if(key in newTemplate) {\n mergeOne(oldVal, newTemplate[key], key);\n } else newTemplate[key] = oldVal;\n\n // if this is a base key from the old template (eg xaxis), look for\n // extended keys (eg xaxis2) in the new template to merge into\n if(getBaseKey(key) === key) {\n for(var key2 in newTemplate) {\n var baseKey2 = getBaseKey(key2);\n if(key2 !== baseKey2 && baseKey2 === key && !(key2 in oldTemplate)) {\n mergeOne(oldVal, newTemplate[key2], key);\n }\n }\n }\n }\n}\n\nfunction getBaseKey(key) {\n return key.replace(/[0-9]+$/, '');\n}\n\nfunction walkStyleKeys(parent, templateOut, getAttributeInfo, path, basePath) {\n var pathAttr = basePath && getAttributeInfo(basePath);\n for(var key in parent) {\n var child = parent[key];\n var nextPath = getNextPath(parent, key, path);\n var nextBasePath = getNextPath(parent, key, basePath);\n var attr = getAttributeInfo(nextBasePath);\n if(!attr) {\n var baseKey = getBaseKey(key);\n if(baseKey !== key) {\n nextBasePath = getNextPath(parent, baseKey, basePath);\n attr = getAttributeInfo(nextBasePath);\n }\n }\n\n // we'll get an attr if path starts with a valid part, then has an\n // invalid ending. Make sure we got all the way to the end.\n if(pathAttr && (pathAttr === attr)) continue;\n\n if(!attr || attr._noTemplating ||\n attr.valType === 'data_array' ||\n (attr.arrayOk && Array.isArray(child))\n ) {\n continue;\n }\n\n if(!attr.valType && isPlainObject(child)) {\n walkStyleKeys(child, templateOut, getAttributeInfo, nextPath, nextBasePath);\n } else if(attr._isLinkedToArray && Array.isArray(child)) {\n var dfltDone = false;\n var namedIndex = 0;\n var usedNames = {};\n for(var i = 0; i < child.length; i++) {\n var item = child[i];\n if(isPlainObject(item)) {\n var name = item.name;\n if(name) {\n if(!usedNames[name]) {\n // named array items: allow all attributes except data arrays\n walkStyleKeys(item, templateOut, getAttributeInfo,\n getNextPath(child, namedIndex, nextPath),\n getNextPath(child, namedIndex, nextBasePath));\n namedIndex++;\n usedNames[name] = 1;\n }\n } else if(!dfltDone) {\n var dfltKey = Template.arrayDefaultKey(key);\n var dfltPath = getNextPath(parent, dfltKey, path);\n\n // getAttributeInfo will fail if we try to use dfltKey directly.\n // Instead put this item into the next array element, then\n // pull it out and move it to dfltKey.\n var pathInArray = getNextPath(child, namedIndex, nextPath);\n walkStyleKeys(item, templateOut, getAttributeInfo, pathInArray,\n getNextPath(child, namedIndex, nextBasePath));\n var itemPropInArray = Lib.nestedProperty(templateOut, pathInArray);\n var dfltProp = Lib.nestedProperty(templateOut, dfltPath);\n dfltProp.set(itemPropInArray.get());\n itemPropInArray.set(null);\n\n dfltDone = true;\n }\n }\n }\n } else {\n var templateProp = Lib.nestedProperty(templateOut, nextPath);\n templateProp.set(child);\n }\n }\n}\n\nfunction getLayoutInfo(layout, path) {\n return PlotSchema.getLayoutValObject(\n layout, Lib.nestedProperty({}, path).parts\n );\n}\n\nfunction getTraceInfo(trace, path) {\n return PlotSchema.getTraceValObject(\n trace, Lib.nestedProperty({}, path).parts\n );\n}\n\nfunction getNextPath(parent, key, path) {\n var nextPath;\n if(!path) nextPath = key;\n else if(Array.isArray(parent)) nextPath = path + '[' + key + ']';\n else nextPath = path + '.' + key;\n\n return nextPath;\n}\n\n/**\n * validateTemplate: Test for consistency between the given figure and\n * a template, either already included in the figure or given separately.\n * Note that not every issue we identify here is necessarily a problem,\n * it depends on what you're using the template for.\n *\n * @param {object|DOM element} figure: the plot, with {data, layout} members,\n * to test the template against\n * @param {Optional(object)} template: the template, with its own {data, layout},\n * to test. If omitted, we will look for a template already attached as the\n * plot's `layout.template` attribute.\n *\n * @returns {array} array of error objects each containing:\n * - {string} code\n * error code ('missing', 'unused', 'reused', 'noLayout', 'noData')\n * - {string} msg\n * a full readable description of the issue.\n */\nexports.validateTemplate = function(figureIn, template) {\n var figure = Lib.extendDeep({}, {\n _context: dfltConfig,\n data: figureIn.data,\n layout: figureIn.layout\n });\n var layout = figure.layout || {};\n if(!isPlainObject(template)) template = layout.template || {};\n var layoutTemplate = template.layout;\n var dataTemplate = template.data;\n var errorList = [];\n\n figure.layout = layout;\n figure.layout.template = template;\n Plots.supplyDefaults(figure);\n\n var fullLayout = figure._fullLayout;\n var fullData = figure._fullData;\n\n var layoutPaths = {};\n function crawlLayoutForContainers(obj, paths) {\n for(var key in obj) {\n if(key.charAt(0) !== '_' && isPlainObject(obj[key])) {\n var baseKey = getBaseKey(key);\n var nextPaths = [];\n var i;\n for(i = 0; i < paths.length; i++) {\n nextPaths.push(getNextPath(obj, key, paths[i]));\n if(baseKey !== key) nextPaths.push(getNextPath(obj, baseKey, paths[i]));\n }\n for(i = 0; i < nextPaths.length; i++) {\n layoutPaths[nextPaths[i]] = 1;\n }\n crawlLayoutForContainers(obj[key], nextPaths);\n }\n }\n }\n\n function crawlLayoutTemplateForContainers(obj, path) {\n for(var key in obj) {\n if(key.indexOf('defaults') === -1 && isPlainObject(obj[key])) {\n var nextPath = getNextPath(obj, key, path);\n if(layoutPaths[nextPath]) {\n crawlLayoutTemplateForContainers(obj[key], nextPath);\n } else {\n errorList.push({code: 'unused', path: nextPath});\n }\n }\n }\n }\n\n if(!isPlainObject(layoutTemplate)) {\n errorList.push({code: 'layout'});\n } else {\n crawlLayoutForContainers(fullLayout, ['layout']);\n crawlLayoutTemplateForContainers(layoutTemplate, 'layout');\n }\n\n if(!isPlainObject(dataTemplate)) {\n errorList.push({code: 'data'});\n } else {\n var typeCount = {};\n var traceType;\n for(var i = 0; i < fullData.length; i++) {\n var fullTrace = fullData[i];\n traceType = fullTrace.type;\n typeCount[traceType] = (typeCount[traceType] || 0) + 1;\n if(!fullTrace._fullInput._template) {\n // this takes care of the case of traceType in the data but not\n // the template\n errorList.push({\n code: 'missing',\n index: fullTrace._fullInput.index,\n traceType: traceType\n });\n }\n }\n for(traceType in dataTemplate) {\n var templateCount = dataTemplate[traceType].length;\n var dataCount = typeCount[traceType] || 0;\n if(templateCount > dataCount) {\n errorList.push({\n code: 'unused',\n traceType: traceType,\n templateCount: templateCount,\n dataCount: dataCount\n });\n } else if(dataCount > templateCount) {\n errorList.push({\n code: 'reused',\n traceType: traceType,\n templateCount: templateCount,\n dataCount: dataCount\n });\n }\n }\n }\n\n // _template: false is when someone tried to modify an array item\n // but there was no template with matching name\n function crawlForMissingTemplates(obj, path) {\n for(var key in obj) {\n if(key.charAt(0) === '_') continue;\n var val = obj[key];\n var nextPath = getNextPath(obj, key, path);\n if(isPlainObject(val)) {\n if(Array.isArray(obj) && val._template === false && val.templateitemname) {\n errorList.push({\n code: 'missing',\n path: nextPath,\n templateitemname: val.templateitemname\n });\n }\n crawlForMissingTemplates(val, nextPath);\n } else if(Array.isArray(val) && hasPlainObject(val)) {\n crawlForMissingTemplates(val, nextPath);\n }\n }\n }\n crawlForMissingTemplates({data: fullData, layout: fullLayout}, '');\n\n if(errorList.length) return errorList.map(format);\n};\n\nfunction hasPlainObject(arr) {\n for(var i = 0; i < arr.length; i++) {\n if(isPlainObject(arr[i])) return true;\n }\n}\n\nfunction format(opts) {\n var msg;\n switch(opts.code) {\n case 'data':\n msg = 'The template has no key data.';\n break;\n case 'layout':\n msg = 'The template has no key layout.';\n break;\n case 'missing':\n if(opts.path) {\n msg = 'There are no templates for item ' + opts.path +\n ' with name ' + opts.templateitemname;\n } else {\n msg = 'There are no templates for trace ' + opts.index +\n ', of type ' + opts.traceType + '.';\n }\n break;\n case 'unused':\n if(opts.path) {\n msg = 'The template item at ' + opts.path +\n ' was not used in constructing the plot.';\n } else if(opts.dataCount) {\n msg = 'Some of the templates of type ' + opts.traceType +\n ' were not used. The template has ' + opts.templateCount +\n ' traces, the data only has ' + opts.dataCount +\n ' of this type.';\n } else {\n msg = 'The template has ' + opts.templateCount +\n ' traces of type ' + opts.traceType +\n ' but there are none in the data.';\n }\n break;\n case 'reused':\n msg = 'Some of the templates of type ' + opts.traceType +\n ' were used more than once. The template has ' +\n opts.templateCount + ' traces, the data has ' +\n opts.dataCount + ' of this type.';\n break;\n }\n opts.msg = msg;\n\n return opts;\n}\n\n\n/***/ }),\n\n/***/ \"2dbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar stringifyFont = __webpack_require__(\"c243\")\r\nvar defaultChars = [32, 126]\r\n\r\nmodule.exports = atlas\r\n\r\nfunction atlas(options) {\r\n options = options || {}\r\n\r\n var shape = options.shape ? options.shape : options.canvas ? [options.canvas.width, options.canvas.height] : [512, 512]\r\n var canvas = options.canvas || document.createElement('canvas')\r\n var font = options.font\r\n var step = typeof options.step === 'number' ? [options.step, options.step] : options.step || [32, 32]\r\n var chars = options.chars || defaultChars\r\n\r\n if (font && typeof font !== 'string') font = stringifyFont(font)\r\n\r\n if (!Array.isArray(chars)) {\r\n chars = String(chars).split('')\r\n } else\r\n if (chars.length === 2\r\n && typeof chars[0] === 'number'\r\n && typeof chars[1] === 'number'\r\n ) {\r\n var newchars = []\r\n\r\n for (var i = chars[0], j = 0; i <= chars[1]; i++) {\r\n newchars[j++] = String.fromCharCode(i)\r\n }\r\n\r\n chars = newchars\r\n }\r\n\r\n shape = shape.slice()\r\n canvas.width = shape[0]\r\n canvas.height = shape[1]\r\n\r\n var ctx = canvas.getContext('2d')\r\n\r\n ctx.fillStyle = '#000'\r\n ctx.fillRect(0, 0, canvas.width, canvas.height)\r\n\r\n ctx.font = font\r\n ctx.textAlign = 'center'\r\n ctx.textBaseline = 'middle'\r\n ctx.fillStyle = '#fff'\r\n\r\n var x = step[0] / 2\r\n var y = step[1] / 2\r\n for (var i = 0; i < chars.length; i++) {\r\n ctx.fillText(chars[i], x, y)\r\n if ((x += step[0]) > shape[0] - step[0]/2) (x = step[0]/2), (y += step[1])\r\n }\r\n\r\n return canvas\r\n}\r\n\n\n/***/ }),\n\n/***/ \"2dd7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"7ba3\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n coerce('sunburstcolorway', layoutOut.colorway);\n coerce('extendsunburstcolors');\n};\n\n\n/***/ }),\n\n/***/ \"2dd9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = compressExpansion\n\nfunction compressExpansion(e) {\n var m = e.length\n var Q = e[e.length-1]\n var bottom = m\n for(var i=m-2; i>=0; --i) {\n var a = Q\n var b = e[i]\n Q = a + b\n var bv = Q - a\n var q = b - bv\n if(q) {\n e[--bottom] = Q\n Q = q\n }\n }\n var top = 0\n for(var i=bottom; i 1) ||\n (fullLayout.bargap === 0 &&\n fullLayout.bargroupgap === 0 &&\n !d[0].trace.marker.line.width)) {\n d3.select(this).attr('shape-rendering', 'crispEdges');\n }\n });\n\n s.selectAll('g.points').each(function(d) {\n var sel = d3.select(this);\n var trace = d[0].trace;\n stylePoints(sel, trace, gd);\n });\n\n Registry.getComponentMethod('errorbars', 'style')(s);\n}\n\nfunction stylePoints(sel, trace, gd) {\n Drawing.pointStyle(sel.selectAll('path'), trace, gd);\n styleTextPoints(sel, trace, gd);\n}\n\nfunction styleTextPoints(sel, trace, gd) {\n sel.selectAll('text').each(function(d) {\n var tx = d3.select(this);\n var font = Lib.ensureUniformFontSize(gd, determineFont(tx, d, trace, gd));\n\n Drawing.font(tx, font);\n });\n}\n\nfunction styleOnSelect(gd, cd, sel) {\n var trace = cd[0].trace;\n\n if(trace.selectedpoints) {\n stylePointsInSelectionMode(sel, trace, gd);\n } else {\n stylePoints(sel, trace, gd);\n Registry.getComponentMethod('errorbars', 'style')(sel);\n }\n}\n\nfunction stylePointsInSelectionMode(s, trace, gd) {\n Drawing.selectedPointStyle(s.selectAll('path'), trace);\n styleTextInSelectionMode(s.selectAll('text'), trace, gd);\n}\n\nfunction styleTextInSelectionMode(txs, trace, gd) {\n txs.each(function(d) {\n var tx = d3.select(this);\n var font;\n\n if(d.selected) {\n font = Lib.ensureUniformFontSize(gd, determineFont(tx, d, trace, gd));\n\n var selectedFontColor = trace.selected.textfont && trace.selected.textfont.color;\n if(selectedFontColor) {\n font.color = selectedFontColor;\n }\n\n Drawing.font(tx, font);\n } else {\n Drawing.selectedTextStyle(tx, trace);\n }\n });\n}\n\nfunction determineFont(tx, d, trace, gd) {\n var layoutFont = gd._fullLayout.font;\n var textFont = trace.textfont;\n\n if(tx.classed('bartext-inside')) {\n var barColor = getBarColor(d, trace);\n textFont = getInsideTextFont(trace, d.i, layoutFont, barColor);\n } else if(tx.classed('bartext-outside')) {\n textFont = getOutsideTextFont(trace, d.i, layoutFont);\n }\n\n return textFont;\n}\n\nfunction getTextFont(trace, index, defaultValue) {\n return getFontValue(\n attributeTextFont, trace.textfont, index, defaultValue);\n}\n\nfunction getInsideTextFont(trace, index, layoutFont, barColor) {\n var defaultFont = getTextFont(trace, index, layoutFont);\n\n var wouldFallBackToLayoutFont =\n (trace._input.textfont === undefined || trace._input.textfont.color === undefined) ||\n (Array.isArray(trace.textfont.color) && trace.textfont.color[index] === undefined);\n if(wouldFallBackToLayoutFont) {\n defaultFont = {\n color: Color.contrast(barColor),\n family: defaultFont.family,\n size: defaultFont.size\n };\n }\n\n return getFontValue(\n attributeInsideTextFont, trace.insidetextfont, index, defaultFont);\n}\n\nfunction getOutsideTextFont(trace, index, layoutFont) {\n var defaultFont = getTextFont(trace, index, layoutFont);\n return getFontValue(\n attributeOutsideTextFont, trace.outsidetextfont, index, defaultFont);\n}\n\nfunction getFontValue(attributeDefinition, attributeValue, index, defaultValue) {\n attributeValue = attributeValue || {};\n\n var familyValue = helpers.getValue(attributeValue.family, index);\n var sizeValue = helpers.getValue(attributeValue.size, index);\n var colorValue = helpers.getValue(attributeValue.color, index);\n\n return {\n family: helpers.coerceString(\n attributeDefinition.family, familyValue, defaultValue.family),\n size: helpers.coerceNumber(\n attributeDefinition.size, sizeValue, defaultValue.size),\n color: helpers.coerceColor(\n attributeDefinition.color, colorValue, defaultValue.color)\n };\n}\n\nfunction getBarColor(cd, trace) {\n if(trace.type === 'waterfall') {\n return trace[cd.dir].marker.color;\n }\n return cd.mc || trace.marker.color;\n}\n\nmodule.exports = {\n style: style,\n styleTextPoints: styleTextPoints,\n styleOnSelect: styleOnSelect,\n getInsideTextFont: getInsideTextFont,\n getOutsideTextFont: getOutsideTextFont,\n getBarColor: getBarColor,\n resizeText: resizeText\n};\n\n\n/***/ }),\n\n/***/ \"2e22\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyCircular\", function() { return sankeyCircular; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyCenter\", function() { return center; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyLeft\", function() { return left; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyRight\", function() { return right; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyJustify\", function() { return justify; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"bc17\");\n/* harmony import */ var d3_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"6f04\");\n/* harmony import */ var d3_shape__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"1a88\");\n/* harmony import */ var elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"7e55\");\n/* harmony import */ var elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n// For a given link, return the target node's depth\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'left'\nfunction left(node) {\n return node.depth;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'right'\nfunction right(node, n) {\n return n - 1 - node.height;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'justify'\nfunction justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'center'\nfunction center(node) {\n return node.targetLinks.length ? node.depth : node.sourceLinks.length ? Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(node.sourceLinks, targetDepth) - 1 : 0;\n}\n\n// returns a function, using the parameter given to the sankey setting\nfunction constant(x) {\n return function () {\n return x;\n };\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n/// https://github.com/tomshanley/d3-sankeyCircular-circular\n\n// sort links' breadth (ie top to bottom in a column), based on their source nodes' breadths\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\n// sort links' breadth (ie top to bottom in a column), based on their target nodes' breadths\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\n// sort nodes' breadth (ie top to bottom in a column)\n// if both nodes have circular links, or both don't have circular links, then sort by the top (y0) of the node\n// else push nodes that have top circular links to the top, and nodes that have bottom circular links to the bottom\nfunction ascendingBreadth(a, b) {\n if (a.partOfCycle === b.partOfCycle) {\n return a.y0 - b.y0;\n } else {\n if (a.circularLinkType === 'top' || b.circularLinkType === 'bottom') {\n return -1;\n } else {\n return 1;\n }\n }\n}\n\n// return the value of a node or link\nfunction value(d) {\n return d.value;\n}\n\n// return the vertical center of a node\nfunction nodeCenter(node) {\n return (node.y0 + node.y1) / 2;\n}\n\n// return the vertical center of a link's source node\nfunction linkSourceCenter(link) {\n return nodeCenter(link.source);\n}\n\n// return the vertical center of a link's target node\nfunction linkTargetCenter(link) {\n return nodeCenter(link.target);\n}\n\n// Return the default value for ID for node, d.index\nfunction defaultId(d) {\n return d.index;\n}\n\n// Return the default object the graph's nodes, graph.nodes\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\n// Return the default object the graph's nodes, graph.links\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\n// Return the node from the collection that matches the provided ID, or throw an error if no match\nfunction find(nodeById, id) {\n var node = nodeById.get(id);\n if (!node) throw new Error('missing: ' + id);\n return node;\n}\n\nfunction getNodeID(node, id) {\n return id(node);\n}\n\n// The main sankeyCircular functions\n\n// Some constants for circular link calculations\nvar verticalMargin = 25;\nvar baseRadius = 10;\nvar scale = 0.3; //Possibly let user control this, although anything over 0.5 starts to get too cramped\n\nfunction sankeyCircular () {\n // Set the default values\n var x0 = 0,\n y0 = 0,\n x1 = 1,\n y1 = 1,\n // extent\n dx = 24,\n // nodeWidth\n py,\n // nodePadding, for vertical postioning\n id = defaultId,\n align = justify,\n nodes = defaultNodes,\n links = defaultLinks,\n iterations = 32,\n circularLinkGap = 2,\n paddingRatio,\n sortNodes = null;\n\n function sankeyCircular() {\n var graph = {\n nodes: nodes.apply(null, arguments),\n links: links.apply(null, arguments)\n\n // Process the graph's nodes and links, setting their positions\n\n // 1. Associate the nodes with their respective links, and vice versa\n };computeNodeLinks(graph);\n\n // 2. Determine which links result in a circular path in the graph\n identifyCircles(graph, id, sortNodes);\n\n // 4. Calculate the nodes' values, based on the values of the incoming and outgoing links\n computeNodeValues(graph);\n\n // 5. Calculate the nodes' depth based on the incoming and outgoing links\n // Sets the nodes':\n // - depth: the depth in the graph\n // - column: the depth (0, 1, 2, etc), as is relates to visual position from left to right\n // - x0, x1: the x coordinates, as is relates to visual position from left to right\n computeNodeDepths(graph);\n\n // 3. Determine how the circular links will be drawn,\n // either travelling back above the main chart (\"top\")\n // or below the main chart (\"bottom\")\n selectCircularLinkTypes(graph, id);\n\n // 6. Calculate the nodes' and links' vertical position within their respective column\n // Also readjusts sankeyCircular size if circular links are needed, and node x's\n computeNodeBreadths(graph, iterations, id);\n computeLinkBreadths(graph);\n\n // 7. Sort links per node, based on the links' source/target nodes' breadths\n // 8. Adjust nodes that overlap links that span 2+ columns\n var linkSortingIterations = 4; //Possibly let user control this number, like the iterations over node placement\n for (var iteration = 0; iteration < linkSortingIterations; iteration++) {\n\n sortSourceLinks(graph, y1, id);\n sortTargetLinks(graph, y1, id);\n resolveNodeLinkOverlaps(graph, y0, y1, id);\n sortSourceLinks(graph, y1, id);\n sortTargetLinks(graph, y1, id);\n }\n\n // 8.1 Adjust node and link positions back to fill height of chart area if compressed\n fillHeight(graph, y0, y1);\n\n // 9. Calculate visually appealling path for the circular paths, and create the \"d\" string\n addCircularPathData(graph, circularLinkGap, y1, id);\n\n return graph;\n } // end of sankeyCircular function\n\n\n // Set the sankeyCircular parameters\n // nodeID, nodeAlign, nodeWidth, nodePadding, nodes, links, size, extent, iterations, nodePaddingRatio, circularLinkGap\n sankeyCircular.nodeId = function (_) {\n return arguments.length ? (id = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : id;\n };\n\n sankeyCircular.nodeAlign = function (_) {\n return arguments.length ? (align = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : align;\n };\n\n sankeyCircular.nodeWidth = function (_) {\n return arguments.length ? (dx = +_, sankeyCircular) : dx;\n };\n\n sankeyCircular.nodePadding = function (_) {\n return arguments.length ? (py = +_, sankeyCircular) : py;\n };\n\n sankeyCircular.nodes = function (_) {\n return arguments.length ? (nodes = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : nodes;\n };\n\n sankeyCircular.links = function (_) {\n return arguments.length ? (links = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : links;\n };\n\n sankeyCircular.size = function (_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankeyCircular) : [x1 - x0, y1 - y0];\n };\n\n sankeyCircular.extent = function (_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankeyCircular) : [[x0, y0], [x1, y1]];\n };\n\n sankeyCircular.iterations = function (_) {\n return arguments.length ? (iterations = +_, sankeyCircular) : iterations;\n };\n\n sankeyCircular.circularLinkGap = function (_) {\n return arguments.length ? (circularLinkGap = +_, sankeyCircular) : circularLinkGap;\n };\n\n sankeyCircular.nodePaddingRatio = function (_) {\n return arguments.length ? (paddingRatio = +_, sankeyCircular) : paddingRatio;\n };\n\n sankeyCircular.sortNodes = function (_) {\n return arguments.length ? (sortNodes = _, sankeyCircular) : sortNodes;\n };\n\n sankeyCircular.update = function (graph) {\n // 5. Calculate the nodes' depth based on the incoming and outgoing links\n // Sets the nodes':\n // - depth: the depth in the graph\n // - column: the depth (0, 1, 2, etc), as is relates to visual position from left to right\n // - x0, x1: the x coordinates, as is relates to visual position from left to right\n // computeNodeDepths(graph)\n\n // 3. Determine how the circular links will be drawn,\n // either travelling back above the main chart (\"top\")\n // or below the main chart (\"bottom\")\n selectCircularLinkTypes(graph, id);\n\n // 6. Calculate the nodes' and links' vertical position within their respective column\n // Also readjusts sankeyCircular size if circular links are needed, and node x's\n // computeNodeBreadths(graph, iterations, id)\n computeLinkBreadths(graph);\n\n // Force position of circular link type based on position\n graph.links.forEach(function (link) {\n if (link.circular) {\n link.circularLinkType = link.y0 + link.y1 < y1 ? 'top' : 'bottom';\n\n link.source.circularLinkType = link.circularLinkType;\n link.target.circularLinkType = link.circularLinkType;\n }\n });\n\n sortSourceLinks(graph, y1, id, false); // Sort links but do not move nodes\n sortTargetLinks(graph, y1, id);\n\n // 7. Sort links per node, based on the links' source/target nodes' breadths\n // 8. Adjust nodes that overlap links that span 2+ columns\n // var linkSortingIterations = 4; //Possibly let user control this number, like the iterations over node placement\n // for (var iteration = 0; iteration < linkSortingIterations; iteration++) {\n //\n // sortSourceLinks(graph, y1, id)\n // sortTargetLinks(graph, y1, id)\n // resolveNodeLinkOverlaps(graph, y0, y1, id)\n // sortSourceLinks(graph, y1, id)\n // sortTargetLinks(graph, y1, id)\n //\n // }\n\n // 8.1 Adjust node and link positions back to fill height of chart area if compressed\n // fillHeight(graph, y0, y1)\n\n // 9. Calculate visually appealling path for the circular paths, and create the \"d\" string\n addCircularPathData(graph, circularLinkGap, y1, id);\n return graph;\n };\n\n // Populate the sourceLinks and targetLinks for each node.\n // Also, if the source and target are not objects, assume they are indices.\n function computeNodeLinks(graph) {\n graph.nodes.forEach(function (node, i) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n });\n var nodeById = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__[/* map */ \"a\"])(graph.nodes, id);\n graph.links.forEach(function (link, i) {\n link.index = i;\n var source = link.source;\n var target = link.target;\n if ((typeof source === \"undefined\" ? \"undefined\" : _typeof(source)) !== 'object') {\n source = link.source = find(nodeById, source);\n }\n if ((typeof target === \"undefined\" ? \"undefined\" : _typeof(target)) !== 'object') {\n target = link.target = find(nodeById, target);\n }\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n });\n return graph;\n }\n\n // Compute the value (size) and cycleness of each node by summing the associated links.\n function computeNodeValues(graph) {\n graph.nodes.forEach(function (node) {\n node.partOfCycle = false;\n node.value = Math.max(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* sum */ \"e\"])(node.sourceLinks, value), Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* sum */ \"e\"])(node.targetLinks, value));\n node.sourceLinks.forEach(function (link) {\n if (link.circular) {\n node.partOfCycle = true;\n node.circularLinkType = link.circularLinkType;\n }\n });\n node.targetLinks.forEach(function (link) {\n if (link.circular) {\n node.partOfCycle = true;\n node.circularLinkType = link.circularLinkType;\n }\n });\n });\n }\n\n function getCircleMargins(graph) {\n var totalTopLinksWidth = 0,\n totalBottomLinksWidth = 0,\n totalRightLinksWidth = 0,\n totalLeftLinksWidth = 0;\n\n var maxColumn = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* max */ \"b\"])(graph.nodes, function (node) {\n return node.column;\n });\n\n graph.links.forEach(function (link) {\n if (link.circular) {\n if (link.circularLinkType == 'top') {\n totalTopLinksWidth = totalTopLinksWidth + link.width;\n } else {\n totalBottomLinksWidth = totalBottomLinksWidth + link.width;\n }\n\n if (link.target.column == 0) {\n totalLeftLinksWidth = totalLeftLinksWidth + link.width;\n }\n\n if (link.source.column == maxColumn) {\n totalRightLinksWidth = totalRightLinksWidth + link.width;\n }\n }\n });\n\n //account for radius of curves and padding between links\n totalTopLinksWidth = totalTopLinksWidth > 0 ? totalTopLinksWidth + verticalMargin + baseRadius : totalTopLinksWidth;\n totalBottomLinksWidth = totalBottomLinksWidth > 0 ? totalBottomLinksWidth + verticalMargin + baseRadius : totalBottomLinksWidth;\n totalRightLinksWidth = totalRightLinksWidth > 0 ? totalRightLinksWidth + verticalMargin + baseRadius : totalRightLinksWidth;\n totalLeftLinksWidth = totalLeftLinksWidth > 0 ? totalLeftLinksWidth + verticalMargin + baseRadius : totalLeftLinksWidth;\n\n return { \"top\": totalTopLinksWidth, \"bottom\": totalBottomLinksWidth, \"left\": totalLeftLinksWidth, \"right\": totalRightLinksWidth };\n }\n\n // Update the x0, y0, x1 and y1 for the sankeyCircular, to allow space for any circular links\n function scaleSankeySize(graph, margin) {\n\n var maxColumn = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* max */ \"b\"])(graph.nodes, function (node) {\n return node.column;\n });\n\n var currentWidth = x1 - x0;\n var currentHeight = y1 - y0;\n\n var newWidth = currentWidth + margin.right + margin.left;\n var newHeight = currentHeight + margin.top + margin.bottom;\n\n var scaleX = currentWidth / newWidth;\n var scaleY = currentHeight / newHeight;\n\n x0 = x0 * scaleX + margin.left;\n x1 = margin.right == 0 ? x1 : x1 * scaleX;\n y0 = y0 * scaleY + margin.top;\n y1 = y1 * scaleY;\n\n graph.nodes.forEach(function (node) {\n node.x0 = x0 + node.column * ((x1 - x0 - dx) / maxColumn);\n node.x1 = node.x0 + dx;\n });\n\n return scaleY;\n }\n\n // Iteratively assign the depth for each node.\n // Nodes are assigned the maximum depth of incoming neighbors plus one;\n // nodes with no incoming links are assigned depth zero, while\n // nodes with no outgoing links are assigned the maximum depth.\n function computeNodeDepths(graph) {\n var nodes, next, x;\n\n for (nodes = graph.nodes, next = [], x = 0; nodes.length; ++x, nodes = next, next = []) {\n nodes.forEach(function (node) {\n node.depth = x;\n node.sourceLinks.forEach(function (link) {\n if (next.indexOf(link.target) < 0 && !link.circular) {\n next.push(link.target);\n }\n });\n });\n }\n\n for (nodes = graph.nodes, next = [], x = 0; nodes.length; ++x, nodes = next, next = []) {\n nodes.forEach(function (node) {\n node.height = x;\n node.targetLinks.forEach(function (link) {\n if (next.indexOf(link.source) < 0 && !link.circular) {\n next.push(link.source);\n }\n });\n });\n }\n\n // assign column numbers, and get max value\n graph.nodes.forEach(function (node) {\n node.column = Math.floor(align.call(null, node, x));\n });\n }\n\n // Assign nodes' breadths, and then shift nodes that overlap (resolveCollisions)\n function computeNodeBreadths(graph, iterations, id) {\n var columns = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__[/* nest */ \"b\"])().key(function (d) {\n return d.column;\n }).sortKeys(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* ascending */ \"a\"]).entries(graph.nodes).map(function (d) {\n return d.values;\n });\n\n initializeNodeBreadth(id);\n resolveCollisions();\n\n for (var alpha = 1, n = iterations; n > 0; --n) {\n relaxLeftAndRight(alpha *= 0.99, id);\n resolveCollisions();\n }\n\n function initializeNodeBreadth(id) {\n\n //override py if nodePadding has been set\n if (paddingRatio) {\n var padding = Infinity;\n columns.forEach(function (nodes) {\n var thisPadding = y1 * paddingRatio / (nodes.length + 1);\n padding = thisPadding < padding ? thisPadding : padding;\n });\n py = padding;\n }\n\n var ky = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(columns, function (nodes) {\n return (y1 - y0 - (nodes.length - 1) * py) / Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* sum */ \"e\"])(nodes, value);\n });\n\n //calculate the widths of the links\n ky = ky * scale;\n\n graph.links.forEach(function (link) {\n link.width = link.value * ky;\n });\n\n //determine how much to scale down the chart, based on circular links\n var margin = getCircleMargins(graph);\n var ratio = scaleSankeySize(graph, margin);\n\n //re-calculate widths\n ky = ky * ratio;\n\n graph.links.forEach(function (link) {\n link.width = link.value * ky;\n });\n\n columns.forEach(function (nodes) {\n var nodesLength = nodes.length;\n nodes.forEach(function (node, i) {\n if (node.depth == columns.length - 1 && nodesLength == 1) {\n node.y0 = y1 / 2 - node.value * ky;\n node.y1 = node.y0 + node.value * ky;\n } else if (node.depth == 0 && nodesLength == 1) {\n node.y0 = y1 / 2 - node.value * ky;\n node.y1 = node.y0 + node.value * ky;\n } else if (node.partOfCycle) {\n if (numberOfNonSelfLinkingCycles(node, id) == 0) {\n node.y0 = y1 / 2 + i;\n node.y1 = node.y0 + node.value * ky;\n } else if (node.circularLinkType == 'top') {\n node.y0 = y0 + i;\n node.y1 = node.y0 + node.value * ky;\n } else {\n node.y0 = y1 - node.value * ky - i;\n node.y1 = node.y0 + node.value * ky;\n }\n } else {\n if (margin.top == 0 || margin.bottom == 0) {\n node.y0 = (y1 - y0) / nodesLength * i;\n node.y1 = node.y0 + node.value * ky;\n } else {\n node.y0 = (y1 - y0) / 2 - nodesLength / 2 + i;\n node.y1 = node.y0 + node.value * ky;\n }\n }\n });\n });\n }\n\n // For each node in each column, check the node's vertical position in relation to its targets and sources vertical position\n // and shift up/down to be closer to the vertical middle of those targets and sources\n function relaxLeftAndRight(alpha, id) {\n var columnsLength = columns.length;\n\n columns.forEach(function (nodes) {\n var n = nodes.length;\n var depth = nodes[0].depth;\n\n nodes.forEach(function (node) {\n // check the node is not an orphan\n var nodeHeight;\n if (node.sourceLinks.length || node.targetLinks.length) {\n if (node.partOfCycle && numberOfNonSelfLinkingCycles(node, id) > 0) ; else if (depth == 0 && n == 1) {\n nodeHeight = node.y1 - node.y0;\n\n node.y0 = y1 / 2 - nodeHeight / 2;\n node.y1 = y1 / 2 + nodeHeight / 2;\n } else if (depth == columnsLength - 1 && n == 1) {\n nodeHeight = node.y1 - node.y0;\n\n node.y0 = y1 / 2 - nodeHeight / 2;\n node.y1 = y1 / 2 + nodeHeight / 2;\n } else {\n var avg = 0;\n\n var avgTargetY = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* mean */ \"c\"])(node.sourceLinks, linkTargetCenter);\n var avgSourceY = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* mean */ \"c\"])(node.targetLinks, linkSourceCenter);\n\n if (avgTargetY && avgSourceY) {\n avg = (avgTargetY + avgSourceY) / 2;\n } else {\n avg = avgTargetY || avgSourceY;\n }\n\n var dy = (avg - nodeCenter(node)) * alpha;\n // positive if it node needs to move down\n node.y0 += dy;\n node.y1 += dy;\n }\n }\n });\n });\n }\n\n // For each column, check if nodes are overlapping, and if so, shift up/down\n function resolveCollisions() {\n columns.forEach(function (nodes) {\n var node,\n dy,\n y = y0,\n n = nodes.length,\n i;\n\n // Push any overlapping nodes down.\n nodes.sort(ascendingBreadth);\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dy = y - node.y0;\n\n if (dy > 0) {\n node.y0 += dy;\n node.y1 += dy;\n }\n y = node.y1 + py;\n }\n\n // If the bottommost node goes outside the bounds, push it back up.\n dy = y - py - y1;\n if (dy > 0) {\n y = node.y0 -= dy, node.y1 -= dy;\n\n // Push any overlapping nodes back up.\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.y1 + py - y;\n if (dy > 0) node.y0 -= dy, node.y1 -= dy;\n y = node.y0;\n }\n }\n });\n }\n }\n\n // Assign the links y0 and y1 based on source/target nodes position,\n // plus the link's relative position to other links to the same node\n function computeLinkBreadths(graph) {\n graph.nodes.forEach(function (node) {\n node.sourceLinks.sort(ascendingTargetBreadth);\n node.targetLinks.sort(ascendingSourceBreadth);\n });\n graph.nodes.forEach(function (node) {\n var y0 = node.y0;\n var y1 = y0;\n\n // start from the bottom of the node for cycle links\n var y0cycle = node.y1;\n var y1cycle = y0cycle;\n\n node.sourceLinks.forEach(function (link) {\n if (link.circular) {\n link.y0 = y0cycle - link.width / 2;\n y0cycle = y0cycle - link.width;\n } else {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n });\n node.targetLinks.forEach(function (link) {\n if (link.circular) {\n link.y1 = y1cycle - link.width / 2;\n y1cycle = y1cycle - link.width;\n } else {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n });\n });\n }\n\n return sankeyCircular;\n}\n\n/// /////////////////////////////////////////////////////////////////////////////////\n// Cycle functions\n// portion of code to detect circular links based on Colin Fergus' bl.ock https://gist.github.com/cfergus/3956043\n\n// Identify circles in the link objects\nfunction identifyCircles(graph, id, sortNodes) {\n var circularLinkID = 0;\n if (sortNodes === null) {\n\n // Building adjacency graph\n var adjList = [];\n for (var i = 0; i < graph.links.length; i++) {\n var link = graph.links[i];\n var source = link.source.index;\n var target = link.target.index;\n if (!adjList[source]) adjList[source] = [];\n if (!adjList[target]) adjList[target] = [];\n\n // Add links if not already in set\n if (adjList[source].indexOf(target) === -1) adjList[source].push(target);\n }\n\n // Find all elementary circuits\n var cycles = elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3___default()(adjList);\n\n // Sort by circuits length\n cycles.sort(function (a, b) {\n return a.length - b.length;\n });\n\n var circularLinks = {};\n for (i = 0; i < cycles.length; i++) {\n var cycle = cycles[i];\n var last = cycle.slice(-2);\n if (!circularLinks[last[0]]) circularLinks[last[0]] = {};\n circularLinks[last[0]][last[1]] = true;\n }\n\n graph.links.forEach(function (link) {\n var target = link.target.index;\n var source = link.source.index;\n // If self-linking or a back-edge\n if (target === source || circularLinks[source] && circularLinks[source][target]) {\n link.circular = true;\n link.circularLinkID = circularLinkID;\n circularLinkID = circularLinkID + 1;\n } else {\n link.circular = false;\n }\n });\n } else {\n graph.links.forEach(function (link) {\n if (link.source[sortNodes] < link.target[sortNodes]) {\n link.circular = false;\n } else {\n link.circular = true;\n link.circularLinkID = circularLinkID;\n circularLinkID = circularLinkID + 1;\n }\n });\n }\n}\n\n// Assign a circular link type (top or bottom), based on:\n// - if the source/target node already has circular links, then use the same type\n// - if not, choose the type with fewer links\nfunction selectCircularLinkTypes(graph, id) {\n var numberOfTops = 0;\n var numberOfBottoms = 0;\n graph.links.forEach(function (link) {\n if (link.circular) {\n // if either souce or target has type already use that\n if (link.source.circularLinkType || link.target.circularLinkType) {\n // default to source type if available\n link.circularLinkType = link.source.circularLinkType ? link.source.circularLinkType : link.target.circularLinkType;\n } else {\n link.circularLinkType = numberOfTops < numberOfBottoms ? 'top' : 'bottom';\n }\n\n if (link.circularLinkType == 'top') {\n numberOfTops = numberOfTops + 1;\n } else {\n numberOfBottoms = numberOfBottoms + 1;\n }\n\n graph.nodes.forEach(function (node) {\n if (getNodeID(node, id) == getNodeID(link.source, id) || getNodeID(node, id) == getNodeID(link.target, id)) {\n node.circularLinkType = link.circularLinkType;\n }\n });\n }\n });\n\n //correct self-linking links to be same direction as node\n graph.links.forEach(function (link) {\n if (link.circular) {\n //if both source and target node are same type, then link should have same type\n if (link.source.circularLinkType == link.target.circularLinkType) {\n link.circularLinkType = link.source.circularLinkType;\n }\n //if link is selflinking, then link should have same type as node\n if (selfLinking(link, id)) {\n link.circularLinkType = link.source.circularLinkType;\n }\n }\n });\n}\n\n// Return the angle between a straight line between the source and target of the link, and the vertical plane of the node\nfunction linkAngle(link) {\n var adjacent = Math.abs(link.y1 - link.y0);\n var opposite = Math.abs(link.target.x0 - link.source.x1);\n\n return Math.atan(opposite / adjacent);\n}\n\n// Check if two circular links potentially overlap\nfunction circularLinksCross(link1, link2) {\n if (link1.source.column < link2.target.column) {\n return false;\n } else if (link1.target.column > link2.source.column) {\n return false;\n } else {\n return true;\n }\n}\n\n// Return the number of circular links for node, not including self linking links\nfunction numberOfNonSelfLinkingCycles(node, id) {\n var sourceCount = 0;\n node.sourceLinks.forEach(function (l) {\n sourceCount = l.circular && !selfLinking(l, id) ? sourceCount + 1 : sourceCount;\n });\n\n var targetCount = 0;\n node.targetLinks.forEach(function (l) {\n targetCount = l.circular && !selfLinking(l, id) ? targetCount + 1 : targetCount;\n });\n\n return sourceCount + targetCount;\n}\n\n// Check if a circular link is the only circular link for both its source and target node\nfunction onlyCircularLink(link) {\n var nodeSourceLinks = link.source.sourceLinks;\n var sourceCount = 0;\n nodeSourceLinks.forEach(function (l) {\n sourceCount = l.circular ? sourceCount + 1 : sourceCount;\n });\n\n var nodeTargetLinks = link.target.targetLinks;\n var targetCount = 0;\n nodeTargetLinks.forEach(function (l) {\n targetCount = l.circular ? targetCount + 1 : targetCount;\n });\n\n if (sourceCount > 1 || targetCount > 1) {\n return false;\n } else {\n return true;\n }\n}\n\n// creates vertical buffer values per set of top/bottom links\nfunction calcVerticalBuffer(links, circularLinkGap, id) {\n links.sort(sortLinkColumnAscending);\n links.forEach(function (link, i) {\n var buffer = 0;\n\n if (selfLinking(link, id) && onlyCircularLink(link)) {\n link.circularPathData.verticalBuffer = buffer + link.width / 2;\n } else {\n var j = 0;\n for (j; j < i; j++) {\n if (circularLinksCross(links[i], links[j])) {\n var bufferOverThisLink = links[j].circularPathData.verticalBuffer + links[j].width / 2 + circularLinkGap;\n buffer = bufferOverThisLink > buffer ? bufferOverThisLink : buffer;\n }\n }\n\n link.circularPathData.verticalBuffer = buffer + link.width / 2;\n }\n });\n\n return links;\n}\n\n// calculate the optimum path for a link to reduce overlaps\nfunction addCircularPathData(graph, circularLinkGap, y1, id) {\n //var baseRadius = 10\n var buffer = 5;\n //var verticalMargin = 25\n\n var minY = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(graph.links, function (link) {\n return link.source.y0;\n });\n\n // create object for circular Path Data\n graph.links.forEach(function (link) {\n if (link.circular) {\n link.circularPathData = {};\n }\n });\n\n // calc vertical offsets per top/bottom links\n var topLinks = graph.links.filter(function (l) {\n return l.circularLinkType == 'top';\n });\n /* topLinks = */calcVerticalBuffer(topLinks, circularLinkGap, id);\n\n var bottomLinks = graph.links.filter(function (l) {\n return l.circularLinkType == 'bottom';\n });\n /* bottomLinks = */calcVerticalBuffer(bottomLinks, circularLinkGap, id);\n\n // add the base data for each link\n graph.links.forEach(function (link) {\n if (link.circular) {\n link.circularPathData.arcRadius = link.width + baseRadius;\n link.circularPathData.leftNodeBuffer = buffer;\n link.circularPathData.rightNodeBuffer = buffer;\n link.circularPathData.sourceWidth = link.source.x1 - link.source.x0;\n link.circularPathData.sourceX = link.source.x0 + link.circularPathData.sourceWidth;\n link.circularPathData.targetX = link.target.x0;\n link.circularPathData.sourceY = link.y0;\n link.circularPathData.targetY = link.y1;\n\n // for self linking paths, and that the only circular link in/out of that node\n if (selfLinking(link, id) && onlyCircularLink(link)) {\n link.circularPathData.leftSmallArcRadius = baseRadius + link.width / 2;\n link.circularPathData.leftLargeArcRadius = baseRadius + link.width / 2;\n link.circularPathData.rightSmallArcRadius = baseRadius + link.width / 2;\n link.circularPathData.rightLargeArcRadius = baseRadius + link.width / 2;\n\n if (link.circularLinkType == 'bottom') {\n link.circularPathData.verticalFullExtent = link.source.y1 + verticalMargin + link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.rightLargeArcRadius;\n } else {\n // top links\n link.circularPathData.verticalFullExtent = link.source.y0 - verticalMargin - link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.rightLargeArcRadius;\n }\n } else {\n // else calculate normally\n // add left extent coordinates, based on links with same source column and circularLink type\n var thisColumn = link.source.column;\n var thisCircularLinkType = link.circularLinkType;\n var sameColumnLinks = graph.links.filter(function (l) {\n return l.source.column == thisColumn && l.circularLinkType == thisCircularLinkType;\n });\n\n if (link.circularLinkType == 'bottom') {\n sameColumnLinks.sort(sortLinkSourceYDescending);\n } else {\n sameColumnLinks.sort(sortLinkSourceYAscending);\n }\n\n var radiusOffset = 0;\n sameColumnLinks.forEach(function (l, i) {\n if (l.circularLinkID == link.circularLinkID) {\n link.circularPathData.leftSmallArcRadius = baseRadius + link.width / 2 + radiusOffset;\n link.circularPathData.leftLargeArcRadius = baseRadius + link.width / 2 + i * circularLinkGap + radiusOffset;\n }\n radiusOffset = radiusOffset + l.width;\n });\n\n // add right extent coordinates, based on links with same target column and circularLink type\n thisColumn = link.target.column;\n sameColumnLinks = graph.links.filter(function (l) {\n return l.target.column == thisColumn && l.circularLinkType == thisCircularLinkType;\n });\n if (link.circularLinkType == 'bottom') {\n sameColumnLinks.sort(sortLinkTargetYDescending);\n } else {\n sameColumnLinks.sort(sortLinkTargetYAscending);\n }\n\n radiusOffset = 0;\n sameColumnLinks.forEach(function (l, i) {\n if (l.circularLinkID == link.circularLinkID) {\n link.circularPathData.rightSmallArcRadius = baseRadius + link.width / 2 + radiusOffset;\n link.circularPathData.rightLargeArcRadius = baseRadius + link.width / 2 + i * circularLinkGap + radiusOffset;\n }\n radiusOffset = radiusOffset + l.width;\n });\n\n // bottom links\n if (link.circularLinkType == 'bottom') {\n link.circularPathData.verticalFullExtent = Math.max(y1, link.source.y1, link.target.y1) + verticalMargin + link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.rightLargeArcRadius;\n } else {\n // top links\n link.circularPathData.verticalFullExtent = minY - verticalMargin - link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.rightLargeArcRadius;\n }\n }\n\n // all links\n link.circularPathData.leftInnerExtent = link.circularPathData.sourceX + link.circularPathData.leftNodeBuffer;\n link.circularPathData.rightInnerExtent = link.circularPathData.targetX - link.circularPathData.rightNodeBuffer;\n link.circularPathData.leftFullExtent = link.circularPathData.sourceX + link.circularPathData.leftLargeArcRadius + link.circularPathData.leftNodeBuffer;\n link.circularPathData.rightFullExtent = link.circularPathData.targetX - link.circularPathData.rightLargeArcRadius - link.circularPathData.rightNodeBuffer;\n }\n\n if (link.circular) {\n link.path = createCircularPathString(link);\n } else {\n var normalPath = Object(d3_shape__WEBPACK_IMPORTED_MODULE_2__[/* linkHorizontal */ \"a\"])().source(function (d) {\n var x = d.source.x0 + (d.source.x1 - d.source.x0);\n var y = d.y0;\n return [x, y];\n }).target(function (d) {\n var x = d.target.x0;\n var y = d.y1;\n return [x, y];\n });\n link.path = normalPath(link);\n }\n });\n}\n\n// create a d path using the addCircularPathData\nfunction createCircularPathString(link) {\n var pathString = '';\n // 'pathData' is assigned a value but never used\n // var pathData = {}\n\n if (link.circularLinkType == 'top') {\n pathString =\n // start at the right of the source node\n 'M' + link.circularPathData.sourceX + ' ' + link.circularPathData.sourceY + ' ' +\n // line right to buffer point\n 'L' + link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.sourceY + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftSmallArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftFullExtent + ' ' + (link.circularPathData.sourceY - link.circularPathData.leftSmallArcRadius) + ' ' + // End of arc X\n // line up to buffer point\n 'L' + link.circularPathData.leftFullExtent + ' ' + link.circularPathData.verticalLeftInnerExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftLargeArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' + // End of arc X\n // line left to buffer point\n 'L' + link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightLargeArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightFullExtent + ' ' + link.circularPathData.verticalRightInnerExtent + ' ' + // End of arc X\n // line down\n 'L' + link.circularPathData.rightFullExtent + ' ' + (link.circularPathData.targetY - link.circularPathData.rightSmallArcRadius) + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightSmallArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.targetY + ' ' + // End of arc X\n // line to end\n 'L' + link.circularPathData.targetX + ' ' + link.circularPathData.targetY;\n } else {\n // bottom path\n pathString =\n // start at the right of the source node\n 'M' + link.circularPathData.sourceX + ' ' + link.circularPathData.sourceY + ' ' +\n // line right to buffer point\n 'L' + link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.sourceY + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftSmallArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftFullExtent + ' ' + (link.circularPathData.sourceY + link.circularPathData.leftSmallArcRadius) + ' ' + // End of arc X\n // line down to buffer point\n 'L' + link.circularPathData.leftFullExtent + ' ' + link.circularPathData.verticalLeftInnerExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftLargeArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' + // End of arc X\n // line left to buffer point\n 'L' + link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightLargeArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightFullExtent + ' ' + link.circularPathData.verticalRightInnerExtent + ' ' + // End of arc X\n // line up\n 'L' + link.circularPathData.rightFullExtent + ' ' + (link.circularPathData.targetY + link.circularPathData.rightSmallArcRadius) + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightSmallArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.targetY + ' ' + // End of arc X\n // line to end\n 'L' + link.circularPathData.targetX + ' ' + link.circularPathData.targetY;\n }\n\n return pathString;\n}\n\n// sort links based on the distance between the source and tartget node columns\n// if the same, then use Y position of the source node\nfunction sortLinkColumnAscending(link1, link2) {\n if (linkColumnDistance(link1) == linkColumnDistance(link2)) {\n return link1.circularLinkType == 'bottom' ? sortLinkSourceYDescending(link1, link2) : sortLinkSourceYAscending(link1, link2);\n } else {\n return linkColumnDistance(link2) - linkColumnDistance(link1);\n }\n}\n\n// sort ascending links by their source vertical position, y0\nfunction sortLinkSourceYAscending(link1, link2) {\n return link1.y0 - link2.y0;\n}\n\n// sort descending links by their source vertical position, y0\nfunction sortLinkSourceYDescending(link1, link2) {\n return link2.y0 - link1.y0;\n}\n\n// sort ascending links by their target vertical position, y1\nfunction sortLinkTargetYAscending(link1, link2) {\n return link1.y1 - link2.y1;\n}\n\n// sort descending links by their target vertical position, y1\nfunction sortLinkTargetYDescending(link1, link2) {\n return link2.y1 - link1.y1;\n}\n\n// return the distance between the link's target and source node, in terms of the nodes' column\nfunction linkColumnDistance(link) {\n return link.target.column - link.source.column;\n}\n\n// return the distance between the link's target and source node, in terms of the nodes' X coordinate\nfunction linkXLength(link) {\n return link.target.x0 - link.source.x1;\n}\n\n// Return the Y coordinate on the longerLink path * which is perpendicular shorterLink's source.\n// * approx, based on a straight line from target to source, when in fact the path is a bezier\nfunction linkPerpendicularYToLinkSource(longerLink, shorterLink) {\n // get the angle for the longer link\n var angle = linkAngle(longerLink);\n\n // get the adjacent length to the other link's x position\n var heightFromY1ToPependicular = linkXLength(shorterLink) / Math.tan(angle);\n\n // add or subtract from longer link1's original y1, depending on the slope\n var yPerpendicular = incline(longerLink) == 'up' ? longerLink.y1 + heightFromY1ToPependicular : longerLink.y1 - heightFromY1ToPependicular;\n\n return yPerpendicular;\n}\n\n// Return the Y coordinate on the longerLink path * which is perpendicular shorterLink's source.\n// * approx, based on a straight line from target to source, when in fact the path is a bezier\nfunction linkPerpendicularYToLinkTarget(longerLink, shorterLink) {\n // get the angle for the longer link\n var angle = linkAngle(longerLink);\n\n // get the adjacent length to the other link's x position\n var heightFromY1ToPependicular = linkXLength(shorterLink) / Math.tan(angle);\n\n // add or subtract from longer link's original y1, depending on the slope\n var yPerpendicular = incline(longerLink) == 'up' ? longerLink.y1 - heightFromY1ToPependicular : longerLink.y1 + heightFromY1ToPependicular;\n\n return yPerpendicular;\n}\n\n// Move any nodes that overlap links which span 2+ columns\nfunction resolveNodeLinkOverlaps(graph, y0, y1, id) {\n\n graph.links.forEach(function (link) {\n if (link.circular) {\n return;\n }\n\n if (link.target.column - link.source.column > 1) {\n var columnToTest = link.source.column + 1;\n var maxColumnToTest = link.target.column - 1;\n\n var i = 1;\n var numberOfColumnsToTest = maxColumnToTest - columnToTest + 1;\n\n for (i = 1; columnToTest <= maxColumnToTest; columnToTest++, i++) {\n graph.nodes.forEach(function (node) {\n if (node.column == columnToTest) {\n var t = i / (numberOfColumnsToTest + 1);\n\n // Find all the points of a cubic bezier curve in javascript\n // https://stackoverflow.com/questions/15397596/find-all-the-points-of-a-cubic-bezier-curve-in-javascript\n\n var B0_t = Math.pow(1 - t, 3);\n var B1_t = 3 * t * Math.pow(1 - t, 2);\n var B2_t = 3 * Math.pow(t, 2) * (1 - t);\n var B3_t = Math.pow(t, 3);\n\n var py_t = B0_t * link.y0 + B1_t * link.y0 + B2_t * link.y1 + B3_t * link.y1;\n\n var linkY0AtColumn = py_t - link.width / 2;\n var linkY1AtColumn = py_t + link.width / 2;\n var dy;\n\n // If top of link overlaps node, push node up\n if (linkY0AtColumn > node.y0 && linkY0AtColumn < node.y1) {\n\n dy = node.y1 - linkY0AtColumn + 10;\n dy = node.circularLinkType == 'bottom' ? dy : -dy;\n\n node = adjustNodeHeight(node, dy, y0, y1);\n\n // check if other nodes need to move up too\n graph.nodes.forEach(function (otherNode) {\n // don't need to check itself or nodes at different columns\n if (getNodeID(otherNode, id) == getNodeID(node, id) || otherNode.column != node.column) {\n return;\n }\n if (nodesOverlap(node, otherNode)) {\n adjustNodeHeight(otherNode, dy, y0, y1);\n }\n });\n } else if (linkY1AtColumn > node.y0 && linkY1AtColumn < node.y1) {\n // If bottom of link overlaps node, push node down\n dy = linkY1AtColumn - node.y0 + 10;\n\n node = adjustNodeHeight(node, dy, y0, y1);\n\n // check if other nodes need to move down too\n graph.nodes.forEach(function (otherNode) {\n // don't need to check itself or nodes at different columns\n if (getNodeID(otherNode, id) == getNodeID(node, id) || otherNode.column != node.column) {\n return;\n }\n if (otherNode.y0 < node.y1 && otherNode.y1 > node.y1) {\n adjustNodeHeight(otherNode, dy, y0, y1);\n }\n });\n } else if (linkY0AtColumn < node.y0 && linkY1AtColumn > node.y1) {\n // if link completely overlaps node\n dy = linkY1AtColumn - node.y0 + 10;\n\n node = adjustNodeHeight(node, dy, y0, y1);\n\n graph.nodes.forEach(function (otherNode) {\n // don't need to check itself or nodes at different columns\n if (getNodeID(otherNode, id) == getNodeID(node, id) || otherNode.column != node.column) {\n return;\n }\n if (otherNode.y0 < node.y1 && otherNode.y1 > node.y1) {\n adjustNodeHeight(otherNode, dy, y0, y1);\n }\n });\n }\n }\n });\n }\n }\n });\n}\n\n// check if two nodes overlap\nfunction nodesOverlap(nodeA, nodeB) {\n // test if nodeA top partially overlaps nodeB\n if (nodeA.y0 > nodeB.y0 && nodeA.y0 < nodeB.y1) {\n return true;\n } else if (nodeA.y1 > nodeB.y0 && nodeA.y1 < nodeB.y1) {\n // test if nodeA bottom partially overlaps nodeB\n return true;\n } else if (nodeA.y0 < nodeB.y0 && nodeA.y1 > nodeB.y1) {\n // test if nodeA covers nodeB\n return true;\n } else {\n return false;\n }\n}\n\n// update a node, and its associated links, vertical positions (y0, y1)\nfunction adjustNodeHeight(node, dy, sankeyY0, sankeyY1) {\n if (node.y0 + dy >= sankeyY0 && node.y1 + dy <= sankeyY1) {\n node.y0 = node.y0 + dy;\n node.y1 = node.y1 + dy;\n\n node.targetLinks.forEach(function (l) {\n l.y1 = l.y1 + dy;\n });\n\n node.sourceLinks.forEach(function (l) {\n l.y0 = l.y0 + dy;\n });\n }\n return node;\n}\n\n// sort and set the links' y0 for each node\nfunction sortSourceLinks(graph, y1, id, moveNodes) {\n graph.nodes.forEach(function (node) {\n // move any nodes up which are off the bottom\n if (moveNodes && node.y + (node.y1 - node.y0) > y1) {\n node.y = node.y - (node.y + (node.y1 - node.y0) - y1);\n }\n\n var nodesSourceLinks = graph.links.filter(function (l) {\n return getNodeID(l.source, id) == getNodeID(node, id);\n });\n\n var nodeSourceLinksLength = nodesSourceLinks.length;\n\n // if more than 1 link then sort\n if (nodeSourceLinksLength > 1) {\n nodesSourceLinks.sort(function (link1, link2) {\n // if both are not circular...\n if (!link1.circular && !link2.circular) {\n // if the target nodes are the same column, then sort by the link's target y\n if (link1.target.column == link2.target.column) {\n return link1.y1 - link2.y1;\n } else if (!sameInclines(link1, link2)) {\n // if the links slope in different directions, then sort by the link's target y\n return link1.y1 - link2.y1;\n\n // if the links slope in same directions, then sort by any overlap\n } else {\n if (link1.target.column > link2.target.column) {\n var link2Adj = linkPerpendicularYToLinkTarget(link2, link1);\n return link1.y1 - link2Adj;\n }\n if (link2.target.column > link1.target.column) {\n var link1Adj = linkPerpendicularYToLinkTarget(link1, link2);\n return link1Adj - link2.y1;\n }\n }\n }\n\n // if only one is circular, the move top links up, or bottom links down\n if (link1.circular && !link2.circular) {\n return link1.circularLinkType == 'top' ? -1 : 1;\n } else if (link2.circular && !link1.circular) {\n return link2.circularLinkType == 'top' ? 1 : -1;\n }\n\n // if both links are circular...\n if (link1.circular && link2.circular) {\n // ...and they both loop the same way (both top)\n if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'top') {\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.target.column === link2.target.column) {\n return link1.target.y1 - link2.target.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link2.target.column - link1.target.column;\n }\n } else if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'bottom') {\n // ...and they both loop the same way (both bottom)\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.target.column === link2.target.column) {\n return link2.target.y1 - link1.target.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link1.target.column - link2.target.column;\n }\n } else {\n // ...and they loop around different ways, the move top up and bottom down\n return link1.circularLinkType == 'top' ? -1 : 1;\n }\n }\n });\n }\n\n // update y0 for links\n var ySourceOffset = node.y0;\n\n nodesSourceLinks.forEach(function (link) {\n link.y0 = ySourceOffset + link.width / 2;\n ySourceOffset = ySourceOffset + link.width;\n });\n\n // correct any circular bottom links so they are at the bottom of the node\n nodesSourceLinks.forEach(function (link, i) {\n if (link.circularLinkType == 'bottom') {\n var j = i + 1;\n var offsetFromBottom = 0;\n // sum the widths of any links that are below this link\n for (j; j < nodeSourceLinksLength; j++) {\n offsetFromBottom = offsetFromBottom + nodesSourceLinks[j].width;\n }\n link.y0 = node.y1 - offsetFromBottom - link.width / 2;\n }\n });\n });\n}\n\n// sort and set the links' y1 for each node\nfunction sortTargetLinks(graph, y1, id) {\n graph.nodes.forEach(function (node) {\n var nodesTargetLinks = graph.links.filter(function (l) {\n return getNodeID(l.target, id) == getNodeID(node, id);\n });\n\n var nodesTargetLinksLength = nodesTargetLinks.length;\n\n if (nodesTargetLinksLength > 1) {\n nodesTargetLinks.sort(function (link1, link2) {\n // if both are not circular, the base on the source y position\n if (!link1.circular && !link2.circular) {\n if (link1.source.column == link2.source.column) {\n return link1.y0 - link2.y0;\n } else if (!sameInclines(link1, link2)) {\n return link1.y0 - link2.y0;\n } else {\n // get the angle of the link to the further source node (ie the smaller column)\n if (link2.source.column < link1.source.column) {\n var link2Adj = linkPerpendicularYToLinkSource(link2, link1);\n\n return link1.y0 - link2Adj;\n }\n if (link1.source.column < link2.source.column) {\n var link1Adj = linkPerpendicularYToLinkSource(link1, link2);\n\n return link1Adj - link2.y0;\n }\n }\n }\n\n // if only one is circular, the move top links up, or bottom links down\n if (link1.circular && !link2.circular) {\n return link1.circularLinkType == 'top' ? -1 : 1;\n } else if (link2.circular && !link1.circular) {\n return link2.circularLinkType == 'top' ? 1 : -1;\n }\n\n // if both links are circular...\n if (link1.circular && link2.circular) {\n // ...and they both loop the same way (both top)\n if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'top') {\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.source.column === link2.source.column) {\n return link1.source.y1 - link2.source.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link1.source.column - link2.source.column;\n }\n } else if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'bottom') {\n // ...and they both loop the same way (both bottom)\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.source.column === link2.source.column) {\n return link1.source.y1 - link2.source.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link2.source.column - link1.source.column;\n }\n } else {\n // ...and they loop around different ways, the move top up and bottom down\n return link1.circularLinkType == 'top' ? -1 : 1;\n }\n }\n });\n }\n\n // update y1 for links\n var yTargetOffset = node.y0;\n\n nodesTargetLinks.forEach(function (link) {\n link.y1 = yTargetOffset + link.width / 2;\n yTargetOffset = yTargetOffset + link.width;\n });\n\n // correct any circular bottom links so they are at the bottom of the node\n nodesTargetLinks.forEach(function (link, i) {\n if (link.circularLinkType == 'bottom') {\n var j = i + 1;\n var offsetFromBottom = 0;\n // sum the widths of any links that are below this link\n for (j; j < nodesTargetLinksLength; j++) {\n offsetFromBottom = offsetFromBottom + nodesTargetLinks[j].width;\n }\n link.y1 = node.y1 - offsetFromBottom - link.width / 2;\n }\n });\n });\n}\n\n// test if links both slope up, or both slope down\nfunction sameInclines(link1, link2) {\n return incline(link1) == incline(link2);\n}\n\n// returns the slope of a link, from source to target\n// up => slopes up from source to target\n// down => slopes down from source to target\nfunction incline(link) {\n return link.y0 - link.y1 > 0 ? 'up' : 'down';\n}\n\n// check if link is self linking, ie links a node to the same node\nfunction selfLinking(link, id) {\n return getNodeID(link.source, id) == getNodeID(link.target, id);\n}\n\nfunction fillHeight(graph, y0, y1) {\n\n var nodes = graph.nodes;\n var links = graph.links;\n\n var top = false;\n var bottom = false;\n\n links.forEach(function (link) {\n if (link.circularLinkType == \"top\") {\n top = true;\n } else if (link.circularLinkType == \"bottom\") {\n bottom = true;\n }\n });\n\n if (top == false || bottom == false) {\n var minY0 = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(nodes, function (node) {\n return node.y0;\n });\n var maxY1 = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* max */ \"b\"])(nodes, function (node) {\n return node.y1;\n });\n var currentHeight = maxY1 - minY0;\n var chartHeight = y1 - y0;\n var ratio = chartHeight / currentHeight;\n\n nodes.forEach(function (node) {\n var nodeHeight = (node.y1 - node.y0) * ratio;\n node.y0 = (node.y0 - minY0) * ratio;\n node.y1 = node.y0 + nodeHeight;\n });\n\n links.forEach(function (link) {\n link.y0 = (link.y0 - minY0) * ratio;\n link.y1 = (link.y1 - minY0) * ratio;\n link.width = link.width * ratio;\n });\n }\n}\n\n\n\n\n/***/ }),\n\n/***/ \"2e3d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n// ASCEND: chop off the last nesting level - either [] or . - to ascend\n// the attribute tree. the remaining attrString is in match[1]\nvar ASCEND = /^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/;\n\n// SIMPLEATTR: is this an un-nested attribute? (no dots or brackets)\nvar SIMPLEATTR = /^[^\\.\\[\\]]+$/;\n\n/*\n * calculate a relative attribute string, similar to a relative path\n *\n * @param {string} baseAttr:\n * an attribute string, such as 'annotations[3].x'. The \"current location\"\n * is the attribute string minus the last component ('annotations[3]')\n * @param {string} relativeAttr:\n * a route to the desired attribute string, using '^' to ascend\n *\n * @return {string} attrString:\n * for example:\n * relativeAttr('annotations[3].x', 'y') = 'annotations[3].y'\n * relativeAttr('annotations[3].x', '^[2].z') = 'annotations[2].z'\n * relativeAttr('annotations[3].x', '^^margin') = 'margin'\n * relativeAttr('annotations[3].x', '^^margin.r') = 'margin.r'\n */\nmodule.exports = function(baseAttr, relativeAttr) {\n while(relativeAttr) {\n var match = baseAttr.match(ASCEND);\n\n if(match) baseAttr = match[1];\n else if(baseAttr.match(SIMPLEATTR)) baseAttr = '';\n else throw new Error('bad relativeAttr call:' + [baseAttr, relativeAttr]);\n\n if(relativeAttr.charAt(0) === '^') relativeAttr = relativeAttr.slice(1);\n else break;\n }\n\n if(baseAttr && relativeAttr.charAt(0) !== '[') {\n return baseAttr + '.' + relativeAttr;\n }\n return baseAttr + relativeAttr;\n};\n\n\n/***/ }),\n\n/***/ \"2e46\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction compileSearch(funcName, predicate, reversed, extraArgs, useNdarray, earlyOut) {\n var code = [\n \"function \", funcName, \"(a,l,h,\", extraArgs.join(\",\"), \"){\",\nearlyOut ? \"\" : \"var i=\", (reversed ? \"l-1\" : \"h+1\"),\n\";while(l<=h){\\\nvar m=(l+h)>>>1,x=a\", useNdarray ? \".get(m)\" : \"[m]\"]\n if(earlyOut) {\n if(predicate.indexOf(\"c\") < 0) {\n code.push(\";if(x===y){return m}else if(x<=y){\")\n } else {\n code.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\")\n }\n } else {\n code.push(\";if(\", predicate, \"){i=m;\")\n }\n if(reversed) {\n code.push(\"l=m+1}else{h=m-1}\")\n } else {\n code.push(\"h=m-1}else{l=m+1}\")\n }\n code.push(\"}\")\n if(earlyOut) {\n code.push(\"return -1};\")\n } else {\n code.push(\"return i};\")\n }\n return code.join(\"\")\n}\n\nfunction compileBoundsSearch(predicate, reversed, suffix, earlyOut) {\n var result = new Function([\n compileSearch(\"A\", \"x\" + predicate + \"y\", reversed, [\"y\"], false, earlyOut),\n compileSearch(\"B\", \"x\" + predicate + \"y\", reversed, [\"y\"], true, earlyOut),\n compileSearch(\"P\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], false, earlyOut),\n compileSearch(\"Q\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], true, earlyOut),\n\"function dispatchBsearch\", suffix, \"(a,y,c,l,h){\\\nif(a.shape){\\\nif(typeof(c)==='function'){\\\nreturn Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)\\\n}else{\\\nreturn B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)\\\n}}else{\\\nif(typeof(c)==='function'){\\\nreturn P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)\\\n}else{\\\nreturn A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)\\\n}}}\\\nreturn dispatchBsearch\", suffix].join(\"\"))\n return result()\n}\n\nmodule.exports = {\n ge: compileBoundsSearch(\">=\", false, \"GE\"),\n gt: compileBoundsSearch(\">\", false, \"GT\"),\n lt: compileBoundsSearch(\"<\", true, \"LT\"),\n le: compileBoundsSearch(\"<=\", true, \"LE\"),\n eq: compileBoundsSearch(\"-\", true, \"EQ\", true)\n}\n\n\n/***/ }),\n\n/***/ \"2ee6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isTypedArray = __webpack_require__(\"fc26\").isTypedArray;\n\nexports.convertTypedArray = function(a) {\n return isTypedArray(a) ? Array.prototype.slice.call(a) : a;\n};\n\nexports.isOrdinal = function(dimension) {\n return !!dimension.tickvals;\n};\n\nexports.isVisible = function(dimension) {\n return dimension.visible || !('visible' in dimension);\n};\n\n\n/***/ }),\n\n/***/ \"2f03\":\n/***/ (function(module, exports) {\n\n// Copyright (C) 2011 Google Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n/**\n * @fileoverview Install a leaky WeakMap emulation on platforms that\n * don't provide a built-in one.\n *\n *

Assumes that an ES5 platform where, if {@code WeakMap} is\n * already present, then it conforms to the anticipated ES6\n * specification. To run this file on an ES5 or almost ES5\n * implementation where the {@code WeakMap} specification does not\n * quite conform, run repairES5.js first.\n *\n *

Even though WeakMapModule is not global, the linter thinks it\n * is, which is why it is in the overrides list below.\n *\n *

NOTE: Before using this WeakMap emulation in a non-SES\n * environment, see the note below about hiddenRecord.\n *\n * @author Mark S. Miller\n * @requires crypto, ArrayBuffer, Uint8Array, navigator, console\n * @overrides WeakMap, ses, Proxy\n * @overrides WeakMapModule\n */\n\n/**\n * This {@code WeakMap} emulation is observably equivalent to the\n * ES-Harmony WeakMap, but with leakier garbage collection properties.\n *\n *

As with true WeakMaps, in this emulation, a key does not\n * retain maps indexed by that key and (crucially) a map does not\n * retain the keys it indexes. A map by itself also does not retain\n * the values associated with that map.\n *\n *

However, the values associated with a key in some map are\n * retained so long as that key is retained and those associations are\n * not overridden. For example, when used to support membranes, all\n * values exported from a given membrane will live for the lifetime\n * they would have had in the absence of an interposed membrane. Even\n * when the membrane is revoked, all objects that would have been\n * reachable in the absence of revocation will still be reachable, as\n * far as the GC can tell, even though they will no longer be relevant\n * to ongoing computation.\n *\n *

The API implemented here is approximately the API as implemented\n * in FF6.0a1 and agreed to by MarkM, Andreas Gal, and Dave Herman,\n * rather than the offially approved proposal page. TODO(erights):\n * upgrade the ecmascript WeakMap proposal page to explain this API\n * change and present to EcmaScript committee for their approval.\n *\n *

The first difference between the emulation here and that in\n * FF6.0a1 is the presence of non enumerable {@code get___, has___,\n * set___, and delete___} methods on WeakMap instances to represent\n * what would be the hidden internal properties of a primitive\n * implementation. Whereas the FF6.0a1 WeakMap.prototype methods\n * require their {@code this} to be a genuine WeakMap instance (i.e.,\n * an object of {@code [[Class]]} \"WeakMap}), since there is nothing\n * unforgeable about the pseudo-internal method names used here,\n * nothing prevents these emulated prototype methods from being\n * applied to non-WeakMaps with pseudo-internal methods of the same\n * names.\n *\n *

Another difference is that our emulated {@code\n * WeakMap.prototype} is not itself a WeakMap. A problem with the\n * current FF6.0a1 API is that WeakMap.prototype is itself a WeakMap\n * providing ambient mutability and an ambient communications\n * channel. Thus, if a WeakMap is already present and has this\n * problem, repairES5.js wraps it in a safe wrappper in order to\n * prevent access to this channel. (See\n * PATCH_MUTABLE_FROZEN_WEAKMAP_PROTO in repairES5.js).\n */\n\n/**\n * If this is a full secureable ES5 platform and the ES-Harmony {@code WeakMap} is\n * absent, install an approximate emulation.\n *\n *

If WeakMap is present but cannot store some objects, use our approximate\n * emulation as a wrapper.\n *\n *

If this is almost a secureable ES5 platform, then WeakMap.js\n * should be run after repairES5.js.\n *\n *

See {@code WeakMap} for documentation of the garbage collection\n * properties of this WeakMap emulation.\n */\n(function WeakMapModule() {\n \"use strict\";\n\n if (typeof ses !== 'undefined' && ses.ok && !ses.ok()) {\n // already too broken, so give up\n return;\n }\n\n /**\n * In some cases (current Firefox), we must make a choice betweeen a\n * WeakMap which is capable of using all varieties of host objects as\n * keys and one which is capable of safely using proxies as keys. See\n * comments below about HostWeakMap and DoubleWeakMap for details.\n *\n * This function (which is a global, not exposed to guests) marks a\n * WeakMap as permitted to do what is necessary to index all host\n * objects, at the cost of making it unsafe for proxies.\n *\n * Do not apply this function to anything which is not a genuine\n * fresh WeakMap.\n */\n function weakMapPermitHostObjects(map) {\n // identity of function used as a secret -- good enough and cheap\n if (map.permitHostObjects___) {\n map.permitHostObjects___(weakMapPermitHostObjects);\n }\n }\n if (typeof ses !== 'undefined') {\n ses.weakMapPermitHostObjects = weakMapPermitHostObjects;\n }\n\n // IE 11 has no Proxy but has a broken WeakMap such that we need to patch\n // it using DoubleWeakMap; this flag tells DoubleWeakMap so.\n var doubleWeakMapCheckSilentFailure = false;\n\n // Check if there is already a good-enough WeakMap implementation, and if so\n // exit without replacing it.\n if (typeof WeakMap === 'function') {\n var HostWeakMap = WeakMap;\n // There is a WeakMap -- is it good enough?\n if (typeof navigator !== 'undefined' &&\n /Firefox/.test(navigator.userAgent)) {\n // We're now *assuming not*, because as of this writing (2013-05-06)\n // Firefox's WeakMaps have a miscellany of objects they won't accept, and\n // we don't want to make an exhaustive list, and testing for just one\n // will be a problem if that one is fixed alone (as they did for Event).\n\n // If there is a platform that we *can* reliably test on, here's how to\n // do it:\n // var problematic = ... ;\n // var testHostMap = new HostWeakMap();\n // try {\n // testHostMap.set(problematic, 1); // Firefox 20 will throw here\n // if (testHostMap.get(problematic) === 1) {\n // return;\n // }\n // } catch (e) {}\n\n } else {\n // IE 11 bug: WeakMaps silently fail to store frozen objects.\n var testMap = new HostWeakMap();\n var testObject = Object.freeze({});\n testMap.set(testObject, 1);\n if (testMap.get(testObject) !== 1) {\n doubleWeakMapCheckSilentFailure = true;\n // Fall through to installing our WeakMap.\n } else {\n module.exports = WeakMap;\n return;\n }\n }\n }\n\n var hop = Object.prototype.hasOwnProperty;\n var gopn = Object.getOwnPropertyNames;\n var defProp = Object.defineProperty;\n var isExtensible = Object.isExtensible;\n\n /**\n * Security depends on HIDDEN_NAME being both unguessable and\n * undiscoverable by untrusted code.\n *\n *

Given the known weaknesses of Math.random() on existing\n * browsers, it does not generate unguessability we can be confident\n * of.\n *\n *

It is the monkey patching logic in this file that is intended\n * to ensure undiscoverability. The basic idea is that there are\n * three fundamental means of discovering properties of an object:\n * The for/in loop, Object.keys(), and Object.getOwnPropertyNames(),\n * as well as some proposed ES6 extensions that appear on our\n * whitelist. The first two only discover enumerable properties, and\n * we only use HIDDEN_NAME to name a non-enumerable property, so the\n * only remaining threat should be getOwnPropertyNames and some\n * proposed ES6 extensions that appear on our whitelist. We monkey\n * patch them to remove HIDDEN_NAME from the list of properties they\n * returns.\n *\n *

TODO(erights): On a platform with built-in Proxies, proxies\n * could be used to trap and thereby discover the HIDDEN_NAME, so we\n * need to monkey patch Proxy.create, Proxy.createFunction, etc, in\n * order to wrap the provided handler with the real handler which\n * filters out all traps using HIDDEN_NAME.\n *\n *

TODO(erights): Revisit Mike Stay's suggestion that we use an\n * encapsulated function at a not-necessarily-secret name, which\n * uses the Stiegler shared-state rights amplification pattern to\n * reveal the associated value only to the WeakMap in which this key\n * is associated with that value. Since only the key retains the\n * function, the function can also remember the key without causing\n * leakage of the key, so this doesn't violate our general gc\n * goals. In addition, because the name need not be a guarded\n * secret, we could efficiently handle cross-frame frozen keys.\n */\n var HIDDEN_NAME_PREFIX = 'weakmap:';\n var HIDDEN_NAME = HIDDEN_NAME_PREFIX + 'ident:' + Math.random() + '___';\n\n if (typeof crypto !== 'undefined' &&\n typeof crypto.getRandomValues === 'function' &&\n typeof ArrayBuffer === 'function' &&\n typeof Uint8Array === 'function') {\n var ab = new ArrayBuffer(25);\n var u8s = new Uint8Array(ab);\n crypto.getRandomValues(u8s);\n HIDDEN_NAME = HIDDEN_NAME_PREFIX + 'rand:' +\n Array.prototype.map.call(u8s, function(u8) {\n return (u8 % 36).toString(36);\n }).join('') + '___';\n }\n\n function isNotHiddenName(name) {\n return !(\n name.substr(0, HIDDEN_NAME_PREFIX.length) == HIDDEN_NAME_PREFIX &&\n name.substr(name.length - 3) === '___');\n }\n\n /**\n * Monkey patch getOwnPropertyNames to avoid revealing the\n * HIDDEN_NAME.\n *\n *

The ES5.1 spec requires each name to appear only once, but as\n * of this writing, this requirement is controversial for ES6, so we\n * made this code robust against this case. If the resulting extra\n * search turns out to be expensive, we can probably relax this once\n * ES6 is adequately supported on all major browsers, iff no browser\n * versions we support at that time have relaxed this constraint\n * without providing built-in ES6 WeakMaps.\n */\n defProp(Object, 'getOwnPropertyNames', {\n value: function fakeGetOwnPropertyNames(obj) {\n return gopn(obj).filter(isNotHiddenName);\n }\n });\n\n /**\n * getPropertyNames is not in ES5 but it is proposed for ES6 and\n * does appear in our whitelist, so we need to clean it too.\n */\n if ('getPropertyNames' in Object) {\n var originalGetPropertyNames = Object.getPropertyNames;\n defProp(Object, 'getPropertyNames', {\n value: function fakeGetPropertyNames(obj) {\n return originalGetPropertyNames(obj).filter(isNotHiddenName);\n }\n });\n }\n\n /**\n *

To treat objects as identity-keys with reasonable efficiency\n * on ES5 by itself (i.e., without any object-keyed collections), we\n * need to add a hidden property to such key objects when we\n * can. This raises several issues:\n *

    \n *
  • Arranging to add this property to objects before we lose the\n * chance, and\n *
  • Hiding the existence of this new property from most\n * JavaScript code.\n *
  • Preventing certification theft, where one object is\n * created falsely claiming to be the key of an association\n * actually keyed by another object.\n *
  • Preventing value theft, where untrusted code with\n * access to a key object but not a weak map nevertheless\n * obtains access to the value associated with that key in that\n * weak map.\n *
\n * We do so by\n *
    \n *
  • Making the name of the hidden property unguessable, so \"[]\"\n * indexing, which we cannot intercept, cannot be used to access\n * a property without knowing the name.\n *
  • Making the hidden property non-enumerable, so we need not\n * worry about for-in loops or {@code Object.keys},\n *
  • monkey patching those reflective methods that would\n * prevent extensions, to add this hidden property first,\n *
  • monkey patching those methods that would reveal this\n * hidden property.\n *
\n * Unfortunately, because of same-origin iframes, we cannot reliably\n * add this hidden property before an object becomes\n * non-extensible. Instead, if we encounter a non-extensible object\n * without a hidden record that we can detect (whether or not it has\n * a hidden record stored under a name secret to us), then we just\n * use the key object itself to represent its identity in a brute\n * force leaky map stored in the weak map, losing all the advantages\n * of weakness for these.\n */\n function getHiddenRecord(key) {\n if (key !== Object(key)) {\n throw new TypeError('Not an object: ' + key);\n }\n var hiddenRecord = key[HIDDEN_NAME];\n if (hiddenRecord && hiddenRecord.key === key) { return hiddenRecord; }\n if (!isExtensible(key)) {\n // Weak map must brute force, as explained in doc-comment above.\n return void 0;\n }\n\n // The hiddenRecord and the key point directly at each other, via\n // the \"key\" and HIDDEN_NAME properties respectively. The key\n // field is for quickly verifying that this hidden record is an\n // own property, not a hidden record from up the prototype chain.\n //\n // NOTE: Because this WeakMap emulation is meant only for systems like\n // SES where Object.prototype is frozen without any numeric\n // properties, it is ok to use an object literal for the hiddenRecord.\n // This has two advantages:\n // * It is much faster in a performance critical place\n // * It avoids relying on Object.create(null), which had been\n // problematic on Chrome 28.0.1480.0. See\n // https://code.google.com/p/google-caja/issues/detail?id=1687\n hiddenRecord = { key: key };\n\n // When using this WeakMap emulation on platforms where\n // Object.prototype might not be frozen and Object.create(null) is\n // reliable, use the following two commented out lines instead.\n // hiddenRecord = Object.create(null);\n // hiddenRecord.key = key;\n\n // Please contact us if you need this to work on platforms where\n // Object.prototype might not be frozen and\n // Object.create(null) might not be reliable.\n\n try {\n defProp(key, HIDDEN_NAME, {\n value: hiddenRecord,\n writable: false,\n enumerable: false,\n configurable: false\n });\n return hiddenRecord;\n } catch (error) {\n // Under some circumstances, isExtensible seems to misreport whether\n // the HIDDEN_NAME can be defined.\n // The circumstances have not been isolated, but at least affect\n // Node.js v0.10.26 on TravisCI / Linux, but not the same version of\n // Node.js on OS X.\n return void 0;\n }\n }\n\n /**\n * Monkey patch operations that would make their argument\n * non-extensible.\n *\n *

The monkey patched versions throw a TypeError if their\n * argument is not an object, so it should only be done to functions\n * that should throw a TypeError anyway if their argument is not an\n * object.\n */\n (function(){\n var oldFreeze = Object.freeze;\n defProp(Object, 'freeze', {\n value: function identifyingFreeze(obj) {\n getHiddenRecord(obj);\n return oldFreeze(obj);\n }\n });\n var oldSeal = Object.seal;\n defProp(Object, 'seal', {\n value: function identifyingSeal(obj) {\n getHiddenRecord(obj);\n return oldSeal(obj);\n }\n });\n var oldPreventExtensions = Object.preventExtensions;\n defProp(Object, 'preventExtensions', {\n value: function identifyingPreventExtensions(obj) {\n getHiddenRecord(obj);\n return oldPreventExtensions(obj);\n }\n });\n })();\n\n function constFunc(func) {\n func.prototype = null;\n return Object.freeze(func);\n }\n\n var calledAsFunctionWarningDone = false;\n function calledAsFunctionWarning() {\n // Future ES6 WeakMap is currently (2013-09-10) expected to reject WeakMap()\n // but we used to permit it and do it ourselves, so warn only.\n if (!calledAsFunctionWarningDone && typeof console !== 'undefined') {\n calledAsFunctionWarningDone = true;\n console.warn('WeakMap should be invoked as new WeakMap(), not ' +\n 'WeakMap(). This will be an error in the future.');\n }\n }\n\n var nextId = 0;\n\n var OurWeakMap = function() {\n if (!(this instanceof OurWeakMap)) { // approximate test for new ...()\n calledAsFunctionWarning();\n }\n\n // We are currently (12/25/2012) never encountering any prematurely\n // non-extensible keys.\n var keys = []; // brute force for prematurely non-extensible keys.\n var values = []; // brute force for corresponding values.\n var id = nextId++;\n\n function get___(key, opt_default) {\n var index;\n var hiddenRecord = getHiddenRecord(key);\n if (hiddenRecord) {\n return id in hiddenRecord ? hiddenRecord[id] : opt_default;\n } else {\n index = keys.indexOf(key);\n return index >= 0 ? values[index] : opt_default;\n }\n }\n\n function has___(key) {\n var hiddenRecord = getHiddenRecord(key);\n if (hiddenRecord) {\n return id in hiddenRecord;\n } else {\n return keys.indexOf(key) >= 0;\n }\n }\n\n function set___(key, value) {\n var index;\n var hiddenRecord = getHiddenRecord(key);\n if (hiddenRecord) {\n hiddenRecord[id] = value;\n } else {\n index = keys.indexOf(key);\n if (index >= 0) {\n values[index] = value;\n } else {\n // Since some browsers preemptively terminate slow turns but\n // then continue computing with presumably corrupted heap\n // state, we here defensively get keys.length first and then\n // use it to update both the values and keys arrays, keeping\n // them in sync.\n index = keys.length;\n values[index] = value;\n // If we crash here, values will be one longer than keys.\n keys[index] = key;\n }\n }\n return this;\n }\n\n function delete___(key) {\n var hiddenRecord = getHiddenRecord(key);\n var index, lastIndex;\n if (hiddenRecord) {\n return id in hiddenRecord && delete hiddenRecord[id];\n } else {\n index = keys.indexOf(key);\n if (index < 0) {\n return false;\n }\n // Since some browsers preemptively terminate slow turns but\n // then continue computing with potentially corrupted heap\n // state, we here defensively get keys.length first and then use\n // it to update both the keys and the values array, keeping\n // them in sync. We update the two with an order of assignments,\n // such that any prefix of these assignments will preserve the\n // key/value correspondence, either before or after the delete.\n // Note that this needs to work correctly when index === lastIndex.\n lastIndex = keys.length - 1;\n keys[index] = void 0;\n // If we crash here, there's a void 0 in the keys array, but\n // no operation will cause a \"keys.indexOf(void 0)\", since\n // getHiddenRecord(void 0) will always throw an error first.\n values[index] = values[lastIndex];\n // If we crash here, values[index] cannot be found here,\n // because keys[index] is void 0.\n keys[index] = keys[lastIndex];\n // If index === lastIndex and we crash here, then keys[index]\n // is still void 0, since the aliasing killed the previous key.\n keys.length = lastIndex;\n // If we crash here, keys will be one shorter than values.\n values.length = lastIndex;\n return true;\n }\n }\n\n return Object.create(OurWeakMap.prototype, {\n get___: { value: constFunc(get___) },\n has___: { value: constFunc(has___) },\n set___: { value: constFunc(set___) },\n delete___: { value: constFunc(delete___) }\n });\n };\n\n OurWeakMap.prototype = Object.create(Object.prototype, {\n get: {\n /**\n * Return the value most recently associated with key, or\n * opt_default if none.\n */\n value: function get(key, opt_default) {\n return this.get___(key, opt_default);\n },\n writable: true,\n configurable: true\n },\n\n has: {\n /**\n * Is there a value associated with key in this WeakMap?\n */\n value: function has(key) {\n return this.has___(key);\n },\n writable: true,\n configurable: true\n },\n\n set: {\n /**\n * Associate value with key in this WeakMap, overwriting any\n * previous association if present.\n */\n value: function set(key, value) {\n return this.set___(key, value);\n },\n writable: true,\n configurable: true\n },\n\n 'delete': {\n /**\n * Remove any association for key in this WeakMap, returning\n * whether there was one.\n *\n *

Note that the boolean return here does not work like the\n * {@code delete} operator. The {@code delete} operator returns\n * whether the deletion succeeds at bringing about a state in\n * which the deleted property is absent. The {@code delete}\n * operator therefore returns true if the property was already\n * absent, whereas this {@code delete} method returns false if\n * the association was already absent.\n */\n value: function remove(key) {\n return this.delete___(key);\n },\n writable: true,\n configurable: true\n }\n });\n\n if (typeof HostWeakMap === 'function') {\n (function() {\n // If we got here, then the platform has a WeakMap but we are concerned\n // that it may refuse to store some key types. Therefore, make a map\n // implementation which makes use of both as possible.\n\n // In this mode we are always using double maps, so we are not proxy-safe.\n // This combination does not occur in any known browser, but we had best\n // be safe.\n if (doubleWeakMapCheckSilentFailure && typeof Proxy !== 'undefined') {\n Proxy = undefined;\n }\n\n function DoubleWeakMap() {\n if (!(this instanceof OurWeakMap)) { // approximate test for new ...()\n calledAsFunctionWarning();\n }\n\n // Preferable, truly weak map.\n var hmap = new HostWeakMap();\n\n // Our hidden-property-based pseudo-weak-map. Lazily initialized in the\n // 'set' implementation; thus we can avoid performing extra lookups if\n // we know all entries actually stored are entered in 'hmap'.\n var omap = undefined;\n\n // Hidden-property maps are not compatible with proxies because proxies\n // can observe the hidden name and either accidentally expose it or fail\n // to allow the hidden property to be set. Therefore, we do not allow\n // arbitrary WeakMaps to switch to using hidden properties, but only\n // those which need the ability, and unprivileged code is not allowed\n // to set the flag.\n //\n // (Except in doubleWeakMapCheckSilentFailure mode in which case we\n // disable proxies.)\n var enableSwitching = false;\n\n function dget(key, opt_default) {\n if (omap) {\n return hmap.has(key) ? hmap.get(key)\n : omap.get___(key, opt_default);\n } else {\n return hmap.get(key, opt_default);\n }\n }\n\n function dhas(key) {\n return hmap.has(key) || (omap ? omap.has___(key) : false);\n }\n\n var dset;\n if (doubleWeakMapCheckSilentFailure) {\n dset = function(key, value) {\n hmap.set(key, value);\n if (!hmap.has(key)) {\n if (!omap) { omap = new OurWeakMap(); }\n omap.set(key, value);\n }\n return this;\n };\n } else {\n dset = function(key, value) {\n if (enableSwitching) {\n try {\n hmap.set(key, value);\n } catch (e) {\n if (!omap) { omap = new OurWeakMap(); }\n omap.set___(key, value);\n }\n } else {\n hmap.set(key, value);\n }\n return this;\n };\n }\n\n function ddelete(key) {\n var result = !!hmap['delete'](key);\n if (omap) { return omap.delete___(key) || result; }\n return result;\n }\n\n return Object.create(OurWeakMap.prototype, {\n get___: { value: constFunc(dget) },\n has___: { value: constFunc(dhas) },\n set___: { value: constFunc(dset) },\n delete___: { value: constFunc(ddelete) },\n permitHostObjects___: { value: constFunc(function(token) {\n if (token === weakMapPermitHostObjects) {\n enableSwitching = true;\n } else {\n throw new Error('bogus call to permitHostObjects___');\n }\n })}\n });\n }\n DoubleWeakMap.prototype = OurWeakMap.prototype;\n module.exports = DoubleWeakMap;\n\n // define .constructor to hide OurWeakMap ctor\n Object.defineProperty(WeakMap.prototype, 'constructor', {\n value: WeakMap,\n enumerable: false, // as default .constructor is\n configurable: true,\n writable: true\n });\n })();\n } else {\n // There is no host WeakMap, so we must use the emulation.\n\n // Emulated WeakMaps are incompatible with native proxies (because proxies\n // can observe the hidden name), so we must disable Proxy usage (in\n // ArrayLike and Domado, currently).\n if (typeof Proxy !== 'undefined') {\n Proxy = undefined;\n }\n\n module.exports = OurWeakMap;\n }\n})();\n\n\n/***/ }),\n\n/***/ \"2f68\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"f1c3\");\n\n\n/***/ }),\n\n/***/ \"2ff0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar attributes = __webpack_require__(\"02ea\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n var i, j;\n\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var x = coerce('x');\n var y = coerce('y');\n\n var z = coerce('z');\n if(!z || !z.length ||\n (x ? (x.length < 1) : false) ||\n (y ? (y.length < 1) : false)\n ) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._xlength = (Array.isArray(x) && Lib.isArrayOrTypedArray(x[0])) ? z.length : z[0].length;\n traceOut._ylength = z.length;\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y', 'z'], layout);\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n // Coerce remaining properties\n [\n 'lighting.ambient',\n 'lighting.diffuse',\n 'lighting.specular',\n 'lighting.roughness',\n 'lighting.fresnel',\n 'lightposition.x',\n 'lightposition.y',\n 'lightposition.z',\n 'hidesurface',\n 'connectgaps',\n 'opacity'\n ].forEach(function(x) { coerce(x); });\n\n var surfaceColor = coerce('surfacecolor');\n\n var dims = ['x', 'y', 'z'];\n for(i = 0; i < 3; ++i) {\n var contourDim = 'contours.' + dims[i];\n var show = coerce(contourDim + '.show');\n var highlight = coerce(contourDim + '.highlight');\n\n if(show || highlight) {\n for(j = 0; j < 3; ++j) {\n coerce(contourDim + '.project.' + dims[j]);\n }\n }\n\n if(show) {\n coerce(contourDim + '.color');\n coerce(contourDim + '.width');\n coerce(contourDim + '.usecolormap');\n }\n\n if(highlight) {\n coerce(contourDim + '.highlightcolor');\n coerce(contourDim + '.highlightwidth');\n }\n\n coerce(contourDim + '.start');\n coerce(contourDim + '.end');\n coerce(contourDim + '.size');\n }\n\n // backward compatibility block\n if(!surfaceColor) {\n mapLegacy(traceIn, 'zmin', 'cmin');\n mapLegacy(traceIn, 'zmax', 'cmax');\n mapLegacy(traceIn, 'zauto', 'cauto');\n }\n\n // TODO if contours.?.usecolormap are false and hidesurface is true\n // the colorbar shouldn't be shown by default\n\n colorscaleDefaults(\n traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'c'}\n );\n\n // disable 1D transforms - currently surface does NOT support column data like heatmap does\n // you can use mesh3d for this use case, but not surface\n traceOut._length = null;\n};\n\nfunction mapLegacy(traceIn, oldAttr, newAttr) {\n if(oldAttr in traceIn && !(newAttr in traceIn)) {\n traceIn[newAttr] = traceIn[oldAttr];\n }\n}\n\n\n/***/ }),\n\n/***/ \"3022\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = Object({\"NODE_ENV\":\"production\",\"BASE_URL\":\"\"}).NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = __webpack_require__(\"d60a\");\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = __webpack_require__(\"28a0\");\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"3029\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = solveIntersection\n\nvar ratMul = __webpack_require__(\"3bd6\")\nvar ratDiv = __webpack_require__(\"18a2\")\nvar ratSub = __webpack_require__(\"9c7c\")\nvar ratSign = __webpack_require__(\"3dac\")\nvar rvSub = __webpack_require__(\"66ac\")\nvar rvAdd = __webpack_require__(\"e56e\")\nvar rvMuls = __webpack_require__(\"093d\")\n\nfunction ratPerp (a, b) {\n return ratSub(ratMul(a[0], b[1]), ratMul(a[1], b[0]))\n}\n\n// Solve for intersection\n// x = a + t (b-a)\n// (x - c) ^ (d-c) = 0\n// (t * (b-a) + (a-c) ) ^ (d-c) = 0\n// t * (b-a)^(d-c) = (d-c)^(a-c)\n// t = (d-c)^(a-c) / (b-a)^(d-c)\n\nfunction solveIntersection (a, b, c, d) {\n var ba = rvSub(b, a)\n var dc = rvSub(d, c)\n\n var baXdc = ratPerp(ba, dc)\n\n if (ratSign(baXdc) === 0) {\n return null\n }\n\n var ac = rvSub(a, c)\n var dcXac = ratPerp(dc, ac)\n\n var t = ratDiv(dcXac, baXdc)\n var s = rvMuls(ba, t)\n var r = rvAdd(a, s)\n\n return r\n}\n\n\n/***/ }),\n\n/***/ \"3044\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar heatmapAttrs = __webpack_require__(\"0435\");\nvar contourAttrs = __webpack_require__(\"43ef\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar contourContourAttrs = contourAttrs.contours;\n\nmodule.exports = extendFlat({\n carpet: {\n valType: 'string',\n \n editType: 'calc',\n \n },\n z: heatmapAttrs.z,\n a: heatmapAttrs.x,\n a0: heatmapAttrs.x0,\n da: heatmapAttrs.dx,\n b: heatmapAttrs.y,\n b0: heatmapAttrs.y0,\n db: heatmapAttrs.dy,\n text: heatmapAttrs.text,\n hovertext: heatmapAttrs.hovertext,\n transpose: heatmapAttrs.transpose,\n atype: heatmapAttrs.xtype,\n btype: heatmapAttrs.ytype,\n\n fillcolor: contourAttrs.fillcolor,\n\n autocontour: contourAttrs.autocontour,\n ncontours: contourAttrs.ncontours,\n\n contours: {\n type: contourContourAttrs.type,\n start: contourContourAttrs.start,\n end: contourContourAttrs.end,\n size: contourContourAttrs.size,\n coloring: {\n // from contourAttrs.contours.coloring but no 'heatmap' option\n valType: 'enumerated',\n values: ['fill', 'lines', 'none'],\n dflt: 'fill',\n \n editType: 'calc',\n \n },\n showlines: contourContourAttrs.showlines,\n showlabels: contourContourAttrs.showlabels,\n labelfont: contourContourAttrs.labelfont,\n labelformat: contourContourAttrs.labelformat,\n operation: contourContourAttrs.operation,\n value: contourContourAttrs.value,\n editType: 'calc',\n impliedEdits: {'autocontour': false}\n },\n\n line: {\n color: contourAttrs.line.color,\n width: contourAttrs.line.width,\n dash: contourAttrs.line.dash,\n smoothing: contourAttrs.line.smoothing,\n editType: 'plot'\n },\n\n transforms: undefined\n},\n\n colorScaleAttrs('', {\n cLetter: 'z',\n autoColorDflt: false\n })\n);\n\n\n/***/ }),\n\n/***/ \"3068\":\n/***/ (function(module, exports) {\n\nvar reg = /[\\'\\\"]/\n\nmodule.exports = function unquote(str) {\n if (!str) {\n return ''\n }\n if (reg.test(str.charAt(0))) {\n str = str.substr(1)\n }\n if (reg.test(str.charAt(str.length - 1))) {\n str = str.substr(0, str.length - 1)\n }\n return str\n}\n\n\n/***/ }),\n\n/***/ \"306c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// Simple helper functions\n// none of these need any external deps\n\nmodule.exports = function identity(d) { return d; };\n\n\n/***/ }),\n\n/***/ \"3122\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = compareAngle\n\nvar orient = __webpack_require__(\"92ba\")\nvar sgn = __webpack_require__(\"79d9\")\nvar twoSum = __webpack_require__(\"d1bd\")\nvar robustProduct = __webpack_require__(\"91e1\")\nvar robustSum = __webpack_require__(\"a026\")\n\nfunction testInterior(a, b, c) {\n var x0 = twoSum(a[0], -b[0])\n var y0 = twoSum(a[1], -b[1])\n var x1 = twoSum(c[0], -b[0])\n var y1 = twoSum(c[1], -b[1])\n\n var d = robustSum(\n robustProduct(x0, x1),\n robustProduct(y0, y1))\n\n return d[d.length-1] >= 0\n}\n\nfunction compareAngle(a, b, c, d) {\n var bcd = orient(b, c, d)\n if(bcd === 0) {\n //Handle degenerate cases\n var sabc = sgn(orient(a, b, c))\n var sabd = sgn(orient(a, b, d))\n if(sabc === sabd) {\n if(sabc === 0) {\n var ic = testInterior(a, b, c)\n var id = testInterior(a, b, d)\n if(ic === id) {\n return 0\n } else if(ic) {\n return 1\n } else {\n return -1\n }\n }\n return 0\n } else if(sabd === 0) {\n if(sabc > 0) {\n return -1\n } else if(testInterior(a, b, d)) {\n return -1\n } else {\n return 1\n }\n } else if(sabc === 0) {\n if(sabd > 0) {\n return 1\n } else if(testInterior(a, b, c)) {\n return 1\n } else {\n return -1\n }\n }\n return sgn(sabd - sabc)\n }\n var abc = orient(a, b, c)\n if(abc > 0) {\n if(bcd > 0 && orient(a, b, d) > 0) {\n return 1\n }\n return -1\n } else if(abc < 0) {\n if(bcd > 0 || orient(a, b, d) > 0) {\n return 1\n }\n return -1\n } else {\n var abd = orient(a, b, d)\n if(abd > 0) {\n return 1\n } else {\n if(testInterior(a, b, c)) {\n return 1\n } else {\n return -1\n }\n }\n }\n}\n\n/***/ }),\n\n/***/ \"3146\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createBackgroundCube\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"c185\").bg\n\nfunction BackgroundCube(gl, buffer, vao, shader) {\n this.gl = gl\n this.buffer = buffer\n this.vao = vao\n this.shader = shader\n}\n\nvar proto = BackgroundCube.prototype\n\nproto.draw = function(model, view, projection, bounds, enable, colors) {\n var needsBG = false\n for(var i=0; i<3; ++i) {\n needsBG = needsBG || enable[i]\n }\n if(!needsBG) {\n return\n }\n\n var gl = this.gl\n\n gl.enable(gl.POLYGON_OFFSET_FILL)\n gl.polygonOffset(1, 2)\n\n this.shader.bind()\n this.shader.uniforms = {\n model: model,\n view: view,\n projection: projection,\n bounds: bounds,\n enable: enable,\n colors: colors\n }\n this.vao.bind()\n this.vao.draw(this.gl.TRIANGLES, 36)\n this.vao.unbind()\n\n gl.disable(gl.POLYGON_OFFSET_FILL)\n}\n\nproto.dispose = function() {\n this.vao.dispose()\n this.buffer.dispose()\n this.shader.dispose()\n}\n\nfunction createBackgroundCube(gl) {\n //Create cube vertices\n var vertices = []\n var indices = []\n var ptr = 0\n for(var d=0; d<3; ++d) {\n var u = (d+1) % 3\n var v = (d+2) % 3\n var x = [0,0,0]\n var c = [0,0,0]\n for(var s=-1; s<=1; s+=2) {\n indices.push(ptr, ptr+2, ptr+1,\n ptr+1, ptr+2, ptr+3)\n x[d] = s\n c[d] = s\n for(var i=-1; i<=1; i+=2) {\n x[u] = i\n for(var j=-1; j<=1; j+=2) {\n x[v] = j\n vertices.push(x[0], x[1], x[2],\n c[0], c[1], c[2])\n ptr += 1\n }\n }\n //Swap u and v\n var tt = u\n u = v\n v = tt\n }\n }\n\n //Allocate buffer and vertex array\n var buffer = createBuffer(gl, new Float32Array(vertices))\n var elements = createBuffer(gl, new Uint16Array(indices), gl.ELEMENT_ARRAY_BUFFER)\n var vao = createVAO(gl, [\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 0,\n stride: 24\n },\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 12,\n stride: 24\n }\n ], elements)\n\n //Create shader object\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.normal.location = 1\n\n return new BackgroundCube(gl, buffer, vao, shader)\n}\n\n\n/***/ }),\n\n/***/ \"320c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ \"3273\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar drawModule = __webpack_require__(\"236d\");\n\nmodule.exports = {\n moduleType: 'component',\n name: 'shapes',\n\n layoutAttributes: __webpack_require__(\"a5cc\"),\n supplyLayoutDefaults: __webpack_require__(\"567e\"),\n includeBasePlot: __webpack_require__(\"37d1\")('shapes'),\n\n calcAutorange: __webpack_require__(\"cef0\"),\n draw: drawModule.draw,\n drawOne: drawModule.drawOne\n};\n\n\n/***/ }),\n\n/***/ \"3350\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\n/** Marker symbol definitions\n * users can specify markers either by number or name\n * add 100 (or '-open') and you get an open marker\n * open markers have no fill and use line color as the stroke color\n * add 200 (or '-dot') and you get a dot in the middle\n * add both and you get both\n */\n\nmodule.exports = {\n circle: {\n n: 0,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',0A' + rs + ',' + rs + ' 0 1,1 0,-' + rs +\n 'A' + rs + ',' + rs + ' 0 0,1 ' + rs + ',0Z';\n }\n },\n square: {\n n: 1,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'H-' + rs + 'V-' + rs + 'H' + rs + 'Z';\n }\n },\n diamond: {\n n: 2,\n f: function(r) {\n var rd = d3.round(r * 1.3, 2);\n return 'M' + rd + ',0L0,' + rd + 'L-' + rd + ',0L0,-' + rd + 'Z';\n }\n },\n cross: {\n n: 3,\n f: function(r) {\n var rc = d3.round(r * 0.4, 2);\n var rc2 = d3.round(r * 1.2, 2);\n return 'M' + rc2 + ',' + rc + 'H' + rc + 'V' + rc2 + 'H-' + rc +\n 'V' + rc + 'H-' + rc2 + 'V-' + rc + 'H-' + rc + 'V-' + rc2 +\n 'H' + rc + 'V-' + rc + 'H' + rc2 + 'Z';\n }\n },\n x: {\n n: 4,\n f: function(r) {\n var rx = d3.round(r * 0.8 / Math.sqrt(2), 2);\n var ne = 'l' + rx + ',' + rx;\n var se = 'l' + rx + ',-' + rx;\n var sw = 'l-' + rx + ',-' + rx;\n var nw = 'l-' + rx + ',' + rx;\n return 'M0,' + rx + ne + se + sw + se + sw + nw + sw + nw + ne + nw + ne + 'Z';\n }\n },\n 'triangle-up': {\n n: 5,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M-' + rt + ',' + r2 + 'H' + rt + 'L0,-' + rs + 'Z';\n }\n },\n 'triangle-down': {\n n: 6,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M-' + rt + ',-' + r2 + 'H' + rt + 'L0,' + rs + 'Z';\n }\n },\n 'triangle-left': {\n n: 7,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M' + r2 + ',-' + rt + 'V' + rt + 'L-' + rs + ',0Z';\n }\n },\n 'triangle-right': {\n n: 8,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M-' + r2 + ',-' + rt + 'V' + rt + 'L' + rs + ',0Z';\n }\n },\n 'triangle-ne': {\n n: 9,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M-' + r2 + ',-' + r1 + 'H' + r1 + 'V' + r2 + 'Z';\n }\n },\n 'triangle-se': {\n n: 10,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M' + r1 + ',-' + r2 + 'V' + r1 + 'H-' + r2 + 'Z';\n }\n },\n 'triangle-sw': {\n n: 11,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M' + r2 + ',' + r1 + 'H-' + r1 + 'V-' + r2 + 'Z';\n }\n },\n 'triangle-nw': {\n n: 12,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M-' + r1 + ',' + r2 + 'V-' + r1 + 'H' + r2 + 'Z';\n }\n },\n pentagon: {\n n: 13,\n f: function(r) {\n var x1 = d3.round(r * 0.951, 2);\n var x2 = d3.round(r * 0.588, 2);\n var y0 = d3.round(-r, 2);\n var y1 = d3.round(r * -0.309, 2);\n var y2 = d3.round(r * 0.809, 2);\n return 'M' + x1 + ',' + y1 + 'L' + x2 + ',' + y2 + 'H-' + x2 +\n 'L-' + x1 + ',' + y1 + 'L0,' + y0 + 'Z';\n }\n },\n hexagon: {\n n: 14,\n f: function(r) {\n var y0 = d3.round(r, 2);\n var y1 = d3.round(r / 2, 2);\n var x = d3.round(r * Math.sqrt(3) / 2, 2);\n return 'M' + x + ',-' + y1 + 'V' + y1 + 'L0,' + y0 +\n 'L-' + x + ',' + y1 + 'V-' + y1 + 'L0,-' + y0 + 'Z';\n }\n },\n hexagon2: {\n n: 15,\n f: function(r) {\n var x0 = d3.round(r, 2);\n var x1 = d3.round(r / 2, 2);\n var y = d3.round(r * Math.sqrt(3) / 2, 2);\n return 'M-' + x1 + ',' + y + 'H' + x1 + 'L' + x0 +\n ',0L' + x1 + ',-' + y + 'H-' + x1 + 'L-' + x0 + ',0Z';\n }\n },\n octagon: {\n n: 16,\n f: function(r) {\n var a = d3.round(r * 0.924, 2);\n var b = d3.round(r * 0.383, 2);\n return 'M-' + b + ',-' + a + 'H' + b + 'L' + a + ',-' + b + 'V' + b +\n 'L' + b + ',' + a + 'H-' + b + 'L-' + a + ',' + b + 'V-' + b + 'Z';\n }\n },\n star: {\n n: 17,\n f: function(r) {\n var rs = r * 1.4;\n var x1 = d3.round(rs * 0.225, 2);\n var x2 = d3.round(rs * 0.951, 2);\n var x3 = d3.round(rs * 0.363, 2);\n var x4 = d3.round(rs * 0.588, 2);\n var y0 = d3.round(-rs, 2);\n var y1 = d3.round(rs * -0.309, 2);\n var y3 = d3.round(rs * 0.118, 2);\n var y4 = d3.round(rs * 0.809, 2);\n var y5 = d3.round(rs * 0.382, 2);\n return 'M' + x1 + ',' + y1 + 'H' + x2 + 'L' + x3 + ',' + y3 +\n 'L' + x4 + ',' + y4 + 'L0,' + y5 + 'L-' + x4 + ',' + y4 +\n 'L-' + x3 + ',' + y3 + 'L-' + x2 + ',' + y1 + 'H-' + x1 +\n 'L0,' + y0 + 'Z';\n }\n },\n hexagram: {\n n: 18,\n f: function(r) {\n var y = d3.round(r * 0.66, 2);\n var x1 = d3.round(r * 0.38, 2);\n var x2 = d3.round(r * 0.76, 2);\n return 'M-' + x2 + ',0l-' + x1 + ',-' + y + 'h' + x2 +\n 'l' + x1 + ',-' + y + 'l' + x1 + ',' + y + 'h' + x2 +\n 'l-' + x1 + ',' + y + 'l' + x1 + ',' + y + 'h-' + x2 +\n 'l-' + x1 + ',' + y + 'l-' + x1 + ',-' + y + 'h-' + x2 + 'Z';\n }\n },\n 'star-triangle-up': {\n n: 19,\n f: function(r) {\n var x = d3.round(r * Math.sqrt(3) * 0.8, 2);\n var y1 = d3.round(r * 0.8, 2);\n var y2 = d3.round(r * 1.6, 2);\n var rc = d3.round(r * 4, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M-' + x + ',' + y1 + aPart + x + ',' + y1 +\n aPart + '0,-' + y2 + aPart + '-' + x + ',' + y1 + 'Z';\n }\n },\n 'star-triangle-down': {\n n: 20,\n f: function(r) {\n var x = d3.round(r * Math.sqrt(3) * 0.8, 2);\n var y1 = d3.round(r * 0.8, 2);\n var y2 = d3.round(r * 1.6, 2);\n var rc = d3.round(r * 4, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M' + x + ',-' + y1 + aPart + '-' + x + ',-' + y1 +\n aPart + '0,' + y2 + aPart + x + ',-' + y1 + 'Z';\n }\n },\n 'star-square': {\n n: 21,\n f: function(r) {\n var rp = d3.round(r * 1.1, 2);\n var rc = d3.round(r * 2, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M-' + rp + ',-' + rp + aPart + '-' + rp + ',' + rp +\n aPart + rp + ',' + rp + aPart + rp + ',-' + rp +\n aPart + '-' + rp + ',-' + rp + 'Z';\n }\n },\n 'star-diamond': {\n n: 22,\n f: function(r) {\n var rp = d3.round(r * 1.4, 2);\n var rc = d3.round(r * 1.9, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M-' + rp + ',0' + aPart + '0,' + rp +\n aPart + rp + ',0' + aPart + '0,-' + rp +\n aPart + '-' + rp + ',0' + 'Z';\n }\n },\n 'diamond-tall': {\n n: 23,\n f: function(r) {\n var x = d3.round(r * 0.7, 2);\n var y = d3.round(r * 1.4, 2);\n return 'M0,' + y + 'L' + x + ',0L0,-' + y + 'L-' + x + ',0Z';\n }\n },\n 'diamond-wide': {\n n: 24,\n f: function(r) {\n var x = d3.round(r * 1.4, 2);\n var y = d3.round(r * 0.7, 2);\n return 'M0,' + y + 'L' + x + ',0L0,-' + y + 'L-' + x + ',0Z';\n }\n },\n hourglass: {\n n: 25,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'H-' + rs + 'L' + rs + ',-' + rs + 'H-' + rs + 'Z';\n },\n noDot: true\n },\n bowtie: {\n n: 26,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'V-' + rs + 'L-' + rs + ',' + rs + 'V-' + rs + 'Z';\n },\n noDot: true\n },\n 'circle-cross': {\n n: 27,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M0,' + rs + 'V-' + rs + 'M' + rs + ',0H-' + rs +\n 'M' + rs + ',0A' + rs + ',' + rs + ' 0 1,1 0,-' + rs +\n 'A' + rs + ',' + rs + ' 0 0,1 ' + rs + ',0Z';\n },\n needLine: true,\n noDot: true\n },\n 'circle-x': {\n n: 28,\n f: function(r) {\n var rs = d3.round(r, 2);\n var rc = d3.round(r / Math.sqrt(2), 2);\n return 'M' + rc + ',' + rc + 'L-' + rc + ',-' + rc +\n 'M' + rc + ',-' + rc + 'L-' + rc + ',' + rc +\n 'M' + rs + ',0A' + rs + ',' + rs + ' 0 1,1 0,-' + rs +\n 'A' + rs + ',' + rs + ' 0 0,1 ' + rs + ',0Z';\n },\n needLine: true,\n noDot: true\n },\n 'square-cross': {\n n: 29,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M0,' + rs + 'V-' + rs + 'M' + rs + ',0H-' + rs +\n 'M' + rs + ',' + rs + 'H-' + rs + 'V-' + rs + 'H' + rs + 'Z';\n },\n needLine: true,\n noDot: true\n },\n 'square-x': {\n n: 30,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'L-' + rs + ',-' + rs +\n 'M' + rs + ',-' + rs + 'L-' + rs + ',' + rs +\n 'M' + rs + ',' + rs + 'H-' + rs + 'V-' + rs + 'H' + rs + 'Z';\n },\n needLine: true,\n noDot: true\n },\n 'diamond-cross': {\n n: 31,\n f: function(r) {\n var rd = d3.round(r * 1.3, 2);\n return 'M' + rd + ',0L0,' + rd + 'L-' + rd + ',0L0,-' + rd + 'Z' +\n 'M0,-' + rd + 'V' + rd + 'M-' + rd + ',0H' + rd;\n },\n needLine: true,\n noDot: true\n },\n 'diamond-x': {\n n: 32,\n f: function(r) {\n var rd = d3.round(r * 1.3, 2);\n var r2 = d3.round(r * 0.65, 2);\n return 'M' + rd + ',0L0,' + rd + 'L-' + rd + ',0L0,-' + rd + 'Z' +\n 'M-' + r2 + ',-' + r2 + 'L' + r2 + ',' + r2 +\n 'M-' + r2 + ',' + r2 + 'L' + r2 + ',-' + r2;\n },\n needLine: true,\n noDot: true\n },\n 'cross-thin': {\n n: 33,\n f: function(r) {\n var rc = d3.round(r * 1.4, 2);\n return 'M0,' + rc + 'V-' + rc + 'M' + rc + ',0H-' + rc;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'x-thin': {\n n: 34,\n f: function(r) {\n var rx = d3.round(r, 2);\n return 'M' + rx + ',' + rx + 'L-' + rx + ',-' + rx +\n 'M' + rx + ',-' + rx + 'L-' + rx + ',' + rx;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n asterisk: {\n n: 35,\n f: function(r) {\n var rc = d3.round(r * 1.2, 2);\n var rs = d3.round(r * 0.85, 2);\n return 'M0,' + rc + 'V-' + rc + 'M' + rc + ',0H-' + rc +\n 'M' + rs + ',' + rs + 'L-' + rs + ',-' + rs +\n 'M' + rs + ',-' + rs + 'L-' + rs + ',' + rs;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n hash: {\n n: 36,\n f: function(r) {\n var r1 = d3.round(r / 2, 2);\n var r2 = d3.round(r, 2);\n return 'M' + r1 + ',' + r2 + 'V-' + r2 +\n 'm-' + r2 + ',0V' + r2 +\n 'M' + r2 + ',' + r1 + 'H-' + r2 +\n 'm0,-' + r2 + 'H' + r2;\n },\n needLine: true,\n noFill: true\n },\n 'y-up': {\n n: 37,\n f: function(r) {\n var x = d3.round(r * 1.2, 2);\n var y0 = d3.round(r * 1.6, 2);\n var y1 = d3.round(r * 0.8, 2);\n return 'M-' + x + ',' + y1 + 'L0,0M' + x + ',' + y1 + 'L0,0M0,-' + y0 + 'L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'y-down': {\n n: 38,\n f: function(r) {\n var x = d3.round(r * 1.2, 2);\n var y0 = d3.round(r * 1.6, 2);\n var y1 = d3.round(r * 0.8, 2);\n return 'M-' + x + ',-' + y1 + 'L0,0M' + x + ',-' + y1 + 'L0,0M0,' + y0 + 'L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'y-left': {\n n: 39,\n f: function(r) {\n var y = d3.round(r * 1.2, 2);\n var x0 = d3.round(r * 1.6, 2);\n var x1 = d3.round(r * 0.8, 2);\n return 'M' + x1 + ',' + y + 'L0,0M' + x1 + ',-' + y + 'L0,0M-' + x0 + ',0L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'y-right': {\n n: 40,\n f: function(r) {\n var y = d3.round(r * 1.2, 2);\n var x0 = d3.round(r * 1.6, 2);\n var x1 = d3.round(r * 0.8, 2);\n return 'M-' + x1 + ',' + y + 'L0,0M-' + x1 + ',-' + y + 'L0,0M' + x0 + ',0L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-ew': {\n n: 41,\n f: function(r) {\n var rc = d3.round(r * 1.4, 2);\n return 'M' + rc + ',0H-' + rc;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-ns': {\n n: 42,\n f: function(r) {\n var rc = d3.round(r * 1.4, 2);\n return 'M0,' + rc + 'V-' + rc;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-ne': {\n n: 43,\n f: function(r) {\n var rx = d3.round(r, 2);\n return 'M' + rx + ',-' + rx + 'L-' + rx + ',' + rx;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-nw': {\n n: 44,\n f: function(r) {\n var rx = d3.round(r, 2);\n return 'M' + rx + ',' + rx + 'L-' + rx + ',-' + rx;\n },\n needLine: true,\n noDot: true,\n noFill: true\n }\n};\n\n\n/***/ }),\n\n/***/ \"33ae\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar str2RGBArray = __webpack_require__(\"f977\");\n\nvar AXES_NAMES = ['xaxis', 'yaxis', 'zaxis'];\n\nfunction SpikeOptions() {\n this.enabled = [true, true, true];\n this.colors = [[0, 0, 0, 1],\n [0, 0, 0, 1],\n [0, 0, 0, 1]];\n this.drawSides = [true, true, true];\n this.lineWidth = [1, 1, 1];\n}\n\nvar proto = SpikeOptions.prototype;\n\nproto.merge = function(sceneLayout) {\n for(var i = 0; i < 3; ++i) {\n var axes = sceneLayout[AXES_NAMES[i]];\n\n if(!axes.visible) {\n this.enabled[i] = false;\n this.drawSides[i] = false;\n continue;\n }\n\n this.enabled[i] = axes.showspikes;\n this.colors[i] = str2RGBArray(axes.spikecolor);\n this.drawSides[i] = axes.spikesides;\n this.lineWidth[i] = axes.spikethickness;\n }\n};\n\nfunction createSpikeOptions(layout) {\n var result = new SpikeOptions();\n result.merge(layout);\n return result;\n}\n\nmodule.exports = createSpikeOptions;\n\n\n/***/ }),\n\n/***/ \"342f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n\n/***/ \"3473\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isIterable = __webpack_require__(\"91e3\");\n\nmodule.exports = function (value) {\n\tif (!isIterable(value)) throw new TypeError(value + \" is not iterable\");\n\treturn value;\n};\n\n\n/***/ }),\n\n/***/ \"348d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar histogram2dAttrs = __webpack_require__(\"1590\");\nvar contourAttrs = __webpack_require__(\"43ef\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = extendFlat({\n x: histogram2dAttrs.x,\n y: histogram2dAttrs.y,\n z: histogram2dAttrs.z,\n marker: histogram2dAttrs.marker,\n\n histnorm: histogram2dAttrs.histnorm,\n histfunc: histogram2dAttrs.histfunc,\n nbinsx: histogram2dAttrs.nbinsx,\n xbins: histogram2dAttrs.xbins,\n nbinsy: histogram2dAttrs.nbinsy,\n ybins: histogram2dAttrs.ybins,\n autobinx: histogram2dAttrs.autobinx,\n autobiny: histogram2dAttrs.autobiny,\n\n bingroup: histogram2dAttrs.bingroup,\n xbingroup: histogram2dAttrs.xbingroup,\n ybingroup: histogram2dAttrs.ybingroup,\n\n autocontour: contourAttrs.autocontour,\n ncontours: contourAttrs.ncontours,\n contours: contourAttrs.contours,\n line: {\n color: contourAttrs.line.color,\n width: extendFlat({}, contourAttrs.line.width, {\n dflt: 0.5,\n \n }),\n dash: contourAttrs.line.dash,\n smoothing: contourAttrs.line.smoothing,\n editType: 'plot'\n },\n zhoverformat: histogram2dAttrs.zhoverformat,\n hovertemplate: histogram2dAttrs.hovertemplate\n},\n colorScaleAttrs('', {\n cLetter: 'z',\n editTypeOverride: 'calc'\n })\n);\n\n\n/***/ }),\n\n/***/ \"34cc\":\n/***/ (function(module, exports) {\n\n// (c) Copyright 2017, Sean Connelly (@voidqk), http://syntheti.cc\n// MIT License\n// Project Home: https://github.com/voidqk/polybooljs\n\n//\n// convert between PolyBool polygon format and GeoJSON formats (Polygon and MultiPolygon)\n//\n\nvar GeoJSON = {\n\t// convert a GeoJSON object to a PolyBool polygon\n\ttoPolygon: function(PolyBool, geojson){\n\n\t\t// converts list of LineString's to segments\n\t\tfunction GeoPoly(coords){\n\t\t\t// check for empty coords\n\t\t\tif (coords.length <= 0)\n\t\t\t\treturn PolyBool.segments({ inverted: false, regions: [] });\n\n\t\t\t// convert LineString to segments\n\t\t\tfunction LineString(ls){\n\t\t\t\t// remove tail which should be the same as head\n\t\t\t\tvar reg = ls.slice(0, ls.length - 1);\n\t\t\t\treturn PolyBool.segments({ inverted: false, regions: [reg] });\n\t\t\t}\n\n\t\t\t// the first LineString is considered the outside\n\t\t\tvar out = LineString(coords[0]);\n\n\t\t\t// the rest of the LineStrings are considered interior holes, so subtract them from the\n\t\t\t// current result\n\t\t\tfor (var i = 1; i < coords.length; i++)\n\t\t\t\tout = PolyBool.selectDifference(PolyBool.combine(out, LineString(coords[i])));\n\n\t\t\treturn out;\n\t\t}\n\n\t\tif (geojson.type === 'Polygon'){\n\t\t\t// single polygon, so just convert it and we're done\n\t\t\treturn PolyBool.polygon(GeoPoly(geojson.coordinates));\n\t\t}\n\t\telse if (geojson.type === 'MultiPolygon'){\n\t\t\t// multiple polygons, so union all the polygons together\n\t\t\tvar out = PolyBool.segments({ inverted: false, regions: [] });\n\t\t\tfor (var i = 0; i < geojson.coordinates.length; i++)\n\t\t\t\tout = PolyBool.selectUnion(PolyBool.combine(out, GeoPoly(geojson.coordinates[i])));\n\t\t\treturn PolyBool.polygon(out);\n\t\t}\n\t\tthrow new Error('PolyBool: Cannot convert GeoJSON object to PolyBool polygon');\n\t},\n\n\t// convert a PolyBool polygon to a GeoJSON object\n\tfromPolygon: function(PolyBool, eps, poly){\n\t\t// make sure out polygon is clean\n\t\tpoly = PolyBool.polygon(PolyBool.segments(poly));\n\n\t\t// test if r1 is inside r2\n\t\tfunction regionInsideRegion(r1, r2){\n\t\t\t// we're guaranteed no lines intersect (because the polygon is clean), but a vertex\n\t\t\t// could be on the edge -- so we just average pt[0] and pt[1] to produce a point on the\n\t\t\t// edge of the first line, which cannot be on an edge\n\t\t\treturn eps.pointInsideRegion([\n\t\t\t\t(r1[0][0] + r1[1][0]) * 0.5,\n\t\t\t\t(r1[0][1] + r1[1][1]) * 0.5\n\t\t\t], r2);\n\t\t}\n\n\t\t// calculate inside heirarchy\n\t\t//\n\t\t// _____________________ _______ roots -> A -> F\n\t\t// | A | | F | | |\n\t\t// | _______ _______ | | ___ | +-- B +-- G\n\t\t// | | B | | C | | | | | | | |\n\t\t// | | ___ | | ___ | | | | | | | +-- D\n\t\t// | | | D | | | | E | | | | | G | | |\n\t\t// | | |___| | | |___| | | | | | | +-- C\n\t\t// | |_______| |_______| | | |___| | |\n\t\t// |_____________________| |_______| +-- E\n\n\t\tfunction newNode(region){\n\t\t\treturn {\n\t\t\t\tregion: region,\n\t\t\t\tchildren: []\n\t\t\t};\n\t\t}\n\n\t\tvar roots = newNode(null);\n\n\t\tfunction addChild(root, region){\n\t\t\t// first check if we're inside any children\n\t\t\tfor (var i = 0; i < root.children.length; i++){\n\t\t\t\tvar child = root.children[i];\n\t\t\t\tif (regionInsideRegion(region, child.region)){\n\t\t\t\t\t// we are, so insert inside them instead\n\t\t\t\t\taddChild(child, region);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// not inside any children, so check to see if any children are inside us\n\t\t\tvar node = newNode(region);\n\t\t\tfor (var i = 0; i < root.children.length; i++){\n\t\t\t\tvar child = root.children[i];\n\t\t\t\tif (regionInsideRegion(child.region, region)){\n\t\t\t\t\t// oops... move the child beneath us, and remove them from root\n\t\t\t\t\tnode.children.push(child);\n\t\t\t\t\troot.children.splice(i, 1);\n\t\t\t\t\ti--;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// now we can add ourselves\n\t\t\troot.children.push(node);\n\t\t}\n\n\t\t// add all regions to the root\n\t\tfor (var i = 0; i < poly.regions.length; i++){\n\t\t\tvar region = poly.regions[i];\n\t\t\tif (region.length < 3) // regions must have at least 3 points (sanity check)\n\t\t\t\tcontinue;\n\t\t\taddChild(roots, region);\n\t\t}\n\n\t\t// with our heirarchy, we can distinguish between exterior borders, and interior holes\n\t\t// the root nodes are exterior, children are interior, children's children are exterior,\n\t\t// children's children's children are interior, etc\n\n\t\t// while we're at it, exteriors are counter-clockwise, and interiors are clockwise\n\n\t\tfunction forceWinding(region, clockwise){\n\t\t\t// first, see if we're clockwise or counter-clockwise\n\t\t\t// https://en.wikipedia.org/wiki/Shoelace_formula\n\t\t\tvar winding = 0;\n\t\t\tvar last_x = region[region.length - 1][0];\n\t\t\tvar last_y = region[region.length - 1][1];\n\t\t\tvar copy = [];\n\t\t\tfor (var i = 0; i < region.length; i++){\n\t\t\t\tvar curr_x = region[i][0];\n\t\t\t\tvar curr_y = region[i][1];\n\t\t\t\tcopy.push([curr_x, curr_y]); // create a copy while we're at it\n\t\t\t\twinding += curr_y * last_x - curr_x * last_y;\n\t\t\t\tlast_x = curr_x;\n\t\t\t\tlast_y = curr_y;\n\t\t\t}\n\t\t\t// this assumes Cartesian coordinates (Y is positive going up)\n\t\t\tvar isclockwise = winding < 0;\n\t\t\tif (isclockwise !== clockwise)\n\t\t\t\tcopy.reverse();\n\t\t\t// while we're here, the last point must be the first point...\n\t\t\tcopy.push([copy[0][0], copy[0][1]]);\n\t\t\treturn copy;\n\t\t}\n\n\t\tvar geopolys = [];\n\n\t\tfunction addExterior(node){\n\t\t\tvar poly = [forceWinding(node.region, false)];\n\t\t\tgeopolys.push(poly);\n\t\t\t// children of exteriors are interior\n\t\t\tfor (var i = 0; i < node.children.length; i++)\n\t\t\t\tpoly.push(getInterior(node.children[i]));\n\t\t}\n\n\t\tfunction getInterior(node){\n\t\t\t// children of interiors are exterior\n\t\t\tfor (var i = 0; i < node.children.length; i++)\n\t\t\t\taddExterior(node.children[i]);\n\t\t\t// return the clockwise interior\n\t\t\treturn forceWinding(node.region, true);\n\t\t}\n\n\t\t// root nodes are exterior\n\t\tfor (var i = 0; i < roots.children.length; i++)\n\t\t\taddExterior(roots.children[i]);\n\n\t\t// lastly, construct the approrpriate GeoJSON object\n\n\t\tif (geopolys.length <= 0) // empty GeoJSON Polygon\n\t\t\treturn { type: 'Polygon', coordinates: [] };\n\t\tif (geopolys.length == 1) // use a GeoJSON Polygon\n\t\t\treturn { type: 'Polygon', coordinates: geopolys[0] };\n\t\treturn { // otherwise, use a GeoJSON MultiPolygon\n\t\t\ttype: 'MultiPolygon',\n\t\t\tcoordinates: geopolys\n\t\t};\n\t}\n};\n\nmodule.exports = GeoJSON;\n\n\n/***/ }),\n\n/***/ \"34d8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar barPlot = __webpack_require__(\"c791\");\nvar clearMinTextSize = __webpack_require__(\"93a6\").clearMinTextSize;\n\nmodule.exports = function plot(gd, plotinfo, cdModule, traceLayer) {\n var fullLayout = gd._fullLayout;\n\n clearMinTextSize('funnel', fullLayout);\n\n plotConnectorRegions(gd, plotinfo, cdModule, traceLayer);\n plotConnectorLines(gd, plotinfo, cdModule, traceLayer);\n\n barPlot.plot(gd, plotinfo, cdModule, traceLayer, {\n mode: fullLayout.funnelmode,\n norm: fullLayout.funnelmode,\n gap: fullLayout.funnelgap,\n groupgap: fullLayout.funnelgroupgap\n });\n};\n\nfunction plotConnectorRegions(gd, plotinfo, cdModule, traceLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {\n var plotGroup = d3.select(this);\n var trace = cd[0].trace;\n\n var group = Lib.ensureSingle(plotGroup, 'g', 'regions');\n\n if(!trace.connector || !trace.connector.visible) {\n group.remove();\n return;\n }\n\n var isHorizontal = (trace.orientation === 'h');\n\n var connectors = group.selectAll('g.region').data(Lib.identity);\n\n connectors.enter().append('g')\n .classed('region', true);\n\n connectors.exit().remove();\n\n var len = connectors.size();\n\n connectors.each(function(di, i) {\n // don't draw lines between nulls\n if(i !== len - 1 && !di.cNext) return;\n\n var xy = getXY(di, xa, ya, isHorizontal);\n var x = xy[0];\n var y = xy[1];\n\n var shape = '';\n\n if(x[3] !== undefined && y[3] !== undefined) {\n if(isHorizontal) {\n shape += 'M' + x[0] + ',' + y[1] + 'L' + x[2] + ',' + y[2] + 'H' + x[3] + 'L' + x[1] + ',' + y[1] + 'Z';\n } else {\n shape += 'M' + x[1] + ',' + y[1] + 'L' + x[2] + ',' + y[3] + 'V' + y[2] + 'L' + x[1] + ',' + y[0] + 'Z';\n }\n }\n\n Lib.ensureSingle(d3.select(this), 'path')\n .attr('d', shape)\n .call(Drawing.setClipUrl, plotinfo.layerClipId, gd);\n });\n });\n}\n\nfunction plotConnectorLines(gd, plotinfo, cdModule, traceLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {\n var plotGroup = d3.select(this);\n var trace = cd[0].trace;\n\n var group = Lib.ensureSingle(plotGroup, 'g', 'lines');\n\n if(!trace.connector || !trace.connector.visible || !trace.connector.line.width) {\n group.remove();\n return;\n }\n\n var isHorizontal = (trace.orientation === 'h');\n\n var connectors = group.selectAll('g.line').data(Lib.identity);\n\n connectors.enter().append('g')\n .classed('line', true);\n\n connectors.exit().remove();\n\n var len = connectors.size();\n\n connectors.each(function(di, i) {\n // don't draw lines between nulls\n if(i !== len - 1 && !di.cNext) return;\n\n var xy = getXY(di, xa, ya, isHorizontal);\n var x = xy[0];\n var y = xy[1];\n\n var shape = '';\n\n if(x[3] !== undefined && y[3] !== undefined) {\n if(isHorizontal) {\n shape += 'M' + x[0] + ',' + y[1] + 'L' + x[2] + ',' + y[2];\n shape += 'M' + x[1] + ',' + y[1] + 'L' + x[3] + ',' + y[2];\n } else {\n shape += 'M' + x[1] + ',' + y[1] + 'L' + x[2] + ',' + y[3];\n shape += 'M' + x[1] + ',' + y[0] + 'L' + x[2] + ',' + y[2];\n }\n }\n\n if(shape === '') shape = 'M0,0Z';\n\n Lib.ensureSingle(d3.select(this), 'path')\n .attr('d', shape)\n .call(Drawing.setClipUrl, plotinfo.layerClipId, gd);\n });\n });\n}\n\nfunction getXY(di, xa, ya, isHorizontal) {\n var s = [];\n var p = [];\n\n var sAxis = isHorizontal ? xa : ya;\n var pAxis = isHorizontal ? ya : xa;\n\n s[0] = sAxis.c2p(di.s0, true);\n p[0] = pAxis.c2p(di.p0, true);\n\n s[1] = sAxis.c2p(di.s1, true);\n p[1] = pAxis.c2p(di.p1, true);\n\n s[2] = sAxis.c2p(di.nextS0, true);\n p[2] = pAxis.c2p(di.nextP0, true);\n\n s[3] = sAxis.c2p(di.nextS1, true);\n p[3] = pAxis.c2p(di.nextP1, true);\n\n return isHorizontal ? [s, p] : [p, s];\n}\n\n\n/***/ }),\n\n/***/ \"34f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\nvar arrayEditor = __webpack_require__(\"a651\").arrayEditor;\n\nmodule.exports = {\n hasClickToShow: hasClickToShow,\n onClick: onClick\n};\n\n/*\n * hasClickToShow: does the given hoverData have ANY annotations which will\n * turn ON if we click here? (used by hover events to set cursor)\n *\n * gd: graphDiv\n * hoverData: a hoverData array, as included with the *plotly_hover* or\n * *plotly_click* events in the `points` attribute\n *\n * returns: boolean\n */\nfunction hasClickToShow(gd, hoverData) {\n var sets = getToggleSets(gd, hoverData);\n return sets.on.length > 0 || sets.explicitOff.length > 0;\n}\n\n/*\n * onClick: perform the toggling (via Plotly.update) implied by clicking\n * at this hoverData\n *\n * gd: graphDiv\n * hoverData: a hoverData array, as included with the *plotly_hover* or\n * *plotly_click* events in the `points` attribute\n *\n * returns: Promise that the update is complete\n */\nfunction onClick(gd, hoverData) {\n var toggleSets = getToggleSets(gd, hoverData);\n var onSet = toggleSets.on;\n var offSet = toggleSets.off.concat(toggleSets.explicitOff);\n var update = {};\n var annotationsOut = gd._fullLayout.annotations;\n var i, editHelpers;\n\n if(!(onSet.length || offSet.length)) return;\n\n for(i = 0; i < onSet.length; i++) {\n editHelpers = arrayEditor(gd.layout, 'annotations', annotationsOut[onSet[i]]);\n editHelpers.modifyItem('visible', true);\n Lib.extendFlat(update, editHelpers.getUpdateObj());\n }\n\n for(i = 0; i < offSet.length; i++) {\n editHelpers = arrayEditor(gd.layout, 'annotations', annotationsOut[offSet[i]]);\n editHelpers.modifyItem('visible', false);\n Lib.extendFlat(update, editHelpers.getUpdateObj());\n }\n\n return Registry.call('update', gd, {}, update);\n}\n\n/*\n * getToggleSets: find the annotations which will turn on or off at this\n * hoverData\n *\n * gd: graphDiv\n * hoverData: a hoverData array, as included with the *plotly_hover* or\n * *plotly_click* events in the `points` attribute\n *\n * returns: {\n * on: Array (indices of annotations to turn on),\n * off: Array (indices to turn off because you're not hovering on them),\n * explicitOff: Array (indices to turn off because you *are* hovering on them)\n * }\n */\nfunction getToggleSets(gd, hoverData) {\n var annotations = gd._fullLayout.annotations;\n var onSet = [];\n var offSet = [];\n var explicitOffSet = [];\n var hoverLen = (hoverData || []).length;\n\n var i, j, anni, showMode, pointj, xa, ya, toggleType;\n\n for(i = 0; i < annotations.length; i++) {\n anni = annotations[i];\n showMode = anni.clicktoshow;\n\n if(showMode) {\n for(j = 0; j < hoverLen; j++) {\n pointj = hoverData[j];\n xa = pointj.xaxis;\n ya = pointj.yaxis;\n\n if(xa._id === anni.xref &&\n ya._id === anni.yref &&\n xa.d2r(pointj.x) === clickData2r(anni._xclick, xa) &&\n ya.d2r(pointj.y) === clickData2r(anni._yclick, ya)\n ) {\n // match! toggle this annotation\n // regardless of its clicktoshow mode\n // but if it's onout mode, off is implicit\n if(anni.visible) {\n if(showMode === 'onout') toggleType = offSet;\n else toggleType = explicitOffSet;\n } else {\n toggleType = onSet;\n }\n toggleType.push(i);\n break;\n }\n }\n\n if(j === hoverLen) {\n // no match - only turn this annotation OFF, and only if\n // showmode is 'onout'\n if(anni.visible && showMode === 'onout') offSet.push(i);\n }\n }\n }\n\n return {on: onSet, off: offSet, explicitOff: explicitOffSet};\n}\n\n// to handle log axes until v2\nfunction clickData2r(d, ax) {\n return ax.type === 'log' ? ax.l2r(d) : ax.d2r(d);\n}\n\n\n/***/ }),\n\n/***/ \"3511\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar constraintMapping = __webpack_require__(\"11ab\");\nvar endPlus = __webpack_require__(\"bc6b\");\n\nmodule.exports = function emptyPathinfo(contours, plotinfo, cd0) {\n var contoursFinal = (contours.type === 'constraint') ?\n constraintMapping[contours._operation](contours.value) :\n contours;\n\n var cs = contoursFinal.size;\n var pathinfo = [];\n var end = endPlus(contoursFinal);\n\n var carpet = cd0.trace._carpetTrace;\n\n var basePathinfo = carpet ? {\n // store axes so we can convert to px\n xaxis: carpet.aaxis,\n yaxis: carpet.baxis,\n // full data arrays to use for interpolation\n x: cd0.a,\n y: cd0.b\n } : {\n xaxis: plotinfo.xaxis,\n yaxis: plotinfo.yaxis,\n x: cd0.x,\n y: cd0.y\n };\n\n for(var ci = contoursFinal.start; ci < end; ci += cs) {\n pathinfo.push(Lib.extendFlat({\n level: ci,\n // all the cells with nontrivial marching index\n crossings: {},\n // starting points on the edges of the lattice for each contour\n starts: [],\n // all unclosed paths (may have less items than starts,\n // if a path is closed by rounding)\n edgepaths: [],\n // all closed paths\n paths: [],\n z: cd0.z,\n smoothing: cd0.trace.line.smoothing\n }, basePathinfo));\n\n if(pathinfo.length > 1000) {\n Lib.warn('Too many contours, clipping at 1000', contours);\n break;\n }\n }\n return pathinfo;\n};\n\n\n/***/ }),\n\n/***/ \"351b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar toLogRange = __webpack_require__(\"f6b0\");\n\n/*\n * convertCoords: when converting an axis between log and linear\n * you need to alter any annotations on that axis to keep them\n * pointing at the same data point.\n * In v2.0 this will become obsolete\n *\n * gd: the plot div\n * ax: the axis being changed\n * newType: the type it's getting\n * doExtra: function(attr, val) from inside relayout that sets the attribute.\n * Use this to make the changes as it's aware if any other changes in the\n * same relayout call should override this conversion.\n */\nmodule.exports = function convertCoords(gd, ax, newType, doExtra) {\n ax = ax || {};\n\n var toLog = (newType === 'log') && (ax.type === 'linear');\n var fromLog = (newType === 'linear') && (ax.type === 'log');\n\n if(!(toLog || fromLog)) return;\n\n var annotations = gd._fullLayout.annotations;\n var axLetter = ax._id.charAt(0);\n var ann;\n var attrPrefix;\n\n function convert(attr) {\n var currentVal = ann[attr];\n var newVal = null;\n\n if(toLog) newVal = toLogRange(currentVal, ax.range);\n else newVal = Math.pow(10, currentVal);\n\n // if conversion failed, delete the value so it gets a default value\n if(!isNumeric(newVal)) newVal = null;\n\n doExtra(attrPrefix + attr, newVal);\n }\n\n for(var i = 0; i < annotations.length; i++) {\n ann = annotations[i];\n attrPrefix = 'annotations[' + i + '].';\n\n if(ann[axLetter + 'ref'] === ax._id) convert(axLetter);\n if(ann['a' + axLetter + 'ref'] === ax._id) convert('a' + axLetter);\n }\n};\n\n\n/***/ }),\n\n/***/ \"3560\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = boxIntersectIter\n\nvar pool = __webpack_require__(\"cea5\")\nvar bits = __webpack_require__(\"a48a\")\nvar bruteForce = __webpack_require__(\"b83d\")\nvar bruteForcePartial = bruteForce.partial\nvar bruteForceFull = bruteForce.full\nvar sweep = __webpack_require__(\"97e2\")\nvar findMedian = __webpack_require__(\"158b\")\nvar genPartition = __webpack_require__(\"8e58\")\n\n//Twiddle parameters\nvar BRUTE_FORCE_CUTOFF = 128 //Cut off for brute force search\nvar SCAN_CUTOFF = (1<<22) //Cut off for two way scan\nvar SCAN_COMPLETE_CUTOFF = (1<<22) \n\n//Partition functions\nvar partitionInteriorContainsInterval = genPartition(\n '!(lo>=p0)&&!(p1>=hi)', \n ['p0', 'p1'])\n\nvar partitionStartEqual = genPartition(\n 'lo===p0',\n ['p0'])\n\nvar partitionStartLessThan = genPartition(\n 'lo 0) {\n top -= 1\n\n var iptr = top * IFRAME_SIZE\n var axis = BOX_ISTACK[iptr]\n var redStart = BOX_ISTACK[iptr+1]\n var redEnd = BOX_ISTACK[iptr+2]\n var blueStart = BOX_ISTACK[iptr+3]\n var blueEnd = BOX_ISTACK[iptr+4]\n var state = BOX_ISTACK[iptr+5]\n\n var dptr = top * DFRAME_SIZE\n var lo = BOX_DSTACK[dptr]\n var hi = BOX_DSTACK[dptr+1]\n\n //Unpack state info\n var flip = (state & 1)\n var full = !!(state & 16)\n\n //Unpack indices\n var red = xBoxes\n var redIndex = xIndex\n var blue = yBoxes\n var blueIndex = yIndex\n if(flip) {\n red = yBoxes\n redIndex = yIndex\n blue = xBoxes\n blueIndex = xIndex\n }\n\n if(state & 2) {\n redEnd = partitionStartLessThan(\n d, axis,\n redStart, redEnd, red, redIndex,\n hi)\n if(redStart >= redEnd) {\n continue\n }\n }\n if(state & 4) {\n redStart = partitionEndLessThanEqual(\n d, axis,\n redStart, redEnd, red, redIndex,\n lo)\n if(redStart >= redEnd) {\n continue\n }\n }\n \n var redCount = redEnd - redStart\n var blueCount = blueEnd - blueStart\n\n if(full) {\n if(d * redCount * (redCount + blueCount) < SCAN_COMPLETE_CUTOFF) {\n retval = sweep.scanComplete(\n d, axis, visit, \n redStart, redEnd, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n continue\n }\n } else {\n if(d * Math.min(redCount, blueCount) < BRUTE_FORCE_CUTOFF) {\n //If input small, then use brute force\n retval = bruteForcePartial(\n d, axis, visit, flip,\n redStart, redEnd, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n continue\n } else if(d * redCount * blueCount < SCAN_CUTOFF) {\n //If input medium sized, then use sweep and prune\n retval = sweep.scanBipartite(\n d, axis, visit, flip, \n redStart, redEnd, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n continue\n }\n }\n \n //First, find all red intervals whose interior contains (lo,hi)\n var red0 = partitionInteriorContainsInterval(\n d, axis, \n redStart, redEnd, red, redIndex,\n lo, hi)\n\n //Lower dimensional case\n if(redStart < red0) {\n\n if(d * (red0 - redStart) < BRUTE_FORCE_CUTOFF) {\n //Special case for small inputs: use brute force\n retval = bruteForceFull(\n d, axis+1, visit,\n redStart, red0, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n } else if(axis === d-2) {\n if(flip) {\n retval = sweep.sweepBipartite(\n d, visit,\n blueStart, blueEnd, blue, blueIndex,\n redStart, red0, red, redIndex)\n } else {\n retval = sweep.sweepBipartite(\n d, visit,\n redStart, red0, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n }\n if(retval !== void 0) {\n return retval\n }\n } else {\n iterPush(top++,\n axis+1,\n redStart, red0,\n blueStart, blueEnd,\n flip,\n -Infinity, Infinity)\n iterPush(top++,\n axis+1,\n blueStart, blueEnd,\n redStart, red0,\n flip^1,\n -Infinity, Infinity)\n }\n }\n\n //Divide and conquer phase\n if(red0 < redEnd) {\n\n //Cut blue into 3 parts:\n //\n // Points < mid point\n // Points = mid point\n // Points > mid point\n //\n var blue0 = findMedian(\n d, axis, \n blueStart, blueEnd, blue, blueIndex)\n var mid = blue[elemSize * blue0 + axis]\n var blue1 = partitionStartEqual(\n d, axis,\n blue0, blueEnd, blue, blueIndex,\n mid)\n\n //Right case\n if(blue1 < blueEnd) {\n iterPush(top++,\n axis,\n red0, redEnd,\n blue1, blueEnd,\n (flip|4) + (full ? 16 : 0),\n mid, hi)\n }\n\n //Left case\n if(blueStart < blue0) {\n iterPush(top++,\n axis,\n red0, redEnd,\n blueStart, blue0,\n (flip|2) + (full ? 16 : 0),\n lo, mid)\n }\n\n //Center case (the hard part)\n if(blue0 + 1 === blue1) {\n //Optimization: Range with exactly 1 point, use a brute force scan\n if(full) {\n retval = onePointFull(\n d, axis, visit,\n red0, redEnd, red, redIndex,\n blue0, blue, blueIndex[blue0])\n } else {\n retval = onePointPartial(\n d, axis, visit, flip,\n red0, redEnd, red, redIndex,\n blue0, blue, blueIndex[blue0])\n }\n if(retval !== void 0) {\n return retval\n }\n } else if(blue0 < blue1) {\n var red1\n if(full) {\n //If full intersection, need to handle special case\n red1 = partitionContainsPoint(\n d, axis,\n red0, redEnd, red, redIndex,\n mid)\n if(red0 < red1) {\n var redX = partitionStartEqual(\n d, axis,\n red0, red1, red, redIndex,\n mid)\n if(axis === d-2) {\n //Degenerate sweep intersection:\n // [red0, redX] with [blue0, blue1]\n if(red0 < redX) {\n retval = sweep.sweepComplete(\n d, visit,\n red0, redX, red, redIndex,\n blue0, blue1, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n }\n\n //Normal sweep intersection:\n // [redX, red1] with [blue0, blue1]\n if(redX < red1) {\n retval = sweep.sweepBipartite(\n d, visit,\n redX, red1, red, redIndex,\n blue0, blue1, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n }\n } else {\n if(red0 < redX) {\n iterPush(top++,\n axis+1,\n red0, redX,\n blue0, blue1,\n 16,\n -Infinity, Infinity)\n }\n if(redX < red1) {\n iterPush(top++,\n axis+1,\n redX, red1,\n blue0, blue1,\n 0,\n -Infinity, Infinity)\n iterPush(top++,\n axis+1,\n blue0, blue1,\n redX, red1,\n 1,\n -Infinity, Infinity)\n }\n }\n }\n } else {\n if(flip) {\n red1 = partitionContainsPointProper(\n d, axis,\n red0, redEnd, red, redIndex,\n mid)\n } else {\n red1 = partitionContainsPoint(\n d, axis,\n red0, redEnd, red, redIndex,\n mid)\n }\n if(red0 < red1) {\n if(axis === d-2) {\n if(flip) {\n retval = sweep.sweepBipartite(\n d, visit,\n blue0, blue1, blue, blueIndex,\n red0, red1, red, redIndex)\n } else {\n retval = sweep.sweepBipartite(\n d, visit,\n red0, red1, red, redIndex,\n blue0, blue1, blue, blueIndex)\n }\n } else {\n iterPush(top++,\n axis+1,\n red0, red1,\n blue0, blue1,\n flip,\n -Infinity, Infinity)\n iterPush(top++,\n axis+1,\n blue0, blue1,\n red0, red1,\n flip^1,\n -Infinity, Infinity)\n }\n }\n }\n }\n }\n }\n}\n\n/***/ }),\n\n/***/ \"35b1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar determinant = __webpack_require__(\"c2ef\")\n\nvar NUM_EXPAND = 6\n\nfunction generateSolver(n) {\n var funcName = \"robustLinearSolve\" + n + \"d\"\n var code = [\"function \", funcName, \"(A,b){return [\"]\n for(var i=0; i 0) {\n code.push(\",\")\n }\n code.push(\"[\")\n for(var k=0; k 0) {\n code.push(\",\")\n }\n if(k === i) {\n code.push(\"+b[\", j, \"]\")\n } else {\n code.push(\"+A[\", j, \"][\", k, \"]\")\n }\n }\n code.push(\"]\")\n }\n code.push(\"]),\")\n }\n code.push(\"det(A)]}return \", funcName)\n var proc = new Function(\"det\", code.join(\"\"))\n if(n < 6) {\n return proc(determinant[n])\n }\n return proc(determinant)\n}\n\nfunction robustLinearSolve0d() {\n return [ 0 ]\n}\n\nfunction robustLinearSolve1d(A, b) {\n return [ [ b[0] ], [ A[0][0] ] ]\n}\n\nvar CACHE = [\n robustLinearSolve0d,\n robustLinearSolve1d\n]\n\nfunction generateDispatch() {\n while(CACHE.length < NUM_EXPAND) {\n CACHE.push(generateSolver(CACHE.length))\n }\n var procArgs = []\n var code = [\"function dispatchLinearSolve(A,b){switch(A.length){\"]\n for(var i=0; i>> 24\r\n\tvar g = (n & 0x00ff0000) >>> 16\r\n\tvar b = (n & 0x0000ff00) >>> 8\r\n\tvar a = n & 0x000000ff\r\n\r\n\tif (normalized === false) return [r, g, b, a]\r\n\r\n\treturn [r/255, g/255, b/255, a/255]\r\n}\r\n\n\n/***/ }),\n\n/***/ \"3642\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n/***/ }),\n\n/***/ \"36ea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar barPlot = __webpack_require__(\"c791\");\nvar clearMinTextSize = __webpack_require__(\"93a6\").clearMinTextSize;\n\nmodule.exports = function plot(gd, plotinfo, cdModule, traceLayer) {\n var fullLayout = gd._fullLayout;\n\n clearMinTextSize('waterfall', fullLayout);\n\n barPlot.plot(gd, plotinfo, cdModule, traceLayer, {\n mode: fullLayout.waterfallmode,\n norm: fullLayout.waterfallmode,\n gap: fullLayout.waterfallgap,\n groupgap: fullLayout.waterfallgroupgap\n });\n\n plotConnectors(gd, plotinfo, cdModule, traceLayer);\n};\n\nfunction plotConnectors(gd, plotinfo, cdModule, traceLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {\n var plotGroup = d3.select(this);\n var trace = cd[0].trace;\n\n var group = Lib.ensureSingle(plotGroup, 'g', 'lines');\n\n if(!trace.connector || !trace.connector.visible) {\n group.remove();\n return;\n }\n\n var isHorizontal = (trace.orientation === 'h');\n var mode = trace.connector.mode;\n\n var connectors = group.selectAll('g.line').data(Lib.identity);\n\n connectors.enter().append('g')\n .classed('line', true);\n\n connectors.exit().remove();\n\n var len = connectors.size();\n\n connectors.each(function(di, i) {\n // don't draw lines between nulls\n if(i !== len - 1 && !di.cNext) return;\n\n var xy = getXY(di, xa, ya, isHorizontal);\n var x = xy[0];\n var y = xy[1];\n\n var shape = '';\n\n if(mode === 'spanning') {\n if(!di.isSum && i > 0) {\n if(isHorizontal) {\n shape += 'M' + x[0] + ',' + y[1] + 'V' + y[0];\n } else {\n shape += 'M' + x[1] + ',' + y[0] + 'H' + x[0];\n }\n }\n }\n\n if(mode !== 'between') {\n if(di.isSum || i < len - 1) {\n if(isHorizontal) {\n shape += 'M' + x[1] + ',' + y[0] + 'V' + y[1];\n } else {\n shape += 'M' + x[0] + ',' + y[1] + 'H' + x[1];\n }\n }\n }\n\n if(x[2] !== undefined && y[2] !== undefined) {\n if(isHorizontal) {\n shape += 'M' + x[1] + ',' + y[1] + 'V' + y[2];\n } else {\n shape += 'M' + x[1] + ',' + y[1] + 'H' + x[2];\n }\n }\n\n if(shape === '') shape = 'M0,0Z';\n\n Lib.ensureSingle(d3.select(this), 'path')\n .attr('d', shape)\n .call(Drawing.setClipUrl, plotinfo.layerClipId, gd);\n });\n });\n}\n\nfunction getXY(di, xa, ya, isHorizontal) {\n var s = [];\n var p = [];\n\n var sAxis = isHorizontal ? xa : ya;\n var pAxis = isHorizontal ? ya : xa;\n\n s[0] = sAxis.c2p(di.s0, true);\n p[0] = pAxis.c2p(di.p0, true);\n\n s[1] = sAxis.c2p(di.s1, true);\n p[1] = pAxis.c2p(di.p1, true);\n\n s[2] = sAxis.c2p(di.nextS0, true);\n p[2] = pAxis.c2p(di.nextP0, true);\n\n return isHorizontal ? [s, p] : [p, s];\n}\n\n\n/***/ }),\n\n/***/ \"36fc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar boxLayoutAttrs = __webpack_require__(\"60dc\");\nvar extendFlat = __webpack_require__(\"fc26\").extendFlat;\n\nmodule.exports = {\n violinmode: extendFlat({}, boxLayoutAttrs.boxmode, {\n \n }),\n violingap: extendFlat({}, boxLayoutAttrs.boxgap, {\n \n }),\n violingroupgap: extendFlat({}, boxLayoutAttrs.boxgroupgap, {\n \n })\n};\n\n\n/***/ }),\n\n/***/ \"371e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Loggers = __webpack_require__(\"ae13\");\nvar noop = __webpack_require__(\"b778\");\nvar pushUnique = __webpack_require__(\"5a1b\");\nvar isPlainObject = __webpack_require__(\"1385\");\nvar addStyleRule = __webpack_require__(\"1b88\").addStyleRule;\nvar ExtendModule = __webpack_require__(\"9092\");\n\nvar basePlotAttributes = __webpack_require__(\"a876\");\nvar baseLayoutAttributes = __webpack_require__(\"a685\");\n\nvar extendFlat = ExtendModule.extendFlat;\nvar extendDeepAll = ExtendModule.extendDeepAll;\n\nexports.modules = {};\nexports.allCategories = {};\nexports.allTypes = [];\nexports.subplotsRegistry = {};\nexports.transformsRegistry = {};\nexports.componentsRegistry = {};\nexports.layoutArrayContainers = [];\nexports.layoutArrayRegexes = [];\nexports.traceLayoutAttributes = {};\nexports.localeRegistry = {};\nexports.apiMethodRegistry = {};\nexports.collectableSubplotTypes = null;\n\n/**\n * Top-level register routine, exported as Plotly.register\n *\n * @param {object array or array of objects} _modules :\n * module object or list of module object to register.\n *\n * A valid `moduleType: 'trace'` module has fields:\n * - name {string} : the trace type\n * - categories {array} : categories associated with this trace type,\n * tested with Register.traceIs()\n * - meta {object} : meta info (mostly for plot-schema)\n *\n * A valid `moduleType: 'locale'` module has fields:\n * - name {string} : the locale name. Should be a 2-digit language string ('en', 'de')\n * optionally with a country/region code ('en-GB', 'de-CH'). If a country\n * code is used but the base language locale has not yet been supplied,\n * we will use this locale for the base as well.\n * - dictionary {object} : the dictionary mapping input strings to localized strings\n * generally the keys should be the literal input strings, but\n * if default translations are provided you can use any string as a key.\n * - format {object} : a `d3.locale` format specifier for this locale\n * any omitted keys we'll fall back on en-US.\n *\n * A valid `moduleType: 'transform'` module has fields:\n * - name {string} : transform name\n * - transform {function} : default-level transform function\n * - calcTransform {function} : calc-level transform function\n * - attributes {object} : transform attributes declarations\n * - supplyDefaults {function} : attributes default-supply function\n *\n * A valid `moduleType: 'component'` module has fields:\n * - name {string} : the component name, used it with Register.getComponentMethod()\n * to employ component method.\n *\n * A valid `moduleType: 'apiMethod'` module has fields:\n * - name {string} : the api method name.\n * - fn {function} : the api method called with Register.call();\n *\n */\nexports.register = function register(_modules) {\n exports.collectableSubplotTypes = null;\n\n if(!_modules) {\n throw new Error('No argument passed to Plotly.register.');\n } else if(_modules && !Array.isArray(_modules)) {\n _modules = [_modules];\n }\n\n for(var i = 0; i < _modules.length; i++) {\n var newModule = _modules[i];\n\n if(!newModule) {\n throw new Error('Invalid module was attempted to be registered!');\n }\n\n switch(newModule.moduleType) {\n case 'trace':\n registerTraceModule(newModule);\n break;\n case 'transform':\n registerTransformModule(newModule);\n break;\n case 'component':\n registerComponentModule(newModule);\n break;\n case 'locale':\n registerLocale(newModule);\n break;\n case 'apiMethod':\n var name = newModule.name;\n exports.apiMethodRegistry[name] = newModule.fn;\n break;\n default:\n throw new Error('Invalid module was attempted to be registered!');\n }\n }\n};\n\n/**\n * Get registered module using trace object or trace type\n *\n * @param {object||string} trace\n * trace object with prop 'type' or trace type as a string\n * @return {object}\n * module object corresponding to trace type\n */\nexports.getModule = function(trace) {\n var _module = exports.modules[getTraceType(trace)];\n if(!_module) return false;\n return _module._module;\n};\n\n/**\n * Determine if this trace type is in a given category\n *\n * @param {object||string} traceType\n * a trace (object) or trace type (string)\n * @param {string} category\n * category in question\n * @return {boolean}\n */\nexports.traceIs = function(traceType, category) {\n traceType = getTraceType(traceType);\n\n // old plot.ly workspace hack, nothing to see here\n if(traceType === 'various') return false;\n\n var _module = exports.modules[traceType];\n\n if(!_module) {\n if(traceType && traceType !== 'area') {\n Loggers.log('Unrecognized trace type ' + traceType + '.');\n }\n\n _module = exports.modules[basePlotAttributes.type.dflt];\n }\n\n return !!_module.categories[category];\n};\n\n/**\n * Determine if this trace has a transform of the given type and return\n * array of matching indices.\n *\n * @param {object} data\n * a trace object (member of data or fullData)\n * @param {string} type\n * type of trace to test\n * @return {array}\n * array of matching indices. If none found, returns []\n */\nexports.getTransformIndices = function(data, type) {\n var indices = [];\n var transforms = data.transforms || [];\n for(var i = 0; i < transforms.length; i++) {\n if(transforms[i].type === type) {\n indices.push(i);\n }\n }\n return indices;\n};\n\n/**\n * Determine if this trace has a transform of the given type\n *\n * @param {object} data\n * a trace object (member of data or fullData)\n * @param {string} type\n * type of trace to test\n * @return {boolean}\n */\nexports.hasTransform = function(data, type) {\n var transforms = data.transforms || [];\n for(var i = 0; i < transforms.length; i++) {\n if(transforms[i].type === type) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * Retrieve component module method. Falls back on noop if either the\n * module or the method is missing, so the result can always be safely called\n *\n * @param {string} name\n * name of component (as declared in component module)\n * @param {string} method\n * name of component module method\n * @return {function}\n */\nexports.getComponentMethod = function(name, method) {\n var _module = exports.componentsRegistry[name];\n\n if(!_module) return noop;\n return _module[method] || noop;\n};\n\n/**\n * Call registered api method.\n *\n * @param {string} name : api method name\n * @param {...array} args : arguments passed to api method\n * @return {any} : returns api method output\n */\nexports.call = function() {\n var name = arguments[0];\n var args = [].slice.call(arguments, 1);\n return exports.apiMethodRegistry[name].apply(null, args);\n};\n\nfunction registerTraceModule(_module) {\n var thisType = _module.name;\n var categoriesIn = _module.categories;\n var meta = _module.meta;\n\n if(exports.modules[thisType]) {\n Loggers.log('Type ' + thisType + ' already registered');\n return;\n }\n\n if(!exports.subplotsRegistry[_module.basePlotModule.name]) {\n registerSubplot(_module.basePlotModule);\n }\n\n var categoryObj = {};\n for(var i = 0; i < categoriesIn.length; i++) {\n categoryObj[categoriesIn[i]] = true;\n exports.allCategories[categoriesIn[i]] = true;\n }\n\n exports.modules[thisType] = {\n _module: _module,\n categories: categoryObj\n };\n\n if(meta && Object.keys(meta).length) {\n exports.modules[thisType].meta = meta;\n }\n\n exports.allTypes.push(thisType);\n\n for(var componentName in exports.componentsRegistry) {\n mergeComponentAttrsToTrace(componentName, thisType);\n }\n\n /*\n * Collect all trace layout attributes in one place for easier lookup later\n * but don't merge them into the base schema as it would confuse the docs\n * (at least after https://github.com/plotly/documentation/issues/202 gets done!)\n */\n if(_module.layoutAttributes) {\n extendFlat(exports.traceLayoutAttributes, _module.layoutAttributes);\n }\n\n var basePlotModule = _module.basePlotModule;\n var bpmName = basePlotModule.name;\n\n // add mapbox-gl CSS here to avoid console warning on instantiation\n if(bpmName === 'mapbox') {\n var styleRules = basePlotModule.constants.styleRules;\n for(var k in styleRules) {\n addStyleRule('.js-plotly-plot .plotly .mapboxgl-' + k, styleRules[k]);\n }\n }\n\n // if `plotly-geo-assets.js` is not included,\n // add `PlotlyGeoAssets` global to stash references to all fetched\n // topojson / geojson data\n if((bpmName === 'geo' || bpmName === 'mapbox') &&\n (typeof window !== undefined && window.PlotlyGeoAssets === undefined)\n ) {\n window.PlotlyGeoAssets = {topojson: {}};\n }\n}\n\nfunction registerSubplot(_module) {\n var plotType = _module.name;\n\n if(exports.subplotsRegistry[plotType]) {\n Loggers.log('Plot type ' + plotType + ' already registered.');\n return;\n }\n\n // relayout array handling will look for component module methods with this\n // name and won't find them because this is a subplot module... but that\n // should be fine, it will just fall back on redrawing the plot.\n findArrayRegexps(_module);\n\n // not sure what's best for the 'cartesian' type at this point\n exports.subplotsRegistry[plotType] = _module;\n\n for(var componentName in exports.componentsRegistry) {\n mergeComponentAttrsToSubplot(componentName, _module.name);\n }\n}\n\nfunction registerComponentModule(_module) {\n if(typeof _module.name !== 'string') {\n throw new Error('Component module *name* must be a string.');\n }\n\n var name = _module.name;\n exports.componentsRegistry[name] = _module;\n\n if(_module.layoutAttributes) {\n if(_module.layoutAttributes._isLinkedToArray) {\n pushUnique(exports.layoutArrayContainers, name);\n }\n findArrayRegexps(_module);\n }\n\n for(var traceType in exports.modules) {\n mergeComponentAttrsToTrace(name, traceType);\n }\n\n for(var subplotName in exports.subplotsRegistry) {\n mergeComponentAttrsToSubplot(name, subplotName);\n }\n\n for(var transformType in exports.transformsRegistry) {\n mergeComponentAttrsToTransform(name, transformType);\n }\n\n if(_module.schema && _module.schema.layout) {\n extendDeepAll(baseLayoutAttributes, _module.schema.layout);\n }\n}\n\nfunction registerTransformModule(_module) {\n if(typeof _module.name !== 'string') {\n throw new Error('Transform module *name* must be a string.');\n }\n\n var prefix = 'Transform module ' + _module.name;\n var hasTransform = typeof _module.transform === 'function';\n var hasCalcTransform = typeof _module.calcTransform === 'function';\n\n if(!hasTransform && !hasCalcTransform) {\n throw new Error(prefix + ' is missing a *transform* or *calcTransform* method.');\n }\n if(hasTransform && hasCalcTransform) {\n Loggers.log([\n prefix + ' has both a *transform* and *calcTransform* methods.',\n 'Please note that all *transform* methods are executed',\n 'before all *calcTransform* methods.'\n ].join(' '));\n }\n if(!isPlainObject(_module.attributes)) {\n Loggers.log(prefix + ' registered without an *attributes* object.');\n }\n if(typeof _module.supplyDefaults !== 'function') {\n Loggers.log(prefix + ' registered without a *supplyDefaults* method.');\n }\n\n exports.transformsRegistry[_module.name] = _module;\n\n for(var componentName in exports.componentsRegistry) {\n mergeComponentAttrsToTransform(componentName, _module.name);\n }\n}\n\nfunction registerLocale(_module) {\n var locale = _module.name;\n var baseLocale = locale.split('-')[0];\n\n var newDict = _module.dictionary;\n var newFormat = _module.format;\n var hasDict = newDict && Object.keys(newDict).length;\n var hasFormat = newFormat && Object.keys(newFormat).length;\n\n var locales = exports.localeRegistry;\n\n var localeObj = locales[locale];\n if(!localeObj) locales[locale] = localeObj = {};\n\n // Should we use this dict for the base locale?\n // In case we're overwriting a previous dict for this locale, check\n // whether the base matches the full locale dict now. If we're not\n // overwriting, locales[locale] is undefined so this just checks if\n // baseLocale already had a dict or not.\n // Same logic for dateFormats\n if(baseLocale !== locale) {\n var baseLocaleObj = locales[baseLocale];\n if(!baseLocaleObj) locales[baseLocale] = baseLocaleObj = {};\n\n if(hasDict && baseLocaleObj.dictionary === localeObj.dictionary) {\n baseLocaleObj.dictionary = newDict;\n }\n if(hasFormat && baseLocaleObj.format === localeObj.format) {\n baseLocaleObj.format = newFormat;\n }\n }\n\n if(hasDict) localeObj.dictionary = newDict;\n if(hasFormat) localeObj.format = newFormat;\n}\n\nfunction findArrayRegexps(_module) {\n if(_module.layoutAttributes) {\n var arrayAttrRegexps = _module.layoutAttributes._arrayAttrRegexps;\n if(arrayAttrRegexps) {\n for(var i = 0; i < arrayAttrRegexps.length; i++) {\n pushUnique(exports.layoutArrayRegexes, arrayAttrRegexps[i]);\n }\n }\n }\n}\n\nfunction mergeComponentAttrsToTrace(componentName, traceType) {\n var componentSchema = exports.componentsRegistry[componentName].schema;\n if(!componentSchema || !componentSchema.traces) return;\n\n var traceAttrs = componentSchema.traces[traceType];\n if(traceAttrs) {\n extendDeepAll(exports.modules[traceType]._module.attributes, traceAttrs);\n }\n}\n\nfunction mergeComponentAttrsToTransform(componentName, transformType) {\n var componentSchema = exports.componentsRegistry[componentName].schema;\n if(!componentSchema || !componentSchema.transforms) return;\n\n var transformAttrs = componentSchema.transforms[transformType];\n if(transformAttrs) {\n extendDeepAll(exports.transformsRegistry[transformType].attributes, transformAttrs);\n }\n}\n\nfunction mergeComponentAttrsToSubplot(componentName, subplotName) {\n var componentSchema = exports.componentsRegistry[componentName].schema;\n if(!componentSchema || !componentSchema.subplots) return;\n\n var subplotModule = exports.subplotsRegistry[subplotName];\n var subplotAttrs = subplotModule.layoutAttributes;\n var subplotAttr = subplotModule.attr === 'subplot' ? subplotModule.name : subplotModule.attr;\n if(Array.isArray(subplotAttr)) subplotAttr = subplotAttr[0];\n\n var componentLayoutAttrs = componentSchema.subplots[subplotAttr];\n if(subplotAttrs && componentLayoutAttrs) {\n extendDeepAll(subplotAttrs, componentLayoutAttrs);\n }\n}\n\nfunction getTraceType(traceType) {\n if(typeof traceType === 'object') traceType = traceType.type;\n return traceType;\n}\n\n\n/***/ }),\n\n/***/ \"372f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"1735\");\n\n\n/***/ }),\n\n/***/ \"375c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = typeof navigator !== 'undefined' &&\n\t(/MSIE/.test(navigator.userAgent) || /Trident\\//.test(navigator.appVersion));\n\n\n/***/ }),\n\n/***/ \"37bf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isArray1D = __webpack_require__(\"fc26\").isArray1D;\n\nmodule.exports = function handleXYDefaults(traceIn, traceOut, coerce) {\n var x = coerce('x');\n var hasX = x && x.length;\n var y = coerce('y');\n var hasY = y && y.length;\n if(!hasX && !hasY) return false;\n\n traceOut._cheater = !x;\n\n if((!hasX || isArray1D(x)) && (!hasY || isArray1D(y))) {\n var len = hasX ? x.length : Infinity;\n if(hasY) len = Math.min(len, y.length);\n if(traceOut.a && traceOut.a.length) len = Math.min(len, traceOut.a.length);\n if(traceOut.b && traceOut.b.length) len = Math.min(len, traceOut.b.length);\n traceOut._length = len;\n } else traceOut._length = null;\n\n return true;\n};\n\n\n/***/ }),\n\n/***/ \"37cd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*eslint new-cap:0*/\nvar dtype = __webpack_require__(\"7831\")\n\nmodule.exports = flattenVertexData\n\nfunction flattenVertexData (data, output, offset) {\n if (!data) throw new TypeError('must specify data as first parameter')\n offset = +(offset || 0) | 0\n\n if (Array.isArray(data) && (data[0] && typeof data[0][0] === 'number')) {\n var dim = data[0].length\n var length = data.length * dim\n var i, j, k, l\n\n // no output specified, create a new typed array\n if (!output || typeof output === 'string') {\n output = new (dtype(output || 'float32'))(length + offset)\n }\n\n var dstLength = output.length - offset\n if (length !== dstLength) {\n throw new Error('source length ' + length + ' (' + dim + 'x' + data.length + ')' +\n ' does not match destination length ' + dstLength)\n }\n\n for (i = 0, k = offset; i < data.length; i++) {\n for (j = 0; j < dim; j++) {\n output[k++] = data[i][j] === null ? NaN : data[i][j]\n }\n }\n } else {\n if (!output || typeof output === 'string') {\n // no output, create a new one\n var Ctor = dtype(output || 'float32')\n\n // handle arrays separately due to possible nulls\n if (Array.isArray(data) || output === 'array') {\n output = new Ctor(data.length + offset)\n for (i = 0, k = offset, l = output.length; k < l; k++, i++) {\n output[k] = data[i] === null ? NaN : data[i]\n }\n } else {\n if (offset === 0) {\n output = new Ctor(data)\n } else {\n output = new Ctor(data.length + offset)\n\n output.set(data, offset)\n }\n }\n } else {\n // store output in existing array\n output.set(data, offset)\n }\n }\n\n return output\n}\n\n\n/***/ }),\n\n/***/ \"37d1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\n/**\n * Factory function for checking component arrays for subplot references.\n *\n * @param {string} containerArrayName: the top-level array in gd.layout to check\n * If an item in this container is found that references a cartesian x and/or y axis,\n * ensure cartesian is marked as a base plot module and record the axes (and subplot\n * if both refs are axes) in gd._fullLayout\n *\n * @return {function}: with args layoutIn (gd.layout) and layoutOut (gd._fullLayout)\n * as expected of a component includeBasePlot method\n */\nmodule.exports = function makeIncludeComponents(containerArrayName) {\n return function includeComponents(layoutIn, layoutOut) {\n var array = layoutIn[containerArrayName];\n if(!Array.isArray(array)) return;\n\n var Cartesian = Registry.subplotsRegistry.cartesian;\n var idRegex = Cartesian.idRegex;\n var subplots = layoutOut._subplots;\n var xaList = subplots.xaxis;\n var yaList = subplots.yaxis;\n var cartesianList = subplots.cartesian;\n var hasCartesianOrGL2D = layoutOut._has('cartesian') || layoutOut._has('gl2d');\n\n for(var i = 0; i < array.length; i++) {\n var itemi = array[i];\n if(!Lib.isPlainObject(itemi)) continue;\n\n var xref = itemi.xref;\n var yref = itemi.yref;\n\n var hasXref = idRegex.x.test(xref);\n var hasYref = idRegex.y.test(yref);\n if(hasXref || hasYref) {\n if(!hasCartesianOrGL2D) Lib.pushUnique(layoutOut._basePlotModules, Cartesian);\n\n var newAxis = false;\n if(hasXref && xaList.indexOf(xref) === -1) {\n xaList.push(xref);\n newAxis = true;\n }\n if(hasYref && yaList.indexOf(yref) === -1) {\n yaList.push(yref);\n newAxis = true;\n }\n\n /*\n * Notice the logic here: only add a subplot for a component if\n * it's referencing both x and y axes AND it's creating a new axis\n * so for example if your plot already has xy and x2y2, an annotation\n * on x2y or xy2 will not create a new subplot.\n */\n if(newAxis && hasXref && hasYref) {\n cartesianList.push(xref + yref);\n }\n }\n }\n };\n};\n\n\n/***/ }),\n\n/***/ \"37e3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n barmode: {\n valType: 'enumerated',\n values: ['stack', 'group', 'overlay', 'relative'],\n dflt: 'group',\n \n editType: 'calc',\n \n },\n barnorm: {\n valType: 'enumerated',\n values: ['', 'fraction', 'percent'],\n dflt: '',\n \n editType: 'calc',\n \n },\n bargap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n },\n bargroupgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"37e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar anObject = __webpack_require__(\"825a\");\nvar objectKeys = __webpack_require__(\"df75\");\n\n// `Object.defineProperties` method\n// https://tc39.github.io/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/***/ \"3802\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Color = __webpack_require__(\"d115\");\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\nmodule.exports = function fillColorDefaults(traceIn, traceOut, defaultColor, coerce) {\n var inheritColorFromMarker = false;\n\n if(traceOut.marker) {\n // don't try to inherit a color array\n var markerColor = traceOut.marker.color;\n var markerLineColor = (traceOut.marker.line || {}).color;\n\n if(markerColor && !isArrayOrTypedArray(markerColor)) {\n inheritColorFromMarker = markerColor;\n } else if(markerLineColor && !isArrayOrTypedArray(markerLineColor)) {\n inheritColorFromMarker = markerLineColor;\n }\n }\n\n coerce('fillcolor', Color.addOpacity(\n (traceOut.line || {}).color ||\n inheritColorFromMarker ||\n defaultColor, 0.5\n ));\n};\n\n\n/***/ }),\n\n/***/ \"388d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"feb0\");\n\n\n/***/ }),\n\n/***/ \"38eb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar glslify = __webpack_require__(\"e98f\")\n\nvar triVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n , view\\n , projection\\n , inverseModel;\\nuniform vec3 eyePosition\\n , lightPosition;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n gl_Position = project(position);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * vec4(position , 1.0);\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\\n\"])\nvar triFragSrc = glslify([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n , fresnel\\n , kambient\\n , kdiffuse\\n , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (f_color.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], f_data)\\n ) discard;\\n\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * f_color.a;\\n}\\n\"])\nvar edgeVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\"])\nvar edgeFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"])\nvar pointVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n }\\n gl_PointSize = pointSize;\\n f_color = color;\\n f_uv = uv;\\n}\"])\nvar pointFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n if(dot(pointR, pointR) > 0.25) {\\n discard;\\n }\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"])\nvar pickVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_id = id;\\n f_position = position;\\n}\"])\nvar pickFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"])\nvar pickPointVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute float pointSize;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n gl_PointSize = pointSize;\\n }\\n f_id = id;\\n f_position = position;\\n}\"])\nvar contourVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"])\nvar contourFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"])\n\nexports.meshShader = {\n vertex: triVertSrc,\n fragment: triFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'normal', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'uv', type: 'vec2'}\n ]\n}\nexports.wireShader = {\n vertex: edgeVertSrc,\n fragment: edgeFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'uv', type: 'vec2'}\n ]\n}\nexports.pointShader = {\n vertex: pointVertSrc,\n fragment: pointFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'uv', type: 'vec2'},\n {name: 'pointSize', type: 'float'}\n ]\n}\nexports.pickShader = {\n vertex: pickVertSrc,\n fragment: pickFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'id', type: 'vec4'}\n ]\n}\nexports.pointPickShader = {\n vertex: pickPointVertSrc,\n fragment: pickFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'pointSize', type: 'float'},\n {name: 'id', type: 'vec4'}\n ]\n}\nexports.contourShader = {\n vertex: contourVertSrc,\n fragment: contourFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'}\n ]\n}\n\n\n/***/ }),\n\n/***/ \"391b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Fx = __webpack_require__(\"a5c4\");\nvar Registry = __webpack_require__(\"371e\");\nvar getTraceColor = __webpack_require__(\"feed\");\nvar Color = __webpack_require__(\"d115\");\nvar fillText = Lib.fillText;\n\nmodule.exports = function hoverPoints(pointData, xval, yval, hovermode) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var xa = pointData.xa;\n var ya = pointData.ya;\n var xpx = xa.c2p(xval);\n var ypx = ya.c2p(yval);\n var pt = [xpx, ypx];\n var hoveron = trace.hoveron || '';\n var minRad = (trace.mode.indexOf('markers') !== -1) ? 3 : 0.5;\n\n // look for points to hover on first, then take fills only if we\n // didn't find a point\n if(hoveron.indexOf('points') !== -1) {\n var dx = function(di) {\n // dx and dy are used in compare modes - here we want to always\n // prioritize the closest data point, at least as long as markers are\n // the same size or nonexistent, but still try to prioritize small markers too.\n var rad = Math.max(3, di.mrc || 0);\n var kink = 1 - 1 / rad;\n var dxRaw = Math.abs(xa.c2p(di.x) - xpx);\n var d = (dxRaw < rad) ? (kink * dxRaw / rad) : (dxRaw - rad + kink);\n return d;\n };\n var dy = function(di) {\n var rad = Math.max(3, di.mrc || 0);\n var kink = 1 - 1 / rad;\n var dyRaw = Math.abs(ya.c2p(di.y) - ypx);\n return (dyRaw < rad) ? (kink * dyRaw / rad) : (dyRaw - rad + kink);\n };\n var dxy = function(di) {\n // scatter points: d.mrc is the calculated marker radius\n // adjust the distance so if you're inside the marker it\n // always will show up regardless of point size, but\n // prioritize smaller points\n var rad = Math.max(minRad, di.mrc || 0);\n var dx = xa.c2p(di.x) - xpx;\n var dy = ya.c2p(di.y) - ypx;\n return Math.max(Math.sqrt(dx * dx + dy * dy) - rad, 1 - minRad / rad);\n };\n var distfn = Fx.getDistanceFunction(hovermode, dx, dy, dxy);\n\n Fx.getClosest(cd, distfn, pointData);\n\n // skip the rest (for this trace) if we didn't find a close point\n if(pointData.index !== false) {\n // the closest data point\n var di = cd[pointData.index];\n var xc = xa.c2p(di.x, true);\n var yc = ya.c2p(di.y, true);\n var rad = di.mrc || 1;\n\n // now we're done using the whole `calcdata` array, replace the\n // index with the original index (in case of inserted point from\n // stacked area)\n pointData.index = di.i;\n\n var orientation = cd[0].t.orientation;\n // TODO: for scatter and bar, option to show (sub)totals and\n // raw data? Currently stacked and/or normalized bars just show\n // the normalized individual sizes, so that's what I'm doing here\n // for now.\n var sizeVal = orientation && (di.sNorm || di.s);\n var xLabelVal = (orientation === 'h') ? sizeVal : di.x;\n var yLabelVal = (orientation === 'v') ? sizeVal : di.y;\n\n Lib.extendFlat(pointData, {\n color: getTraceColor(trace, di),\n\n x0: xc - rad,\n x1: xc + rad,\n xLabelVal: xLabelVal,\n\n y0: yc - rad,\n y1: yc + rad,\n yLabelVal: yLabelVal,\n\n spikeDistance: dxy(di),\n hovertemplate: trace.hovertemplate\n });\n\n fillText(di, trace, pointData);\n Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData);\n\n return [pointData];\n }\n }\n\n // even if hoveron is 'fills', only use it if we have polygons too\n if(hoveron.indexOf('fills') !== -1 && trace._polygons) {\n var polygons = trace._polygons;\n var polygonsIn = [];\n var inside = false;\n var xmin = Infinity;\n var xmax = -Infinity;\n var ymin = Infinity;\n var ymax = -Infinity;\n\n var i, j, polygon, pts, xCross, x0, x1, y0, y1;\n\n for(i = 0; i < polygons.length; i++) {\n polygon = polygons[i];\n // TODO: this is not going to work right for curved edges, it will\n // act as though they're straight. That's probably going to need\n // the elements themselves to capture the events. Worth it?\n if(polygon.contains(pt)) {\n inside = !inside;\n // TODO: need better than just the overall bounding box\n polygonsIn.push(polygon);\n ymin = Math.min(ymin, polygon.ymin);\n ymax = Math.max(ymax, polygon.ymax);\n }\n }\n\n if(inside) {\n // constrain ymin/max to the visible plot, so the label goes\n // at the middle of the piece you can see\n ymin = Math.max(ymin, 0);\n ymax = Math.min(ymax, ya._length);\n\n // find the overall left-most and right-most points of the\n // polygon(s) we're inside at their combined vertical midpoint.\n // This is where we will draw the hover label.\n // Note that this might not be the vertical midpoint of the\n // whole trace, if it's disjoint.\n var yAvg = (ymin + ymax) / 2;\n for(i = 0; i < polygonsIn.length; i++) {\n pts = polygonsIn[i].pts;\n for(j = 1; j < pts.length; j++) {\n y0 = pts[j - 1][1];\n y1 = pts[j][1];\n if((y0 > yAvg) !== (y1 >= yAvg)) {\n x0 = pts[j - 1][0];\n x1 = pts[j][0];\n if(y1 - y0) {\n xCross = x0 + (x1 - x0) * (yAvg - y0) / (y1 - y0);\n xmin = Math.min(xmin, xCross);\n xmax = Math.max(xmax, xCross);\n }\n }\n }\n }\n\n // constrain xmin/max to the visible plot now too\n xmin = Math.max(xmin, 0);\n xmax = Math.min(xmax, xa._length);\n\n // get only fill or line color for the hover color\n var color = Color.defaultLine;\n if(Color.opacity(trace.fillcolor)) color = trace.fillcolor;\n else if(Color.opacity((trace.line || {}).color)) {\n color = trace.line.color;\n }\n\n Lib.extendFlat(pointData, {\n // never let a 2D override 1D type as closest point\n // also: no spikeDistance, it's not allowed for fills\n distance: pointData.maxHoverDistance,\n x0: xmin,\n x1: xmax,\n y0: yAvg,\n y1: yAvg,\n color: color,\n hovertemplate: false\n });\n\n delete pointData.index;\n\n if(trace.text && !Array.isArray(trace.text)) {\n pointData.text = String(trace.text);\n } else pointData.text = trace.name;\n\n return [pointData];\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"3936\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar pieCalc = __webpack_require__(\"86b8\");\n\nfunction calc(gd, trace) {\n return pieCalc.calc(gd, trace);\n}\n\nfunction crossTraceCalc(gd) {\n pieCalc.crossTraceCalc(gd, { type: 'funnelarea' });\n}\n\nmodule.exports = {\n calc: calc,\n crossTraceCalc: crossTraceCalc\n};\n\n\n/***/ }),\n\n/***/ \"399f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = __webpack_require__(1).Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"62e4\")(module)))\n\n/***/ }),\n\n/***/ \"3a04\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// make sure scene exists on subplot, return it\nmodule.exports = function sceneUpdate(gd, subplot) {\n var scene = subplot._scene;\n\n var resetOpts = {\n // number of traces in subplot, since scene:subplot -> 1:1\n count: 0,\n // whether scene requires init hook in plot call (dirty plot call)\n dirty: true,\n // last used options\n lineOptions: [],\n fillOptions: [],\n markerOptions: [],\n markerSelectedOptions: [],\n markerUnselectedOptions: [],\n errorXOptions: [],\n errorYOptions: [],\n textOptions: [],\n textSelectedOptions: [],\n textUnselectedOptions: [],\n // selection batches\n selectBatch: [],\n unselectBatch: []\n };\n\n // regl- component stubs, initialized in dirty plot call\n var initOpts = {\n fill2d: false,\n scatter2d: false,\n error2d: false,\n line2d: false,\n glText: false,\n select2d: false\n };\n\n if(!subplot._scene) {\n scene = subplot._scene = {};\n\n scene.init = function init() {\n Lib.extendFlat(scene, initOpts, resetOpts);\n };\n\n scene.init();\n\n // apply new option to all regl components (used on drag)\n scene.update = function update(opt) {\n var opts = Lib.repeat(opt, scene.count);\n\n if(scene.fill2d) scene.fill2d.update(opts);\n if(scene.scatter2d) scene.scatter2d.update(opts);\n if(scene.line2d) scene.line2d.update(opts);\n if(scene.error2d) scene.error2d.update(opts.concat(opts));\n if(scene.select2d) scene.select2d.update(opts);\n if(scene.glText) {\n for(var i = 0; i < scene.count; i++) {\n scene.glText[i].update(opt);\n }\n }\n };\n\n // draw traces in proper order\n scene.draw = function draw() {\n var count = scene.count;\n var fill2d = scene.fill2d;\n var error2d = scene.error2d;\n var line2d = scene.line2d;\n var scatter2d = scene.scatter2d;\n var glText = scene.glText;\n var select2d = scene.select2d;\n var selectBatch = scene.selectBatch;\n var unselectBatch = scene.unselectBatch;\n\n for(var i = 0; i < count; i++) {\n if(fill2d && scene.fillOrder[i]) {\n fill2d.draw(scene.fillOrder[i]);\n }\n if(line2d && scene.lineOptions[i]) {\n line2d.draw(i);\n }\n if(error2d) {\n if(scene.errorXOptions[i]) error2d.draw(i);\n if(scene.errorYOptions[i]) error2d.draw(i + count);\n }\n if(scatter2d && scene.markerOptions[i]) {\n if(unselectBatch[i].length) {\n var arg = Lib.repeat([], scene.count);\n arg[i] = unselectBatch[i];\n scatter2d.draw(arg);\n } else if(!selectBatch[i].length) {\n scatter2d.draw(i);\n }\n }\n if(glText[i] && scene.textOptions[i]) {\n glText[i].render();\n }\n }\n\n if(select2d) {\n select2d.draw(selectBatch);\n }\n\n scene.dirty = false;\n };\n\n // remove scene resources\n scene.destroy = function destroy() {\n if(scene.fill2d && scene.fill2d.destroy) scene.fill2d.destroy();\n if(scene.scatter2d && scene.scatter2d.destroy) scene.scatter2d.destroy();\n if(scene.error2d && scene.error2d.destroy) scene.error2d.destroy();\n if(scene.line2d && scene.line2d.destroy) scene.line2d.destroy();\n if(scene.select2d && scene.select2d.destroy) scene.select2d.destroy();\n if(scene.glText) {\n scene.glText.forEach(function(text) {\n if(text.destroy) text.destroy();\n });\n }\n\n scene.lineOptions = null;\n scene.fillOptions = null;\n scene.markerOptions = null;\n scene.markerSelectedOptions = null;\n scene.markerUnselectedOptions = null;\n scene.errorXOptions = null;\n scene.errorYOptions = null;\n scene.textOptions = null;\n scene.textSelectedOptions = null;\n scene.textUnselectedOptions = null;\n\n scene.selectBatch = null;\n scene.unselectBatch = null;\n\n // we can't just delete _scene, because `destroy` is called in the\n // middle of supplyDefaults, before relinkPrivateKeys which will put it back.\n subplot._scene = null;\n };\n }\n\n // in case if we have scene from the last calc - reset data\n if(!scene.dirty) {\n Lib.extendFlat(scene, resetOpts);\n }\n\n return scene;\n};\n\n\n/***/ }),\n\n/***/ \"3a19\":\n/***/ (function(module, exports) {\n\nmodule.exports = round\n\n/**\n * Math.round the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to round\n * @returns {vec3} out\n */\nfunction round(out, a) {\n out[0] = Math.round(a[0])\n out[1] = Math.round(a[1])\n out[2] = Math.round(a[2])\n return out\n}\n\n\n/***/ }),\n\n/***/ \"3a55\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = findZeroCrossings\n\nvar core = __webpack_require__(\"b530\")\n\nfunction findZeroCrossings(array, level) {\n var cross = []\n level = +level || 0.0\n core(array.hi(array.shape[0]-1), cross, level)\n return cross\n}\n\n/***/ }),\n\n/***/ \"3a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar extendDeepAll = Lib.extendDeepAll;\nvar MID_SHIFT = __webpack_require__(\"63dc\").MID_SHIFT;\n\nvar ยต = module.exports = { version: '0.2.2' };\n\nยต.Axis = function module() {\n var config = {\n data: [],\n layout: {}\n }, inputConfig = {}, liveConfig = {};\n var svg, container, dispatch = d3.dispatch('hover'), radialScale, angularScale;\n var exports = {};\n function render(_container) {\n container = _container || container;\n var data = config.data;\n var axisConfig = config.layout;\n if (typeof container == 'string' || container.nodeName) container = d3.select(container);\n container.datum(data).each(function(_data, _index) {\n var dataOriginal = _data.slice();\n liveConfig = {\n data: ยต.util.cloneJson(dataOriginal),\n layout: ยต.util.cloneJson(axisConfig)\n };\n var colorIndex = 0;\n dataOriginal.forEach(function(d, i) {\n if (!d.color) {\n d.color = axisConfig.defaultColorRange[colorIndex];\n colorIndex = (colorIndex + 1) % axisConfig.defaultColorRange.length;\n }\n if (!d.strokeColor) {\n d.strokeColor = d.geometry === 'LinePlot' ? d.color : d3.rgb(d.color).darker().toString();\n }\n liveConfig.data[i].color = d.color;\n liveConfig.data[i].strokeColor = d.strokeColor;\n liveConfig.data[i].strokeDash = d.strokeDash;\n liveConfig.data[i].strokeSize = d.strokeSize;\n });\n var data = dataOriginal.filter(function(d, i) {\n var visible = d.visible;\n return typeof visible === 'undefined' || visible === true;\n });\n var isStacked = false;\n var dataWithGroupId = data.map(function(d, i) {\n isStacked = isStacked || typeof d.groupId !== 'undefined';\n return d;\n });\n if (isStacked) {\n var grouped = d3.nest().key(function(d, i) {\n return typeof d.groupId != 'undefined' ? d.groupId : 'unstacked';\n }).entries(dataWithGroupId);\n var dataYStack = [];\n var stacked = grouped.map(function(d, i) {\n if (d.key === 'unstacked') return d.values; else {\n var prevArray = d.values[0].r.map(function(d, i) {\n return 0;\n });\n d.values.forEach(function(d, i, a) {\n d.yStack = [ prevArray ];\n dataYStack.push(prevArray);\n prevArray = ยต.util.sumArrays(d.r, prevArray);\n });\n return d.values;\n }\n });\n data = d3.merge(stacked);\n }\n data.forEach(function(d, i) {\n d.t = Array.isArray(d.t[0]) ? d.t : [ d.t ];\n d.r = Array.isArray(d.r[0]) ? d.r : [ d.r ];\n });\n var radius = Math.min(axisConfig.width - axisConfig.margin.left - axisConfig.margin.right, axisConfig.height - axisConfig.margin.top - axisConfig.margin.bottom) / 2;\n radius = Math.max(10, radius);\n var chartCenter = [ axisConfig.margin.left + radius, axisConfig.margin.top + radius ];\n var extent;\n if (isStacked) {\n var highestStackedValue = d3.max(ยต.util.sumArrays(ยต.util.arrayLast(data).r[0], ยต.util.arrayLast(dataYStack)));\n extent = [ 0, highestStackedValue ];\n } else extent = d3.extent(ยต.util.flattenArray(data.map(function(d, i) {\n return d.r;\n })));\n if (axisConfig.radialAxis.domain != ยต.DATAEXTENT) extent[0] = 0;\n radialScale = d3.scale.linear().domain(axisConfig.radialAxis.domain != ยต.DATAEXTENT && axisConfig.radialAxis.domain ? axisConfig.radialAxis.domain : extent).range([ 0, radius ]);\n liveConfig.layout.radialAxis.domain = radialScale.domain();\n var angularDataMerged = ยต.util.flattenArray(data.map(function(d, i) {\n return d.t;\n }));\n var isOrdinal = typeof angularDataMerged[0] === 'string';\n var ticks;\n if (isOrdinal) {\n angularDataMerged = ยต.util.deduplicate(angularDataMerged);\n ticks = angularDataMerged.slice();\n angularDataMerged = d3.range(angularDataMerged.length);\n data = data.map(function(d, i) {\n var result = d;\n d.t = [ angularDataMerged ];\n if (isStacked) result.yStack = d.yStack;\n return result;\n });\n }\n var hasOnlyLineOrDotPlot = data.filter(function(d, i) {\n return d.geometry === 'LinePlot' || d.geometry === 'DotPlot';\n }).length === data.length;\n var needsEndSpacing = axisConfig.needsEndSpacing === null ? isOrdinal || !hasOnlyLineOrDotPlot : axisConfig.needsEndSpacing;\n var useProvidedDomain = axisConfig.angularAxis.domain && axisConfig.angularAxis.domain != ยต.DATAEXTENT && !isOrdinal && axisConfig.angularAxis.domain[0] >= 0;\n var angularDomain = useProvidedDomain ? axisConfig.angularAxis.domain : d3.extent(angularDataMerged);\n var angularDomainStep = Math.abs(angularDataMerged[1] - angularDataMerged[0]);\n if (hasOnlyLineOrDotPlot && !isOrdinal) angularDomainStep = 0;\n var angularDomainWithPadding = angularDomain.slice();\n if (needsEndSpacing && isOrdinal) angularDomainWithPadding[1] += angularDomainStep;\n var tickCount = axisConfig.angularAxis.ticksCount || 4;\n if (tickCount > 8) tickCount = tickCount / (tickCount / 8) + tickCount % 8;\n if (axisConfig.angularAxis.ticksStep) {\n tickCount = (angularDomainWithPadding[1] - angularDomainWithPadding[0]) / tickCount;\n }\n var angularTicksStep = axisConfig.angularAxis.ticksStep || (angularDomainWithPadding[1] - angularDomainWithPadding[0]) / (tickCount * (axisConfig.minorTicks + 1));\n if (ticks) angularTicksStep = Math.max(Math.round(angularTicksStep), 1);\n if (!angularDomainWithPadding[2]) angularDomainWithPadding[2] = angularTicksStep;\n var angularAxisRange = d3.range.apply(this, angularDomainWithPadding);\n angularAxisRange = angularAxisRange.map(function(d, i) {\n return parseFloat(d.toPrecision(12));\n });\n angularScale = d3.scale.linear().domain(angularDomainWithPadding.slice(0, 2)).range(axisConfig.direction === 'clockwise' ? [ 0, 360 ] : [ 360, 0 ]);\n liveConfig.layout.angularAxis.domain = angularScale.domain();\n liveConfig.layout.angularAxis.endPadding = needsEndSpacing ? angularDomainStep : 0;\n svg = d3.select(this).select('svg.chart-root');\n if (typeof svg === 'undefined' || svg.empty()) {\n var skeleton = \"' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '\";\n var doc = new DOMParser().parseFromString(skeleton, 'application/xml');\n var newSvg = this.appendChild(this.ownerDocument.importNode(doc.documentElement, true));\n svg = d3.select(newSvg);\n }\n svg.select('.guides-group').style({\n 'pointer-events': 'none'\n });\n svg.select('.angular.axis-group').style({\n 'pointer-events': 'none'\n });\n svg.select('.radial.axis-group').style({\n 'pointer-events': 'none'\n });\n var chartGroup = svg.select('.chart-group');\n var lineStyle = {\n fill: 'none',\n stroke: axisConfig.tickColor\n };\n var fontStyle = {\n 'font-size': axisConfig.font.size,\n 'font-family': axisConfig.font.family,\n fill: axisConfig.font.color,\n 'text-shadow': [ '-1px 0px', '1px -1px', '-1px 1px', '1px 1px' ].map(function(d, i) {\n return ' ' + d + ' 0 ' + axisConfig.font.outlineColor;\n }).join(',')\n };\n var legendContainer;\n if (axisConfig.showLegend) {\n legendContainer = svg.select('.legend-group').attr({\n transform: 'translate(' + [ radius, axisConfig.margin.top ] + ')'\n }).style({\n display: 'block'\n });\n var elements = data.map(function(d, i) {\n var datumClone = ยต.util.cloneJson(d);\n datumClone.symbol = d.geometry === 'DotPlot' ? d.dotType || 'circle' : d.geometry != 'LinePlot' ? 'square' : 'line';\n datumClone.visibleInLegend = typeof d.visibleInLegend === 'undefined' || d.visibleInLegend;\n datumClone.color = d.geometry === 'LinePlot' ? d.strokeColor : d.color;\n return datumClone;\n });\n\n ยต.Legend().config({\n data: data.map(function(d, i) {\n return d.name || 'Element' + i;\n }),\n legendConfig: extendDeepAll({},\n ยต.Legend.defaultConfig().legendConfig,\n {\n container: legendContainer,\n elements: elements,\n reverseOrder: axisConfig.legend.reverseOrder\n }\n )\n })();\n\n var legendBBox = legendContainer.node().getBBox();\n radius = Math.min(axisConfig.width - legendBBox.width - axisConfig.margin.left - axisConfig.margin.right, axisConfig.height - axisConfig.margin.top - axisConfig.margin.bottom) / 2;\n radius = Math.max(10, radius);\n chartCenter = [ axisConfig.margin.left + radius, axisConfig.margin.top + radius ];\n radialScale.range([ 0, radius ]);\n liveConfig.layout.radialAxis.domain = radialScale.domain();\n legendContainer.attr('transform', 'translate(' + [ chartCenter[0] + radius, chartCenter[1] - radius ] + ')');\n } else {\n legendContainer = svg.select('.legend-group').style({\n display: 'none'\n });\n }\n svg.attr({\n width: axisConfig.width,\n height: axisConfig.height\n }).style({\n opacity: axisConfig.opacity\n });\n chartGroup.attr('transform', 'translate(' + chartCenter + ')').style({\n cursor: 'crosshair'\n });\n var centeringOffset = [ (axisConfig.width - (axisConfig.margin.left + axisConfig.margin.right + radius * 2 + (legendBBox ? legendBBox.width : 0))) / 2, (axisConfig.height - (axisConfig.margin.top + axisConfig.margin.bottom + radius * 2)) / 2 ];\n centeringOffset[0] = Math.max(0, centeringOffset[0]);\n centeringOffset[1] = Math.max(0, centeringOffset[1]);\n svg.select('.outer-group').attr('transform', 'translate(' + centeringOffset + ')');\n if (axisConfig.title && axisConfig.title.text) {\n var title = svg.select('g.title-group text').style(fontStyle).text(axisConfig.title.text);\n var titleBBox = title.node().getBBox();\n title.attr({\n x: chartCenter[0] - titleBBox.width / 2,\n y: chartCenter[1] - radius - 20\n });\n }\n var radialAxis = svg.select('.radial.axis-group');\n if (axisConfig.radialAxis.gridLinesVisible) {\n var gridCircles = radialAxis.selectAll('circle.grid-circle').data(radialScale.ticks(5));\n gridCircles.enter().append('circle').attr({\n 'class': 'grid-circle'\n }).style(lineStyle);\n gridCircles.attr('r', radialScale);\n gridCircles.exit().remove();\n }\n radialAxis.select('circle.outside-circle').attr({\n r: radius\n }).style(lineStyle);\n var backgroundCircle = svg.select('circle.background-circle').attr({\n r: radius\n }).style({\n fill: axisConfig.backgroundColor,\n stroke: axisConfig.stroke\n });\n function currentAngle(d, i) {\n return angularScale(d) % 360 + axisConfig.orientation;\n }\n if (axisConfig.radialAxis.visible) {\n var axis = d3.svg.axis().scale(radialScale).ticks(5).tickSize(5);\n radialAxis.call(axis).attr({\n transform: 'rotate(' + axisConfig.radialAxis.orientation + ')'\n });\n radialAxis.selectAll('.domain').style(lineStyle);\n radialAxis.selectAll('g>text').text(function(d, i) {\n return this.textContent + axisConfig.radialAxis.ticksSuffix;\n }).style(fontStyle).style({\n 'text-anchor': 'start'\n }).attr({\n x: 0,\n y: 0,\n dx: 0,\n dy: 0,\n transform: function(d, i) {\n if (axisConfig.radialAxis.tickOrientation === 'horizontal') {\n return 'rotate(' + -axisConfig.radialAxis.orientation + ') translate(' + [ 0, fontStyle['font-size'] ] + ')';\n } else return 'translate(' + [ 0, fontStyle['font-size'] ] + ')';\n }\n });\n radialAxis.selectAll('g>line').style({\n stroke: 'black'\n });\n }\n var angularAxis = svg.select('.angular.axis-group').selectAll('g.angular-tick').data(angularAxisRange);\n var angularAxisEnter = angularAxis.enter().append('g').classed('angular-tick', true);\n angularAxis.attr({\n transform: function(d, i) {\n return 'rotate(' + currentAngle(d, i) + ')';\n }\n }).style({\n display: axisConfig.angularAxis.visible ? 'block' : 'none'\n });\n angularAxis.exit().remove();\n angularAxisEnter.append('line').classed('grid-line', true).classed('major', function(d, i) {\n return i % (axisConfig.minorTicks + 1) == 0;\n }).classed('minor', function(d, i) {\n return !(i % (axisConfig.minorTicks + 1) == 0);\n }).style(lineStyle);\n angularAxisEnter.selectAll('.minor').style({\n stroke: axisConfig.minorTickColor\n });\n angularAxis.select('line.grid-line').attr({\n x1: axisConfig.tickLength ? radius - axisConfig.tickLength : 0,\n x2: radius\n }).style({\n display: axisConfig.angularAxis.gridLinesVisible ? 'block' : 'none'\n });\n angularAxisEnter.append('text').classed('axis-text', true).style(fontStyle);\n var ticksText = angularAxis.select('text.axis-text').attr({\n x: radius + axisConfig.labelOffset,\n dy: MID_SHIFT + 'em',\n transform: function(d, i) {\n var angle = currentAngle(d, i);\n var rad = radius + axisConfig.labelOffset;\n var orient = axisConfig.angularAxis.tickOrientation;\n if (orient == 'horizontal') return 'rotate(' + -angle + ' ' + rad + ' 0)'; else if (orient == 'radial') return angle < 270 && angle > 90 ? 'rotate(180 ' + rad + ' 0)' : null; else return 'rotate(' + (angle <= 180 && angle > 0 ? -90 : 90) + ' ' + rad + ' 0)';\n }\n }).style({\n 'text-anchor': 'middle',\n display: axisConfig.angularAxis.labelsVisible ? 'block' : 'none'\n }).text(function(d, i) {\n if (i % (axisConfig.minorTicks + 1) != 0) return '';\n if (ticks) {\n return ticks[d] + axisConfig.angularAxis.ticksSuffix;\n } else return d + axisConfig.angularAxis.ticksSuffix;\n }).style(fontStyle);\n if (axisConfig.angularAxis.rewriteTicks) ticksText.text(function(d, i) {\n if (i % (axisConfig.minorTicks + 1) != 0) return '';\n return axisConfig.angularAxis.rewriteTicks(this.textContent, i);\n });\n var rightmostTickEndX = d3.max(chartGroup.selectAll('.angular-tick text')[0].map(function(d, i) {\n return d.getCTM().e + d.getBBox().width;\n }));\n legendContainer.attr({\n transform: 'translate(' + [ radius + rightmostTickEndX, axisConfig.margin.top ] + ')'\n });\n var hasGeometry = svg.select('g.geometry-group').selectAll('g').size() > 0;\n var geometryContainer = svg.select('g.geometry-group').selectAll('g.geometry').data(data);\n geometryContainer.enter().append('g').attr({\n 'class': function(d, i) {\n return 'geometry geometry' + i;\n }\n });\n geometryContainer.exit().remove();\n if (data[0] || hasGeometry) {\n var geometryConfigs = [];\n data.forEach(function(d, i) {\n var geometryConfig = {};\n geometryConfig.radialScale = radialScale;\n geometryConfig.angularScale = angularScale;\n geometryConfig.container = geometryContainer.filter(function(dB, iB) {\n return iB == i;\n });\n geometryConfig.geometry = d.geometry;\n geometryConfig.orientation = axisConfig.orientation;\n geometryConfig.direction = axisConfig.direction;\n geometryConfig.index = i;\n geometryConfigs.push({\n data: d,\n geometryConfig: geometryConfig\n });\n });\n var geometryConfigsGrouped = d3.nest().key(function(d, i) {\n return typeof d.data.groupId != 'undefined' || 'unstacked';\n }).entries(geometryConfigs);\n var geometryConfigsGrouped2 = [];\n geometryConfigsGrouped.forEach(function(d, i) {\n if (d.key === 'unstacked') geometryConfigsGrouped2 = geometryConfigsGrouped2.concat(d.values.map(function(d, i) {\n return [ d ];\n })); else geometryConfigsGrouped2.push(d.values);\n });\n geometryConfigsGrouped2.forEach(function(d, i) {\n var geometry;\n if (Array.isArray(d)) geometry = d[0].geometryConfig.geometry; else geometry = d.geometryConfig.geometry;\n var finalGeometryConfig = d.map(function(dB, iB) {\n return extendDeepAll(ยต[geometry].defaultConfig(), dB);\n });\n ยต[geometry]().config(finalGeometryConfig)();\n });\n }\n var guides = svg.select('.guides-group');\n var tooltipContainer = svg.select('.tooltips-group');\n var angularTooltip = ยต.tooltipPanel().config({\n container: tooltipContainer,\n fontSize: 8\n })();\n var radialTooltip = ยต.tooltipPanel().config({\n container: tooltipContainer,\n fontSize: 8\n })();\n var geometryTooltip = ยต.tooltipPanel().config({\n container: tooltipContainer,\n hasTick: true\n })();\n var angularValue, radialValue;\n if (!isOrdinal) {\n var angularGuideLine = guides.select('line').attr({\n x1: 0,\n y1: 0,\n y2: 0\n }).style({\n stroke: 'grey',\n 'pointer-events': 'none'\n });\n chartGroup.on('mousemove.angular-guide', function(d, i) {\n var mouseAngle = ยต.util.getMousePos(backgroundCircle).angle;\n angularGuideLine.attr({\n x2: -radius,\n transform: 'rotate(' + mouseAngle + ')'\n }).style({\n opacity: .5\n });\n var angleWithOriginOffset = (mouseAngle + 180 + 360 - axisConfig.orientation) % 360;\n angularValue = angularScale.invert(angleWithOriginOffset);\n var pos = ยต.util.convertToCartesian(radius + 12, mouseAngle + 180);\n angularTooltip.text(ยต.util.round(angularValue)).move([ pos[0] + chartCenter[0], pos[1] + chartCenter[1] ]);\n }).on('mouseout.angular-guide', function(d, i) {\n guides.select('line').style({\n opacity: 0\n });\n });\n }\n var angularGuideCircle = guides.select('circle').style({\n stroke: 'grey',\n fill: 'none'\n });\n chartGroup.on('mousemove.radial-guide', function(d, i) {\n var r = ยต.util.getMousePos(backgroundCircle).radius;\n angularGuideCircle.attr({\n r: r\n }).style({\n opacity: .5\n });\n radialValue = radialScale.invert(ยต.util.getMousePos(backgroundCircle).radius);\n var pos = ยต.util.convertToCartesian(r, axisConfig.radialAxis.orientation);\n radialTooltip.text(ยต.util.round(radialValue)).move([ pos[0] + chartCenter[0], pos[1] + chartCenter[1] ]);\n }).on('mouseout.radial-guide', function(d, i) {\n angularGuideCircle.style({\n opacity: 0\n });\n geometryTooltip.hide();\n angularTooltip.hide();\n radialTooltip.hide();\n });\n svg.selectAll('.geometry-group .mark').on('mouseover.tooltip', function(d, i) {\n var el = d3.select(this);\n var color = this.style.fill;\n var newColor = 'black';\n var opacity = this.style.opacity || 1;\n el.attr({\n 'data-opacity': opacity\n });\n if (color && color !== 'none') {\n el.attr({\n 'data-fill': color\n });\n newColor = d3.hsl(color).darker().toString();\n el.style({\n fill: newColor,\n opacity: 1\n });\n var textData = {\n t: ยต.util.round(d[0]),\n r: ยต.util.round(d[1])\n };\n if (isOrdinal) textData.t = ticks[d[0]];\n var text = 't: ' + textData.t + ', r: ' + textData.r;\n var bbox = this.getBoundingClientRect();\n var svgBBox = svg.node().getBoundingClientRect();\n var pos = [ bbox.left + bbox.width / 2 - centeringOffset[0] - svgBBox.left, bbox.top + bbox.height / 2 - centeringOffset[1] - svgBBox.top ];\n geometryTooltip.config({\n color: newColor\n }).text(text);\n geometryTooltip.move(pos);\n } else {\n color = this.style.stroke || 'black';\n el.attr({\n 'data-stroke': color\n });\n newColor = d3.hsl(color).darker().toString();\n el.style({\n stroke: newColor,\n opacity: 1\n });\n }\n }).on('mousemove.tooltip', function(d, i) {\n if (d3.event.which != 0) return false;\n if (d3.select(this).attr('data-fill')) geometryTooltip.show();\n }).on('mouseout.tooltip', function(d, i) {\n geometryTooltip.hide();\n var el = d3.select(this);\n var fillColor = el.attr('data-fill');\n if (fillColor) el.style({\n fill: fillColor,\n opacity: el.attr('data-opacity')\n }); else el.style({\n stroke: el.attr('data-stroke'),\n opacity: el.attr('data-opacity')\n });\n });\n });\n return exports;\n }\n exports.render = function(_container) {\n render(_container);\n return this;\n };\n exports.config = function(_x) {\n if (!arguments.length) return config;\n var xClone = ยต.util.cloneJson(_x);\n xClone.data.forEach(function(d, i) {\n if (!config.data[i]) config.data[i] = {};\n extendDeepAll(config.data[i], ยต.Axis.defaultConfig().data[0]);\n extendDeepAll(config.data[i], d);\n });\n extendDeepAll(config.layout, ยต.Axis.defaultConfig().layout);\n extendDeepAll(config.layout, xClone.layout);\n return this;\n };\n exports.getLiveConfig = function() {\n return liveConfig;\n };\n exports.getinputConfig = function() {\n return inputConfig;\n };\n exports.radialScale = function(_x) {\n return radialScale;\n };\n exports.angularScale = function(_x) {\n return angularScale;\n };\n exports.svg = function() {\n return svg;\n };\n d3.rebind(exports, dispatch, 'on');\n return exports;\n};\n\nยต.Axis.defaultConfig = function(d, i) {\n var config = {\n data: [ {\n t: [ 1, 2, 3, 4 ],\n r: [ 10, 11, 12, 13 ],\n name: 'Line1',\n geometry: 'LinePlot',\n color: null,\n strokeDash: 'solid',\n strokeColor: null,\n strokeSize: '1',\n visibleInLegend: true,\n opacity: 1\n } ],\n layout: {\n defaultColorRange: d3.scale.category10().range(),\n title: null,\n height: 450,\n width: 500,\n margin: {\n top: 40,\n right: 40,\n bottom: 40,\n left: 40\n },\n font: {\n size: 12,\n color: 'gray',\n outlineColor: 'white',\n family: 'Tahoma, sans-serif'\n },\n direction: 'clockwise',\n orientation: 0,\n labelOffset: 10,\n radialAxis: {\n domain: null,\n orientation: -45,\n ticksSuffix: '',\n visible: true,\n gridLinesVisible: true,\n tickOrientation: 'horizontal',\n rewriteTicks: null\n },\n angularAxis: {\n domain: [ 0, 360 ],\n ticksSuffix: '',\n visible: true,\n gridLinesVisible: true,\n labelsVisible: true,\n tickOrientation: 'horizontal',\n rewriteTicks: null,\n ticksCount: null,\n ticksStep: null\n },\n minorTicks: 0,\n tickLength: null,\n tickColor: 'silver',\n minorTickColor: '#eee',\n backgroundColor: 'none',\n needsEndSpacing: null,\n showLegend: true,\n legend: {\n reverseOrder: false\n },\n opacity: 1\n }\n };\n return config;\n};\n\nยต.util = {};\n\nยต.DATAEXTENT = 'dataExtent';\n\nยต.AREA = 'AreaChart';\n\nยต.LINE = 'LinePlot';\n\nยต.DOT = 'DotPlot';\n\nยต.BAR = 'BarChart';\n\nยต.util._override = function(_objA, _objB) {\n for (var x in _objA) if (x in _objB) _objB[x] = _objA[x];\n};\n\nยต.util._extend = function(_objA, _objB) {\n for (var x in _objA) _objB[x] = _objA[x];\n};\n\nยต.util._rndSnd = function() {\n return Math.random() * 2 - 1 + (Math.random() * 2 - 1) + (Math.random() * 2 - 1);\n};\n\nยต.util.dataFromEquation2 = function(_equation, _step) {\n var step = _step || 6;\n var data = d3.range(0, 360 + step, step).map(function(deg, index) {\n var theta = deg * Math.PI / 180;\n var radius = _equation(theta);\n return [ deg, radius ];\n });\n return data;\n};\n\nยต.util.dataFromEquation = function(_equation, _step, _name) {\n var step = _step || 6;\n var t = [], r = [];\n d3.range(0, 360 + step, step).forEach(function(deg, index) {\n var theta = deg * Math.PI / 180;\n var radius = _equation(theta);\n t.push(deg);\n r.push(radius);\n });\n var result = {\n t: t,\n r: r\n };\n if (_name) result.name = _name;\n return result;\n};\n\nยต.util.ensureArray = function(_val, _count) {\n if (typeof _val === 'undefined') return null;\n var arr = [].concat(_val);\n return d3.range(_count).map(function(d, i) {\n return arr[i] || arr[0];\n });\n};\n\nยต.util.fillArrays = function(_obj, _valueNames, _count) {\n _valueNames.forEach(function(d, i) {\n _obj[d] = ยต.util.ensureArray(_obj[d], _count);\n });\n return _obj;\n};\n\nยต.util.cloneJson = function(json) {\n return JSON.parse(JSON.stringify(json));\n};\n\nยต.util.validateKeys = function(obj, keys) {\n if (typeof keys === 'string') keys = keys.split('.');\n var next = keys.shift();\n return obj[next] && (!keys.length || objHasKeys(obj[next], keys));\n};\n\nยต.util.sumArrays = function(a, b) {\n return d3.zip(a, b).map(function(d, i) {\n return d3.sum(d);\n });\n};\n\nยต.util.arrayLast = function(a) {\n return a[a.length - 1];\n};\n\nยต.util.arrayEqual = function(a, b) {\n var i = Math.max(a.length, b.length, 1);\n while (i-- >= 0 && a[i] === b[i]) ;\n return i === -2;\n};\n\nยต.util.flattenArray = function(arr) {\n var r = [];\n while (!ยต.util.arrayEqual(r, arr)) {\n r = arr;\n arr = [].concat.apply([], arr);\n }\n return arr;\n};\n\nยต.util.deduplicate = function(arr) {\n return arr.filter(function(v, i, a) {\n return a.indexOf(v) == i;\n });\n};\n\nยต.util.convertToCartesian = function(radius, theta) {\n var thetaRadians = theta * Math.PI / 180;\n var x = radius * Math.cos(thetaRadians);\n var y = radius * Math.sin(thetaRadians);\n return [ x, y ];\n};\n\nยต.util.round = function(_value, _digits) {\n var digits = _digits || 2;\n var mult = Math.pow(10, digits);\n return Math.round(_value * mult) / mult;\n};\n\nยต.util.getMousePos = function(_referenceElement) {\n var mousePos = d3.mouse(_referenceElement.node());\n var mouseX = mousePos[0];\n var mouseY = mousePos[1];\n var mouse = {};\n mouse.x = mouseX;\n mouse.y = mouseY;\n mouse.pos = mousePos;\n mouse.angle = (Math.atan2(mouseY, mouseX) + Math.PI) * 180 / Math.PI;\n mouse.radius = Math.sqrt(mouseX * mouseX + mouseY * mouseY);\n return mouse;\n};\n\nยต.util.duplicatesCount = function(arr) {\n var uniques = {}, val;\n var dups = {};\n for (var i = 0, len = arr.length; i < len; i++) {\n val = arr[i];\n if (val in uniques) {\n uniques[val]++;\n dups[val] = uniques[val];\n } else {\n uniques[val] = 1;\n }\n }\n return dups;\n};\n\nยต.util.duplicates = function(arr) {\n return Object.keys(ยต.util.duplicatesCount(arr));\n};\n\nยต.util.translator = function(obj, sourceBranch, targetBranch, reverse) {\n if (reverse) {\n var targetBranchCopy = targetBranch.slice();\n targetBranch = sourceBranch;\n sourceBranch = targetBranchCopy;\n }\n var value = sourceBranch.reduce(function(previousValue, currentValue) {\n if (typeof previousValue != 'undefined') return previousValue[currentValue];\n }, obj);\n if (typeof value === 'undefined') return;\n sourceBranch.reduce(function(previousValue, currentValue, index) {\n if (typeof previousValue == 'undefined') return;\n if (index === sourceBranch.length - 1) delete previousValue[currentValue];\n return previousValue[currentValue];\n }, obj);\n targetBranch.reduce(function(previousValue, currentValue, index) {\n if (typeof previousValue[currentValue] === 'undefined') previousValue[currentValue] = {};\n if (index === targetBranch.length - 1) previousValue[currentValue] = value;\n return previousValue[currentValue];\n }, obj);\n};\n\nยต.PolyChart = function module() {\n var config = [ ยต.PolyChart.defaultConfig() ];\n var dispatch = d3.dispatch('hover');\n var dashArray = {\n solid: 'none',\n dash: [ 5, 2 ],\n dot: [ 2, 5 ]\n };\n var colorScale;\n function exports() {\n var geometryConfig = config[0].geometryConfig;\n var container = geometryConfig.container;\n if (typeof container == 'string') container = d3.select(container);\n container.datum(config).each(function(_config, _index) {\n var isStack = !!_config[0].data.yStack;\n var data = _config.map(function(d, i) {\n if (isStack) return d3.zip(d.data.t[0], d.data.r[0], d.data.yStack[0]); else return d3.zip(d.data.t[0], d.data.r[0]);\n });\n var angularScale = geometryConfig.angularScale;\n var domainMin = geometryConfig.radialScale.domain()[0];\n var generator = {};\n generator.bar = function(d, i, pI) {\n var dataConfig = _config[pI].data;\n var h = geometryConfig.radialScale(d[1]) - geometryConfig.radialScale(0);\n var stackTop = geometryConfig.radialScale(d[2] || 0);\n var w = dataConfig.barWidth;\n d3.select(this).attr({\n 'class': 'mark bar',\n d: 'M' + [ [ h + stackTop, -w / 2 ], [ h + stackTop, w / 2 ], [ stackTop, w / 2 ], [ stackTop, -w / 2 ] ].join('L') + 'Z',\n transform: function(d, i) {\n return 'rotate(' + (geometryConfig.orientation + angularScale(d[0])) + ')';\n }\n });\n };\n generator.dot = function(d, i, pI) {\n var stackedData = d[2] ? [ d[0], d[1] + d[2] ] : d;\n var symbol = d3.svg.symbol().size(_config[pI].data.dotSize).type(_config[pI].data.dotType)(d, i);\n d3.select(this).attr({\n 'class': 'mark dot',\n d: symbol,\n transform: function(d, i) {\n var coord = convertToCartesian(getPolarCoordinates(stackedData));\n return 'translate(' + [ coord.x, coord.y ] + ')';\n }\n });\n };\n var line = d3.svg.line.radial().interpolate(_config[0].data.lineInterpolation).radius(function(d) {\n return geometryConfig.radialScale(d[1]);\n }).angle(function(d) {\n return geometryConfig.angularScale(d[0]) * Math.PI / 180;\n });\n generator.line = function(d, i, pI) {\n var lineData = d[2] ? data[pI].map(function(d, i) {\n return [ d[0], d[1] + d[2] ];\n }) : data[pI];\n d3.select(this).each(generator['dot']).style({\n opacity: function(dB, iB) {\n return +_config[pI].data.dotVisible;\n },\n fill: markStyle.stroke(d, i, pI)\n }).attr({\n 'class': 'mark dot'\n });\n if (i > 0) return;\n var lineSelection = d3.select(this.parentNode).selectAll('path.line').data([ 0 ]);\n lineSelection.enter().insert('path');\n lineSelection.attr({\n 'class': 'line',\n d: line(lineData),\n transform: function(dB, iB) {\n return 'rotate(' + (geometryConfig.orientation + 90) + ')';\n },\n 'pointer-events': 'none'\n }).style({\n fill: function(dB, iB) {\n return markStyle.fill(d, i, pI);\n },\n 'fill-opacity': 0,\n stroke: function(dB, iB) {\n return markStyle.stroke(d, i, pI);\n },\n 'stroke-width': function(dB, iB) {\n return markStyle['stroke-width'](d, i, pI);\n },\n 'stroke-dasharray': function(dB, iB) {\n return markStyle['stroke-dasharray'](d, i, pI);\n },\n opacity: function(dB, iB) {\n return markStyle.opacity(d, i, pI);\n },\n display: function(dB, iB) {\n return markStyle.display(d, i, pI);\n }\n });\n };\n var angularRange = geometryConfig.angularScale.range();\n var triangleAngle = Math.abs(angularRange[1] - angularRange[0]) / data[0].length * Math.PI / 180;\n var arc = d3.svg.arc().startAngle(function(d) {\n return -triangleAngle / 2;\n }).endAngle(function(d) {\n return triangleAngle / 2;\n }).innerRadius(function(d) {\n return geometryConfig.radialScale(domainMin + (d[2] || 0));\n }).outerRadius(function(d) {\n return geometryConfig.radialScale(domainMin + (d[2] || 0)) + geometryConfig.radialScale(d[1]);\n });\n generator.arc = function(d, i, pI) {\n d3.select(this).attr({\n 'class': 'mark arc',\n d: arc,\n transform: function(d, i) {\n return 'rotate(' + (geometryConfig.orientation + angularScale(d[0]) + 90) + ')';\n }\n });\n };\n var markStyle = {\n fill: function(d, i, pI) {\n return _config[pI].data.color;\n },\n stroke: function(d, i, pI) {\n return _config[pI].data.strokeColor;\n },\n 'stroke-width': function(d, i, pI) {\n return _config[pI].data.strokeSize + 'px';\n },\n 'stroke-dasharray': function(d, i, pI) {\n return dashArray[_config[pI].data.strokeDash];\n },\n opacity: function(d, i, pI) {\n return _config[pI].data.opacity;\n },\n display: function(d, i, pI) {\n return typeof _config[pI].data.visible === 'undefined' || _config[pI].data.visible ? 'block' : 'none';\n }\n };\n var geometryLayer = d3.select(this).selectAll('g.layer').data(data);\n geometryLayer.enter().append('g').attr({\n 'class': 'layer'\n });\n var geometry = geometryLayer.selectAll('path.mark').data(function(d, i) {\n return d;\n });\n geometry.enter().append('path').attr({\n 'class': 'mark'\n });\n geometry.style(markStyle).each(generator[geometryConfig.geometryType]);\n geometry.exit().remove();\n geometryLayer.exit().remove();\n function getPolarCoordinates(d, i) {\n var r = geometryConfig.radialScale(d[1]);\n var t = (geometryConfig.angularScale(d[0]) + geometryConfig.orientation) * Math.PI / 180;\n return {\n r: r,\n t: t\n };\n }\n function convertToCartesian(polarCoordinates) {\n var x = polarCoordinates.r * Math.cos(polarCoordinates.t);\n var y = polarCoordinates.r * Math.sin(polarCoordinates.t);\n return {\n x: x,\n y: y\n };\n }\n });\n }\n exports.config = function(_x) {\n if (!arguments.length) return config;\n _x.forEach(function(d, i) {\n if (!config[i]) config[i] = {};\n extendDeepAll(config[i], ยต.PolyChart.defaultConfig());\n extendDeepAll(config[i], d);\n });\n return this;\n };\n exports.getColorScale = function() {\n return colorScale;\n };\n d3.rebind(exports, dispatch, 'on');\n return exports;\n};\n\nยต.PolyChart.defaultConfig = function() {\n var config = {\n data: {\n name: 'geom1',\n t: [ [ 1, 2, 3, 4 ] ],\n r: [ [ 1, 2, 3, 4 ] ],\n dotType: 'circle',\n dotSize: 64,\n dotVisible: false,\n barWidth: 20,\n color: '#ffa500',\n strokeSize: 1,\n strokeColor: 'silver',\n strokeDash: 'solid',\n opacity: 1,\n index: 0,\n visible: true,\n visibleInLegend: true\n },\n geometryConfig: {\n geometry: 'LinePlot',\n geometryType: 'arc',\n direction: 'clockwise',\n orientation: 0,\n container: 'body',\n radialScale: null,\n angularScale: null,\n colorScale: d3.scale.category20()\n }\n };\n return config;\n};\n\nยต.BarChart = function module() {\n return ยต.PolyChart();\n};\n\nยต.BarChart.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'bar'\n }\n };\n return config;\n};\n\nยต.AreaChart = function module() {\n return ยต.PolyChart();\n};\n\nยต.AreaChart.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'arc'\n }\n };\n return config;\n};\n\nยต.DotPlot = function module() {\n return ยต.PolyChart();\n};\n\nยต.DotPlot.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'dot',\n dotType: 'circle'\n }\n };\n return config;\n};\n\nยต.LinePlot = function module() {\n return ยต.PolyChart();\n};\n\nยต.LinePlot.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'line'\n }\n };\n return config;\n};\n\nยต.Legend = function module() {\n var config = ยต.Legend.defaultConfig();\n var dispatch = d3.dispatch('hover');\n function exports() {\n var legendConfig = config.legendConfig;\n var flattenData = config.data.map(function(d, i) {\n return [].concat(d).map(function(dB, iB) {\n var element = extendDeepAll({}, legendConfig.elements[i]);\n element.name = dB;\n element.color = [].concat(legendConfig.elements[i].color)[iB];\n return element;\n });\n });\n var data = d3.merge(flattenData);\n data = data.filter(function(d, i) {\n return legendConfig.elements[i] && (legendConfig.elements[i].visibleInLegend || typeof legendConfig.elements[i].visibleInLegend === 'undefined');\n });\n if (legendConfig.reverseOrder) data = data.reverse();\n var container = legendConfig.container;\n if (typeof container == 'string' || container.nodeName) container = d3.select(container);\n var colors = data.map(function(d, i) {\n return d.color;\n });\n var lineHeight = legendConfig.fontSize;\n var isContinuous = legendConfig.isContinuous == null ? typeof data[0] === 'number' : legendConfig.isContinuous;\n var height = isContinuous ? legendConfig.height : lineHeight * data.length;\n var legendContainerGroup = container.classed('legend-group', true);\n var svg = legendContainerGroup.selectAll('svg').data([ 0 ]);\n var svgEnter = svg.enter().append('svg').attr({\n width: 300,\n height: height + lineHeight,\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n version: '1.1'\n });\n svgEnter.append('g').classed('legend-axis', true);\n svgEnter.append('g').classed('legend-marks', true);\n var dataNumbered = d3.range(data.length);\n var colorScale = d3.scale[isContinuous ? 'linear' : 'ordinal']().domain(dataNumbered).range(colors);\n var dataScale = d3.scale[isContinuous ? 'linear' : 'ordinal']().domain(dataNumbered)[isContinuous ? 'range' : 'rangePoints']([ 0, height ]);\n var shapeGenerator = function(_type, _size) {\n var squareSize = _size * 3;\n if (_type === 'line') {\n return 'M' + [ [ -_size / 2, -_size / 12 ], [ _size / 2, -_size / 12 ], [ _size / 2, _size / 12 ], [ -_size / 2, _size / 12 ] ] + 'Z';\n } else if (d3.svg.symbolTypes.indexOf(_type) != -1) return d3.svg.symbol().type(_type).size(squareSize)(); else return d3.svg.symbol().type('square').size(squareSize)();\n };\n if (isContinuous) {\n var gradient = svg.select('.legend-marks').append('defs').append('linearGradient').attr({\n id: 'grad1',\n x1: '0%',\n y1: '0%',\n x2: '0%',\n y2: '100%'\n }).selectAll('stop').data(colors);\n gradient.enter().append('stop');\n gradient.attr({\n offset: function(d, i) {\n return i / (colors.length - 1) * 100 + '%';\n }\n }).style({\n 'stop-color': function(d, i) {\n return d;\n }\n });\n svg.append('rect').classed('legend-mark', true).attr({\n height: legendConfig.height,\n width: legendConfig.colorBandWidth,\n fill: 'url(#grad1)'\n });\n } else {\n var legendElement = svg.select('.legend-marks').selectAll('path.legend-mark').data(data);\n legendElement.enter().append('path').classed('legend-mark', true);\n legendElement.attr({\n transform: function(d, i) {\n return 'translate(' + [ lineHeight / 2, dataScale(i) + lineHeight / 2 ] + ')';\n },\n d: function(d, i) {\n var symbolType = d.symbol;\n return shapeGenerator(symbolType, lineHeight);\n },\n fill: function(d, i) {\n return colorScale(i);\n }\n });\n legendElement.exit().remove();\n }\n var legendAxis = d3.svg.axis().scale(dataScale).orient('right');\n var axis = svg.select('g.legend-axis').attr({\n transform: 'translate(' + [ isContinuous ? legendConfig.colorBandWidth : lineHeight, lineHeight / 2 ] + ')'\n }).call(legendAxis);\n axis.selectAll('.domain').style({\n fill: 'none',\n stroke: 'none'\n });\n axis.selectAll('line').style({\n fill: 'none',\n stroke: isContinuous ? legendConfig.textColor : 'none'\n });\n axis.selectAll('text').style({\n fill: legendConfig.textColor,\n 'font-size': legendConfig.fontSize\n }).text(function(d, i) {\n return data[i].name;\n });\n return exports;\n }\n exports.config = function(_x) {\n if (!arguments.length) return config;\n extendDeepAll(config, _x);\n return this;\n };\n d3.rebind(exports, dispatch, 'on');\n return exports;\n};\n\nยต.Legend.defaultConfig = function(d, i) {\n var config = {\n data: [ 'a', 'b', 'c' ],\n legendConfig: {\n elements: [ {\n symbol: 'line',\n color: 'red'\n }, {\n symbol: 'square',\n color: 'yellow'\n }, {\n symbol: 'diamond',\n color: 'limegreen'\n } ],\n height: 150,\n colorBandWidth: 30,\n fontSize: 12,\n container: 'body',\n isContinuous: null,\n textColor: 'grey',\n reverseOrder: false\n }\n };\n return config;\n};\n\nยต.tooltipPanel = function() {\n var tooltipEl, tooltipTextEl, backgroundEl;\n var config = {\n container: null,\n hasTick: false,\n fontSize: 12,\n color: 'white',\n padding: 5\n };\n var id = 'tooltip-' + ยต.tooltipPanel.uid++;\n var tickSize = 10;\n var exports = function() {\n tooltipEl = config.container.selectAll('g.' + id).data([ 0 ]);\n var tooltipEnter = tooltipEl.enter().append('g').classed(id, true).style({\n 'pointer-events': 'none',\n display: 'none'\n });\n backgroundEl = tooltipEnter.append('path').style({\n fill: 'white',\n 'fill-opacity': .9\n }).attr({\n d: 'M0 0'\n });\n tooltipTextEl = tooltipEnter.append('text').attr({\n dx: config.padding + tickSize,\n dy: +config.fontSize * .3\n });\n return exports;\n };\n exports.text = function(_text) {\n var l = d3.hsl(config.color).l;\n var strokeColor = l >= .5 ? '#aaa' : 'white';\n var fillColor = l >= .5 ? 'black' : 'white';\n var text = _text || '';\n tooltipTextEl.style({\n fill: fillColor,\n 'font-size': config.fontSize + 'px'\n }).text(text);\n var padding = config.padding;\n var bbox = tooltipTextEl.node().getBBox();\n var boxStyle = {\n fill: config.color,\n stroke: strokeColor,\n 'stroke-width': '2px'\n };\n var backGroundW = bbox.width + padding * 2 + tickSize;\n var backGroundH = bbox.height + padding * 2;\n backgroundEl.attr({\n d: 'M' + [ [ tickSize, -backGroundH / 2 ], [ tickSize, -backGroundH / 4 ], [ config.hasTick ? 0 : tickSize, 0 ], [ tickSize, backGroundH / 4 ], [ tickSize, backGroundH / 2 ], [ backGroundW, backGroundH / 2 ], [ backGroundW, -backGroundH / 2 ] ].join('L') + 'Z'\n }).style(boxStyle);\n tooltipEl.attr({\n transform: 'translate(' + [ tickSize, -backGroundH / 2 + padding * 2 ] + ')'\n });\n tooltipEl.style({\n display: 'block'\n });\n return exports;\n };\n exports.move = function(_pos) {\n if (!tooltipEl) return;\n tooltipEl.attr({\n transform: 'translate(' + [ _pos[0], _pos[1] ] + ')'\n }).style({\n display: 'block'\n });\n return exports;\n };\n exports.hide = function() {\n if (!tooltipEl) return;\n tooltipEl.style({\n display: 'none'\n });\n return exports;\n };\n exports.show = function() {\n if (!tooltipEl) return;\n tooltipEl.style({\n display: 'block'\n });\n return exports;\n };\n exports.config = function(_x) {\n extendDeepAll(config, _x);\n return exports;\n };\n return exports;\n};\n\nยต.tooltipPanel.uid = 1;\n\nยต.adapter = {};\n\nยต.adapter.plotly = function module() {\n var exports = {};\n exports.convert = function(_inputConfig, reverse) {\n var outputConfig = {};\n if (_inputConfig.data) {\n outputConfig.data = _inputConfig.data.map(function(d, i) {\n var r = extendDeepAll({}, d);\n var toTranslate = [\n [ r, [ 'marker', 'color' ], [ 'color' ] ],\n [ r, [ 'marker', 'opacity' ], [ 'opacity' ] ],\n [ r, [ 'marker', 'line', 'color' ], [ 'strokeColor' ] ],\n [ r, [ 'marker', 'line', 'dash' ], [ 'strokeDash' ] ],\n [ r, [ 'marker', 'line', 'width' ], [ 'strokeSize' ] ],\n [ r, [ 'marker', 'symbol' ], [ 'dotType' ] ],\n [ r, [ 'marker', 'size' ], [ 'dotSize' ] ],\n [ r, [ 'marker', 'barWidth' ], [ 'barWidth' ] ],\n [ r, [ 'line', 'interpolation' ], [ 'lineInterpolation' ] ],\n [ r, [ 'showlegend' ], [ 'visibleInLegend' ] ]\n ];\n toTranslate.forEach(function(d, i) {\n ยต.util.translator.apply(null, d.concat(reverse));\n });\n\n if (!reverse) delete r.marker;\n if (reverse) delete r.groupId;\n if (!reverse) {\n if (r.type === 'scatter') {\n if (r.mode === 'lines') r.geometry = 'LinePlot'; else if (r.mode === 'markers') r.geometry = 'DotPlot'; else if (r.mode === 'lines+markers') {\n r.geometry = 'LinePlot';\n r.dotVisible = true;\n }\n } else if (r.type === 'area') r.geometry = 'AreaChart'; else if (r.type === 'bar') r.geometry = 'BarChart';\n delete r.mode;\n delete r.type;\n } else {\n if (r.geometry === 'LinePlot') {\n r.type = 'scatter';\n if (r.dotVisible === true) {\n delete r.dotVisible;\n r.mode = 'lines+markers';\n } else r.mode = 'lines';\n } else if (r.geometry === 'DotPlot') {\n r.type = 'scatter';\n r.mode = 'markers';\n } else if (r.geometry === 'AreaChart') r.type = 'area'; else if (r.geometry === 'BarChart') r.type = 'bar';\n delete r.geometry;\n }\n return r;\n });\n if (!reverse && _inputConfig.layout && _inputConfig.layout.barmode === 'stack') {\n var duplicates = ยต.util.duplicates(outputConfig.data.map(function(d, i) {\n return d.geometry;\n }));\n outputConfig.data.forEach(function(d, i) {\n var idx = duplicates.indexOf(d.geometry);\n if (idx != -1) outputConfig.data[i].groupId = idx;\n });\n }\n }\n if (_inputConfig.layout) {\n var r = extendDeepAll({}, _inputConfig.layout);\n var toTranslate = [\n [ r, [ 'plot_bgcolor' ], [ 'backgroundColor' ] ],\n [ r, [ 'showlegend' ], [ 'showLegend' ] ],\n [ r, [ 'radialaxis' ], [ 'radialAxis' ] ],\n [ r, [ 'angularaxis' ], [ 'angularAxis' ] ],\n [ r.angularaxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.angularaxis, [ 'showticklabels' ], [ 'labelsVisible' ] ],\n [ r.angularaxis, [ 'nticks' ], [ 'ticksCount' ] ],\n [ r.angularaxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.angularaxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.angularaxis, [ 'range' ], [ 'domain' ] ],\n [ r.angularaxis, [ 'endpadding' ], [ 'endPadding' ] ],\n [ r.radialaxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.radialaxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.radialaxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.radialaxis, [ 'range' ], [ 'domain' ] ],\n [ r.angularAxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.angularAxis, [ 'showticklabels' ], [ 'labelsVisible' ] ],\n [ r.angularAxis, [ 'nticks' ], [ 'ticksCount' ] ],\n [ r.angularAxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.angularAxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.angularAxis, [ 'range' ], [ 'domain' ] ],\n [ r.angularAxis, [ 'endpadding' ], [ 'endPadding' ] ],\n [ r.radialAxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.radialAxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.radialAxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.radialAxis, [ 'range' ], [ 'domain' ] ],\n [ r.font, [ 'outlinecolor' ], [ 'outlineColor' ] ],\n [ r.legend, [ 'traceorder' ], [ 'reverseOrder' ] ],\n [ r, [ 'labeloffset' ], [ 'labelOffset' ] ],\n [ r, [ 'defaultcolorrange' ], [ 'defaultColorRange' ] ]\n ];\n toTranslate.forEach(function(d, i) {\n ยต.util.translator.apply(null, d.concat(reverse));\n });\n\n if (!reverse) {\n if (r.angularAxis && typeof r.angularAxis.ticklen !== 'undefined') r.tickLength = r.angularAxis.ticklen;\n if (r.angularAxis && typeof r.angularAxis.tickcolor !== 'undefined') r.tickColor = r.angularAxis.tickcolor;\n } else {\n if (typeof r.tickLength !== 'undefined') {\n r.angularaxis.ticklen = r.tickLength;\n delete r.tickLength;\n }\n if (r.tickColor) {\n r.angularaxis.tickcolor = r.tickColor;\n delete r.tickColor;\n }\n }\n if (r.legend && typeof r.legend.reverseOrder != 'boolean') {\n r.legend.reverseOrder = r.legend.reverseOrder != 'normal';\n }\n if (r.legend && typeof r.legend.traceorder == 'boolean') {\n r.legend.traceorder = r.legend.traceorder ? 'reversed' : 'normal';\n delete r.legend.reverseOrder;\n }\n if (r.margin && typeof r.margin.t != 'undefined') {\n var source = [ 't', 'r', 'b', 'l', 'pad' ];\n var target = [ 'top', 'right', 'bottom', 'left', 'pad' ];\n var margin = {};\n d3.entries(r.margin).forEach(function(dB, iB) {\n margin[target[source.indexOf(dB.key)]] = dB.value;\n });\n r.margin = margin;\n }\n if (reverse) {\n delete r.needsEndSpacing;\n delete r.minorTickColor;\n delete r.minorTicks;\n delete r.angularaxis.ticksCount;\n delete r.angularaxis.ticksCount;\n delete r.angularaxis.ticksStep;\n delete r.angularaxis.rewriteTicks;\n delete r.angularaxis.nticks;\n delete r.radialaxis.ticksCount;\n delete r.radialaxis.ticksCount;\n delete r.radialaxis.ticksStep;\n delete r.radialaxis.rewriteTicks;\n delete r.radialaxis.nticks;\n }\n outputConfig.layout = r;\n }\n return outputConfig;\n };\n return exports;\n};\n\n\n/***/ }),\n\n/***/ \"3a9c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar setGroupPositions = __webpack_require__(\"0cec\").setGroupPositions;\n\nmodule.exports = function crossTraceCalc(gd, plotinfo) {\n var fullLayout = gd._fullLayout;\n var fullData = gd._fullData;\n var calcdata = gd.calcdata;\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n var funnels = [];\n var funnelsVert = [];\n var funnelsHorz = [];\n var cd, i;\n\n for(i = 0; i < fullData.length; i++) {\n var fullTrace = fullData[i];\n var isHorizontal = (fullTrace.orientation === 'h');\n\n if(\n fullTrace.visible === true &&\n fullTrace.xaxis === xa._id &&\n fullTrace.yaxis === ya._id &&\n fullTrace.type === 'funnel'\n ) {\n cd = calcdata[i];\n\n if(isHorizontal) {\n funnelsHorz.push(cd);\n } else {\n funnelsVert.push(cd);\n }\n\n funnels.push(cd);\n }\n }\n\n var opts = {\n mode: fullLayout.funnelmode,\n norm: fullLayout.funnelnorm,\n gap: fullLayout.funnelgap,\n groupgap: fullLayout.funnelgroupgap\n };\n\n setGroupPositions(gd, xa, ya, funnelsVert, opts);\n setGroupPositions(gd, ya, xa, funnelsHorz, opts);\n\n for(i = 0; i < funnels.length; i++) {\n cd = funnels[i];\n\n for(var j = 0; j < cd.length; j++) {\n if(j + 1 < cd.length) {\n cd[j].nextP0 = cd[j + 1].p0;\n cd[j].nextS0 = cd[j + 1].s0;\n\n cd[j].nextP1 = cd[j + 1].p1;\n cd[j].nextS1 = cd[j + 1].s1;\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"3aa8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar extractOpts = __webpack_require__(\"215c\").extractOpts;\n\nmodule.exports = function calc(gd, trace, opts) {\n var fullLayout = gd._fullLayout;\n var vals = opts.vals;\n var containerStr = opts.containerStr;\n\n var container = containerStr ?\n Lib.nestedProperty(trace, containerStr).get() :\n trace;\n\n var cOpts = extractOpts(container);\n var auto = cOpts.auto !== false;\n var min = cOpts.min;\n var max = cOpts.max;\n var mid = cOpts.mid;\n\n var minVal = function() { return Lib.aggNums(Math.min, null, vals); };\n var maxVal = function() { return Lib.aggNums(Math.max, null, vals); };\n\n if(min === undefined) {\n min = minVal();\n } else if(auto) {\n if(container._colorAx && isNumeric(min)) {\n min = Math.min(min, minVal());\n } else {\n min = minVal();\n }\n }\n\n if(max === undefined) {\n max = maxVal();\n } else if(auto) {\n if(container._colorAx && isNumeric(max)) {\n max = Math.max(max, maxVal());\n } else {\n max = maxVal();\n }\n }\n\n if(auto && mid !== undefined) {\n if(max - mid > mid - min) {\n min = mid - (max - mid);\n } else if(max - mid < mid - min) {\n max = mid + (mid - min);\n }\n }\n\n if(min === max) {\n min -= 0.5;\n max += 0.5;\n }\n\n cOpts._sync('min', min);\n cOpts._sync('max', max);\n\n if(cOpts.autocolorscale) {\n var scl;\n if(min * max < 0) scl = fullLayout.colorscale.diverging;\n else if(min >= 0) scl = fullLayout.colorscale.sequential;\n else scl = fullLayout.colorscale.sequentialminus;\n cOpts._sync('colorscale', scl);\n }\n};\n\n\n/***/ }),\n\n/***/ \"3af0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar glslify = __webpack_require__(\"e98f\");\nvar vertexShaderSource = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n p17_20, p21_24, p25_28, p29_32,\\n p33_36, p37_40, p41_44, p45_48,\\n p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform sampler2D mask, palette;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\n\\nbool isPick = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n return (\\n fOutside(p[0], lo[0], hi[0]) ||\\n fOutside(p[1], lo[1], hi[1]) ||\\n fOutside(p[2], lo[2], hi[2]) ||\\n fOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n return (\\n vOutside(p[0], lo[0], hi[0]) ||\\n vOutside(p[1], lo[1], hi[1]) ||\\n vOutside(p[2], lo[2], hi[2]) ||\\n vOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n return mOutside(A, loA, hiA) ||\\n mOutside(B, loB, hiB) ||\\n mOutside(C, loC, hiC) ||\\n mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n mat4 pnts[4];\\n pnts[0] = A;\\n pnts[1] = B;\\n pnts[2] = C;\\n pnts[3] = D;\\n\\n for(int i = 0; i < 4; ++i) {\\n for(int j = 0; j < 4; ++j) {\\n for(int k = 0; k < 4; ++k) {\\n if(0 == iMod(\\n int(255.0 * texture2D(mask,\\n vec2(\\n (float(i * 2 + j / 2) + 0.5) / 8.0,\\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n ))[3]\\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n 2\\n )) return true;\\n }\\n }\\n }\\n return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float x = 0.5 * sign(v) + 0.5;\\n float y = axisY(x, A, B, C, D);\\n float z = 1.0 - abs(v);\\n\\n z += isContext ? 0.0 : 2.0 * float(\\n outsideBoundingBox(A, B, C, D) ||\\n outsideRasterMask(A, B, C, D)\\n );\\n\\n return vec4(\\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n z,\\n 1.0\\n );\\n}\\n\\nvoid main() {\\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n float v = colors[3];\\n\\n gl_Position = position(isContext, v, A, B, C, D);\\n\\n fragColor =\\n isContext ? vec4(contextColor) :\\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]);\nvar fragmentShaderSource = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n gl_FragColor = fragColor;\\n}\\n\"]);\nvar maxDim = __webpack_require__(\"f7a4\").maxDimensionCount;\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// don't change; otherwise near/far plane lines are lost\nvar depthLimitEpsilon = 1e-6;\n\n// precision of multiselect is the full range divided into this many parts\nvar maskHeight = 2048;\n\nvar dummyPixel = new Uint8Array(4);\nvar dataPixel = new Uint8Array(4);\n\nvar paletteTextureConfig = {\n shape: [256, 1],\n format: 'rgba',\n type: 'uint8',\n mag: 'nearest',\n min: 'nearest'\n};\n\nfunction ensureDraw(regl) {\n regl.read({\n x: 0,\n y: 0,\n width: 1,\n height: 1,\n data: dummyPixel\n });\n}\n\nfunction clear(regl, x, y, width, height) {\n var gl = regl._gl;\n gl.enable(gl.SCISSOR_TEST);\n gl.scissor(x, y, width, height);\n regl.clear({color: [0, 0, 0, 0], depth: 1}); // clearing is done in scissored panel only\n}\n\nfunction renderBlock(regl, glAes, renderState, blockLineCount, sampleCount, item) {\n var rafKey = item.key;\n\n function render(blockNumber) {\n var count = Math.min(blockLineCount, sampleCount - blockNumber * blockLineCount);\n\n if(blockNumber === 0) {\n // stop drawing possibly stale glyphs before clearing\n window.cancelAnimationFrame(renderState.currentRafs[rafKey]);\n delete renderState.currentRafs[rafKey];\n clear(regl, item.scissorX, item.scissorY, item.scissorWidth, item.viewBoxSize[1]);\n }\n\n if(renderState.clearOnly) {\n return;\n }\n\n item.count = 2 * count;\n item.offset = 2 * blockNumber * blockLineCount;\n glAes(item);\n\n if(blockNumber * blockLineCount + count < sampleCount) {\n renderState.currentRafs[rafKey] = window.requestAnimationFrame(function() {\n render(blockNumber + 1);\n });\n }\n\n renderState.drawCompleted = false;\n }\n\n if(!renderState.drawCompleted) {\n ensureDraw(regl);\n renderState.drawCompleted = true;\n }\n\n // start with rendering item 0; recursion handles the rest\n render(0);\n}\n\nfunction adjustDepth(d) {\n // WebGL matrix operations use floats with limited precision, potentially causing a number near a border of [0, 1]\n // to end up slightly outside the border. With an epsilon, we reduce the chance that a line gets clipped by the\n // near or the far plane.\n return Math.max(depthLimitEpsilon, Math.min(1 - depthLimitEpsilon, d));\n}\n\nfunction palette(unitToColor, opacity) {\n var result = new Array(256);\n for(var i = 0; i < 256; i++) {\n result[i] = unitToColor(i / 255).concat(opacity);\n }\n return result;\n}\n\n// Maps the sample index [0...sampleCount - 1] to a range of [0, 1] as the shader expects colors in the [0, 1] range.\n// but first it shifts the sample index by 0, 8 or 16 bits depending on rgbIndex [0..2]\n// with the end result that each line will be of a unique color, making it possible for the pick handler\n// to uniquely identify which line is hovered over (bijective mapping).\n// The inverse, i.e. readPixel is invoked from 'parcoords.js'\nfunction calcPickColor(i, rgbIndex) {\n return (i >>> 8 * rgbIndex) % 256 / 255;\n}\n\nfunction makePoints(sampleCount, dims, color) {\n var points = new Array(sampleCount * (maxDim + 4));\n var n = 0;\n for(var i = 0; i < sampleCount; i++) {\n for(var k = 0; k < maxDim; k++) {\n points[n++] = (k < dims.length) ? dims[k].paddedUnitValues[i] : 0.5;\n }\n points[n++] = calcPickColor(i, 2);\n points[n++] = calcPickColor(i, 1);\n points[n++] = calcPickColor(i, 0);\n points[n++] = adjustDepth(color[i]);\n }\n return points;\n}\n\nfunction makeVecAttr(vecIndex, sampleCount, points) {\n var pointPairs = new Array(sampleCount * 8);\n var n = 0;\n for(var i = 0; i < sampleCount; i++) {\n for(var j = 0; j < 2; j++) {\n for(var k = 0; k < 4; k++) {\n var q = vecIndex * 4 + k;\n var v = points[i * 64 + q];\n if(q === 63 && j === 0) {\n v *= -1;\n }\n pointPairs[n++] = v;\n }\n }\n }\n return pointPairs;\n}\n\nfunction pad2(num) {\n var s = '0' + num;\n return s.substr(s.length - 2);\n}\n\nfunction getAttrName(i) {\n return (i < maxDim) ? 'p' + pad2(i + 1) + '_' + pad2(i + 4) : 'colors';\n}\n\nfunction setAttributes(attributes, sampleCount, points) {\n for(var i = 0; i <= maxDim; i += 4) {\n attributes[getAttrName(i)](makeVecAttr(i / 4, sampleCount, points));\n }\n}\n\nfunction emptyAttributes(regl) {\n var attributes = {};\n for(var i = 0; i <= maxDim; i += 4) {\n attributes[getAttrName(i)] = regl.buffer({usage: 'dynamic', type: 'float', data: new Uint8Array(0)});\n }\n return attributes;\n}\n\nfunction makeItem(model, leftmost, rightmost, itemNumber, i0, i1, x, y, panelSizeX, panelSizeY, crossfilterDimensionIndex, drwLayer, constraints) {\n var dims = [[], []];\n for(var k = 0; k < 64; k++) {\n dims[0][k] = (k === i0) ? 1 : 0;\n dims[1][k] = (k === i1) ? 1 : 0;\n }\n\n var overdrag = model.lines.canvasOverdrag;\n var domain = model.domain;\n var canvasWidth = model.canvasWidth;\n var canvasHeight = model.canvasHeight;\n\n var deselectedLinesColor = model.deselectedLines.color;\n\n var itemModel = Lib.extendFlat({\n key: crossfilterDimensionIndex,\n resolution: [canvasWidth, canvasHeight],\n viewBoxPos: [x + overdrag, y],\n viewBoxSize: [panelSizeX, panelSizeY],\n i0: i0,\n i1: i1,\n\n dim0A: dims[0].slice(0, 16),\n dim0B: dims[0].slice(16, 32),\n dim0C: dims[0].slice(32, 48),\n dim0D: dims[0].slice(48, 64),\n dim1A: dims[1].slice(0, 16),\n dim1B: dims[1].slice(16, 32),\n dim1C: dims[1].slice(32, 48),\n dim1D: dims[1].slice(48, 64),\n\n drwLayer: drwLayer,\n contextColor: [\n deselectedLinesColor[0] / 255,\n deselectedLinesColor[1] / 255,\n deselectedLinesColor[2] / 255,\n deselectedLinesColor[3] < 1 ?\n deselectedLinesColor[3] :\n Math.max(1 / 255, Math.pow(1 / model.lines.color.length, 1 / 3))\n ],\n\n scissorX: (itemNumber === leftmost ? 0 : x + overdrag) + (model.pad.l - overdrag) + model.layoutWidth * domain.x[0],\n scissorWidth: (itemNumber === rightmost ? canvasWidth - x + overdrag : panelSizeX + 0.5) + (itemNumber === leftmost ? x + overdrag : 0),\n scissorY: y + model.pad.b + model.layoutHeight * domain.y[0],\n scissorHeight: panelSizeY,\n\n viewportX: model.pad.l - overdrag + model.layoutWidth * domain.x[0],\n viewportY: model.pad.b + model.layoutHeight * domain.y[0],\n viewportWidth: canvasWidth,\n viewportHeight: canvasHeight\n }, constraints);\n\n return itemModel;\n}\n\nfunction expandedPixelRange(bounds) {\n var dh = maskHeight - 1;\n var a = Math.max(0, Math.floor(bounds[0] * dh), 0);\n var b = Math.min(dh, Math.ceil(bounds[1] * dh), dh);\n return [\n Math.min(a, b),\n Math.max(a, b)\n ];\n}\n\nmodule.exports = function(canvasGL, d) {\n // context & pick describe which canvas we're talking about - won't change with new data\n var isContext = d.context;\n var isPick = d.pick;\n\n var regl = d.regl;\n\n var renderState = {\n currentRafs: {},\n drawCompleted: true,\n clearOnly: false\n };\n\n // state to be set by update and used later\n var model;\n var vm;\n var initialDims;\n var sampleCount;\n var attributes = emptyAttributes(regl);\n var maskTexture;\n var paletteTexture = regl.texture(paletteTextureConfig);\n\n var prevAxisOrder = [];\n\n update(d);\n\n var glAes = regl({\n\n profile: false,\n\n blend: {\n enable: isContext,\n func: {\n srcRGB: 'src alpha',\n dstRGB: 'one minus src alpha',\n srcAlpha: 1,\n dstAlpha: 1 // 'one minus src alpha'\n },\n equation: {\n rgb: 'add',\n alpha: 'add'\n },\n color: [0, 0, 0, 0]\n },\n\n depth: {\n enable: !isContext,\n mask: true,\n func: 'less',\n range: [0, 1]\n },\n\n // for polygons\n cull: {\n enable: true,\n face: 'back'\n },\n\n scissor: {\n enable: true,\n box: {\n x: regl.prop('scissorX'),\n y: regl.prop('scissorY'),\n width: regl.prop('scissorWidth'),\n height: regl.prop('scissorHeight')\n }\n },\n\n viewport: {\n x: regl.prop('viewportX'),\n y: regl.prop('viewportY'),\n width: regl.prop('viewportWidth'),\n height: regl.prop('viewportHeight')\n },\n\n dither: false,\n\n vert: vertexShaderSource,\n\n frag: fragmentShaderSource,\n\n primitive: 'lines',\n lineWidth: 1,\n attributes: attributes,\n uniforms: {\n resolution: regl.prop('resolution'),\n viewBoxPos: regl.prop('viewBoxPos'),\n viewBoxSize: regl.prop('viewBoxSize'),\n dim0A: regl.prop('dim0A'),\n dim1A: regl.prop('dim1A'),\n dim0B: regl.prop('dim0B'),\n dim1B: regl.prop('dim1B'),\n dim0C: regl.prop('dim0C'),\n dim1C: regl.prop('dim1C'),\n dim0D: regl.prop('dim0D'),\n dim1D: regl.prop('dim1D'),\n loA: regl.prop('loA'),\n hiA: regl.prop('hiA'),\n loB: regl.prop('loB'),\n hiB: regl.prop('hiB'),\n loC: regl.prop('loC'),\n hiC: regl.prop('hiC'),\n loD: regl.prop('loD'),\n hiD: regl.prop('hiD'),\n palette: paletteTexture,\n contextColor: regl.prop('contextColor'),\n mask: regl.prop('maskTexture'),\n drwLayer: regl.prop('drwLayer'),\n maskHeight: regl.prop('maskHeight')\n },\n offset: regl.prop('offset'),\n count: regl.prop('count')\n });\n\n function update(dNew) {\n model = dNew.model;\n vm = dNew.viewModel;\n initialDims = vm.dimensions.slice();\n sampleCount = initialDims[0] ? initialDims[0].values.length : 0;\n\n var lines = model.lines;\n var color = isPick ? lines.color.map(function(_, i) {return i / lines.color.length;}) : lines.color;\n\n var points = makePoints(sampleCount, initialDims, color);\n setAttributes(attributes, sampleCount, points);\n\n if(!isContext && !isPick) {\n paletteTexture = regl.texture(Lib.extendFlat({\n data: palette(model.unitToColor, 255)\n }, paletteTextureConfig));\n }\n }\n\n function makeConstraints(isContext) {\n var i, j, k;\n\n var limits = [[], []];\n for(k = 0; k < 64; k++) {\n var p = (!isContext && k < initialDims.length) ?\n initialDims[k].brush.filter.getBounds() : [-Infinity, Infinity];\n\n limits[0][k] = p[0];\n limits[1][k] = p[1];\n }\n\n var len = maskHeight * 8;\n var mask = new Array(len);\n for(i = 0; i < len; i++) {\n mask[i] = 255;\n }\n if(!isContext) {\n for(i = 0; i < initialDims.length; i++) {\n var u = i % 8;\n var v = (i - u) / 8;\n var bitMask = Math.pow(2, u);\n var dim = initialDims[i];\n var ranges = dim.brush.filter.get();\n if(ranges.length < 2) continue; // bail if the bounding box based filter is sufficient\n\n var prevEnd = expandedPixelRange(ranges[0])[1];\n for(j = 1; j < ranges.length; j++) {\n var nextRange = expandedPixelRange(ranges[j]);\n for(k = prevEnd + 1; k < nextRange[0]; k++) {\n mask[k * 8 + v] &= ~bitMask;\n }\n prevEnd = Math.max(prevEnd, nextRange[1]);\n }\n }\n }\n\n var textureData = {\n // 8 units x 8 bits = 64 bits, just sufficient for the almost 64 dimensions we support\n shape: [8, maskHeight],\n format: 'alpha',\n type: 'uint8',\n mag: 'nearest',\n min: 'nearest',\n data: mask\n };\n if(maskTexture) maskTexture(textureData);\n else maskTexture = regl.texture(textureData);\n\n return {\n maskTexture: maskTexture,\n maskHeight: maskHeight,\n loA: limits[0].slice(0, 16),\n loB: limits[0].slice(16, 32),\n loC: limits[0].slice(32, 48),\n loD: limits[0].slice(48, 64),\n hiA: limits[1].slice(0, 16),\n hiB: limits[1].slice(16, 32),\n hiC: limits[1].slice(32, 48),\n hiD: limits[1].slice(48, 64),\n };\n }\n\n function renderGLParcoords(panels, setChanged, clearOnly) {\n var panelCount = panels.length;\n var i;\n\n var leftmost;\n var rightmost;\n var lowestX = Infinity;\n var highestX = -Infinity;\n\n for(i = 0; i < panelCount; i++) {\n if(panels[i].dim0.canvasX < lowestX) {\n lowestX = panels[i].dim0.canvasX;\n leftmost = i;\n }\n if(panels[i].dim1.canvasX > highestX) {\n highestX = panels[i].dim1.canvasX;\n rightmost = i;\n }\n }\n\n if(panelCount === 0) {\n // clear canvas here, as the panel iteration below will not enter the loop body\n clear(regl, 0, 0, model.canvasWidth, model.canvasHeight);\n }\n var constraints = makeConstraints(isContext);\n\n for(i = 0; i < panelCount; i++) {\n var p = panels[i];\n var i0 = p.dim0.crossfilterDimensionIndex;\n var i1 = p.dim1.crossfilterDimensionIndex;\n var x = p.canvasX;\n var y = p.canvasY;\n var nextX = x + p.panelSizeX;\n if(setChanged ||\n !prevAxisOrder[i0] ||\n prevAxisOrder[i0][0] !== x ||\n prevAxisOrder[i0][1] !== nextX\n ) {\n prevAxisOrder[i0] = [x, nextX];\n\n var item = makeItem(\n model,\n leftmost, rightmost, i, i0, i1, x, y,\n p.panelSizeX, p.panelSizeY,\n p.dim0.crossfilterDimensionIndex,\n isContext ? 0 : isPick ? 2 : 1,\n constraints\n );\n\n renderState.clearOnly = clearOnly;\n\n var blockLineCount = setChanged ? model.lines.blockLineCount : sampleCount;\n renderBlock(\n regl, glAes, renderState, blockLineCount, sampleCount, item\n );\n }\n }\n }\n\n function readPixel(canvasX, canvasY) {\n regl.read({\n x: canvasX,\n y: canvasY,\n width: 1,\n height: 1,\n data: dataPixel\n });\n return dataPixel;\n }\n\n function readPixels(canvasX, canvasY, width, height) {\n var pixelArray = new Uint8Array(4 * width * height);\n regl.read({\n x: canvasX,\n y: canvasY,\n width: width,\n height: height,\n data: pixelArray\n });\n return pixelArray;\n }\n\n function destroy() {\n canvasGL.style['pointer-events'] = 'none';\n paletteTexture.destroy();\n if(maskTexture) maskTexture.destroy();\n for(var k in attributes) attributes[k].destroy();\n }\n\n return {\n render: renderGLParcoords,\n readPixel: readPixel,\n readPixels: readPixels,\n destroy: destroy,\n update: update\n };\n};\n\n\n/***/ }),\n\n/***/ \"3b74\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar meta_1 = __webpack_require__(\"716c\");\n// Note: change RADIUS => earthRadius\nvar RADIUS = 6378137;\n/**\n * Takes one or more features and returns their area in square meters.\n *\n * @name area\n * @param {GeoJSON} geojson input GeoJSON feature(s)\n * @returns {number} area in square meters\n * @example\n * var polygon = turf.polygon([[[125, -15], [113, -22], [154, -27], [144, -15], [125, -15]]]);\n *\n * var area = turf.area(polygon);\n *\n * //addToMap\n * var addToMap = [polygon]\n * polygon.properties.area = area\n */\nfunction area(geojson) {\n return meta_1.geomReduce(geojson, function (value, geom) {\n return value + calculateArea(geom);\n }, 0);\n}\nexports.default = area;\n/**\n * Calculate Area\n *\n * @private\n * @param {Geometry} geom GeoJSON Geometries\n * @returns {number} area\n */\nfunction calculateArea(geom) {\n var total = 0;\n var i;\n switch (geom.type) {\n case \"Polygon\":\n return polygonArea(geom.coordinates);\n case \"MultiPolygon\":\n for (i = 0; i < geom.coordinates.length; i++) {\n total += polygonArea(geom.coordinates[i]);\n }\n return total;\n case \"Point\":\n case \"MultiPoint\":\n case \"LineString\":\n case \"MultiLineString\":\n return 0;\n }\n return 0;\n}\nfunction polygonArea(coords) {\n var total = 0;\n if (coords && coords.length > 0) {\n total += Math.abs(ringArea(coords[0]));\n for (var i = 1; i < coords.length; i++) {\n total -= Math.abs(ringArea(coords[i]));\n }\n }\n return total;\n}\n/**\n * @private\n * Calculate the approximate area of the polygon were it projected onto the earth.\n * Note that this area will be positive if ring is oriented clockwise, otherwise it will be negative.\n *\n * Reference:\n * Robert. G. Chamberlain and William H. Duquette, \"Some Algorithms for Polygons on a Sphere\",\n * JPL Publication 07-03, Jet Propulsion\n * Laboratory, Pasadena, CA, June 2007 http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409\n *\n * @param {Array>} coords Ring Coordinates\n * @returns {number} The approximate signed geodesic area of the polygon in square meters.\n */\nfunction ringArea(coords) {\n var p1;\n var p2;\n var p3;\n var lowerIndex;\n var middleIndex;\n var upperIndex;\n var i;\n var total = 0;\n var coordsLength = coords.length;\n if (coordsLength > 2) {\n for (i = 0; i < coordsLength; i++) {\n if (i === coordsLength - 2) {\n lowerIndex = coordsLength - 2;\n middleIndex = coordsLength - 1;\n upperIndex = 0;\n }\n else if (i === coordsLength - 1) {\n lowerIndex = coordsLength - 1;\n middleIndex = 0;\n upperIndex = 1;\n }\n else {\n lowerIndex = i;\n middleIndex = i + 1;\n upperIndex = i + 2;\n }\n p1 = coords[lowerIndex];\n p2 = coords[middleIndex];\n p3 = coords[upperIndex];\n total += (rad(p3[0]) - rad(p1[0])) * Math.sin(rad(p2[1]));\n }\n total = total * RADIUS * RADIUS / 2;\n }\n return total;\n}\nfunction rad(num) {\n return num * Math.PI / 180;\n}\n\n\n/***/ }),\n\n/***/ \"3b80\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"5aae\"),\n supplyDefaults: __webpack_require__(\"2705\"),\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"a2ee\"),\n calc: __webpack_require__(\"fcb7\"),\n plot: __webpack_require__(\"b8b2\"),\n style: __webpack_require__(\"52e8\").style,\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"e92c\"),\n selectPoints: __webpack_require__(\"214c\"),\n eventData: __webpack_require__(\"0271\"),\n\n moduleType: 'trace',\n name: 'scattercarpet',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['svg', 'carpet', 'symbols', 'showLegend', 'carpetDependent', 'zoomScale'],\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"3bd6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar rationalize = __webpack_require__(\"2195\")\n\nmodule.exports = mul\n\nfunction mul(a, b) {\n return rationalize(a[0].mul(b[0]), a[1].mul(b[1]))\n}\n\n\n/***/ }),\n\n/***/ \"3c1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\n\nvar constants = __webpack_require__(\"d301\");\n\n\n// convert between axis names (xaxis, xaxis2, etc, elements of gd.layout)\n// and axis id's (x, x2, etc). Would probably have ditched 'xaxis'\n// completely in favor of just 'x' if it weren't ingrained in the API etc.\nexports.id2name = function id2name(id) {\n if(typeof id !== 'string' || !id.match(constants.AX_ID_PATTERN)) return;\n var axNum = id.substr(1);\n if(axNum === '1') axNum = '';\n return id.charAt(0) + 'axis' + axNum;\n};\n\nexports.name2id = function name2id(name) {\n if(!name.match(constants.AX_NAME_PATTERN)) return;\n var axNum = name.substr(5);\n if(axNum === '1') axNum = '';\n return name.charAt(0) + axNum;\n};\n\nexports.cleanId = function cleanId(id, axLetter) {\n if(!id.match(constants.AX_ID_PATTERN)) return;\n if(axLetter && id.charAt(0) !== axLetter) return;\n\n var axNum = id.substr(1).replace(/^0+/, '');\n if(axNum === '1') axNum = '';\n return id.charAt(0) + axNum;\n};\n\n// get all axis objects, as restricted in listNames\nexports.list = function(gd, axLetter, only2d) {\n var fullLayout = gd._fullLayout;\n if(!fullLayout) return [];\n\n var idList = exports.listIds(gd, axLetter);\n var out = new Array(idList.length);\n var i;\n\n for(i = 0; i < idList.length; i++) {\n var idi = idList[i];\n out[i] = fullLayout[idi.charAt(0) + 'axis' + idi.substr(1)];\n }\n\n if(!only2d) {\n var sceneIds3D = fullLayout._subplots.gl3d || [];\n\n for(i = 0; i < sceneIds3D.length; i++) {\n var scene = fullLayout[sceneIds3D[i]];\n\n if(axLetter) out.push(scene[axLetter + 'axis']);\n else out.push(scene.xaxis, scene.yaxis, scene.zaxis);\n }\n }\n\n return out;\n};\n\n// get all axis ids, optionally restricted by letter\n// this only makes sense for 2d axes\nexports.listIds = function(gd, axLetter) {\n var fullLayout = gd._fullLayout;\n if(!fullLayout) return [];\n\n var subplotLists = fullLayout._subplots;\n if(axLetter) return subplotLists[axLetter + 'axis'];\n return subplotLists.xaxis.concat(subplotLists.yaxis);\n};\n\n// get an axis object from its id 'x','x2' etc\n// optionally, id can be a subplot (ie 'x2y3') and type gets x or y from it\nexports.getFromId = function(gd, id, type) {\n var fullLayout = gd._fullLayout;\n\n if(type === 'x') id = id.replace(/y[0-9]*/, '');\n else if(type === 'y') id = id.replace(/x[0-9]*/, '');\n\n return fullLayout[exports.id2name(id)];\n};\n\n// get an axis object of specified type from the containing trace\nexports.getFromTrace = function(gd, fullTrace, type) {\n var fullLayout = gd._fullLayout;\n var ax = null;\n\n if(Registry.traceIs(fullTrace, 'gl3d')) {\n var scene = fullTrace.scene;\n if(scene.substr(0, 5) === 'scene') {\n ax = fullLayout[scene][type + 'axis'];\n }\n } else {\n ax = exports.getFromId(gd, fullTrace[type + 'axis'] || type);\n }\n\n return ax;\n};\n\n// sort x, x2, x10, y, y2, y10...\nexports.idSort = function(id1, id2) {\n var letter1 = id1.charAt(0);\n var letter2 = id2.charAt(0);\n if(letter1 !== letter2) return letter1 > letter2 ? 1 : -1;\n return +(id1.substr(1) || 1) - +(id2.substr(1) || 1);\n};\n\nexports.getAxisGroup = function getAxisGroup(fullLayout, axId) {\n var matchGroups = fullLayout._axisMatchGroups;\n\n for(var i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n if(group[axId]) return 'g' + i;\n }\n return axId;\n};\n\n\n/***/ }),\n\n/***/ \"3c31\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n/**\n * Error bar computing function generator\n *\n * N.B. The generated function does not clean the dataPt entries. Non-numeric\n * entries result in undefined error magnitudes.\n *\n * @param {object} opts error bar attributes\n *\n * @return {function} :\n * @param {numeric} dataPt data point from where to compute the error magnitude\n * @param {number} index index of dataPt in its corresponding data array\n * @return {array}\n * - error[0] : error magnitude in the negative direction\n * - error[1] : \" \" \" \" positive \"\n */\nmodule.exports = function makeComputeError(opts) {\n var type = opts.type;\n var symmetric = opts.symmetric;\n\n if(type === 'data') {\n var array = opts.array || [];\n\n if(symmetric) {\n return function computeError(dataPt, index) {\n var val = +(array[index]);\n return [val, val];\n };\n } else {\n var arrayminus = opts.arrayminus || [];\n return function computeError(dataPt, index) {\n var val = +array[index];\n var valMinus = +arrayminus[index];\n // in case one is present and the other is missing, fill in 0\n // so we still see the present one. Mostly useful during manual\n // data entry.\n if(!isNaN(val) || !isNaN(valMinus)) {\n return [valMinus || 0, val || 0];\n }\n return [NaN, NaN];\n };\n }\n } else {\n var computeErrorValue = makeComputeErrorValue(type, opts.value);\n var computeErrorValueMinus = makeComputeErrorValue(type, opts.valueminus);\n\n if(symmetric || opts.valueminus === undefined) {\n return function computeError(dataPt) {\n var val = computeErrorValue(dataPt);\n return [val, val];\n };\n } else {\n return function computeError(dataPt) {\n return [\n computeErrorValueMinus(dataPt),\n computeErrorValue(dataPt)\n ];\n };\n }\n }\n};\n\n/**\n * Compute error bar magnitude (for all types except data)\n *\n * @param {string} type error bar type\n * @param {numeric} value error bar value\n *\n * @return {function} :\n * @param {numeric} dataPt\n */\nfunction makeComputeErrorValue(type, value) {\n if(type === 'percent') {\n return function(dataPt) {\n return Math.abs(dataPt * value / 100);\n };\n }\n if(type === 'constant') {\n return function() {\n return Math.abs(value);\n };\n }\n if(type === 'sqrt') {\n return function(dataPt) {\n return Math.sqrt(Math.abs(dataPt));\n };\n }\n}\n\n\n/***/ }),\n\n/***/ \"3c41\":\n/***/ (function(module, exports) {\n\nmodule.exports = clone\n\n/**\n * Creates a new vec4 initialized with values from an existing vector\n *\n * @param {vec4} a vector to clone\n * @returns {vec4} a new 4D vector\n */\nfunction clone (a) {\n var out = new Float32Array(4)\n out[0] = a[0]\n out[1] = a[1]\n out[2] = a[2]\n out[3] = a[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"3cf3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterFormatLabels = __webpack_require__(\"7e96\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var i = cdi.i;\n if(!('x' in cdi)) cdi.x = trace._x[i];\n if(!('y' in cdi)) cdi.y = trace._y[i];\n return scatterFormatLabels(cdi, trace, fullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"3d2e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\nmodule.exports = {\n\n // layout attribute name\n name: 'updatemenus',\n\n // class names\n containerClassName: 'updatemenu-container',\n headerGroupClassName: 'updatemenu-header-group',\n headerClassName: 'updatemenu-header',\n headerArrowClassName: 'updatemenu-header-arrow',\n dropdownButtonGroupClassName: 'updatemenu-dropdown-button-group',\n dropdownButtonClassName: 'updatemenu-dropdown-button',\n buttonClassName: 'updatemenu-button',\n itemRectClassName: 'updatemenu-item-rect',\n itemTextClassName: 'updatemenu-item-text',\n\n // DOM attribute name in button group keeping track\n // of active update menu\n menuIndexAttrName: 'updatemenu-active-index',\n\n // id root pass to Plots.autoMargin\n autoMarginIdRoot: 'updatemenu-',\n\n // options when 'active: -1'\n blankHeaderOpts: { label: ' ' },\n\n // min item width / height\n minWidth: 30,\n minHeight: 30,\n\n // padding around item text\n textPadX: 24,\n arrowPadX: 16,\n\n // item rect radii\n rx: 2,\n ry: 2,\n\n // item text x offset off left edge\n textOffsetX: 12,\n\n // item text y offset (w.r.t. middle)\n textOffsetY: 3,\n\n // arrow offset off right edge\n arrowOffsetX: 4,\n\n // gap between header and buttons\n gapButtonHeader: 5,\n\n // gap between between buttons\n gapButton: 2,\n\n // color given to active buttons\n activeColor: '#F4FAFF',\n\n // color given to hovered buttons\n hoverColor: '#F4FAFF',\n\n // symbol for menu open arrow\n arrowSymbol: {\n left: 'โ—„',\n right: 'โ–บ',\n up: 'โ–ฒ',\n down: 'โ–ผ'\n }\n};\n\n\n/***/ }),\n\n/***/ \"3d78\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar vectorizeText = __webpack_require__(\"b993\")\n\nmodule.exports = getGlyph\n\nvar GLYPH_CACHE = {}\n\nfunction getGlyph(symbol, font, pixelRatio) {\n var fontCache = GLYPH_CACHE[font]\n if(!fontCache) {\n fontCache = GLYPH_CACHE[font] = {}\n }\n if(symbol in fontCache) {\n return fontCache[symbol]\n }\n\n var config = {\n textAlign: \"center\",\n textBaseline: \"middle\",\n lineHeight: 1.0,\n font: font,\n lineSpacing: 1.25,\n styletags: {\n breaklines:true,\n bolds: true,\n italics: true,\n subscripts:true,\n superscripts:true\n }\n }\n\n //Get line and triangle meshes for glyph\n config.triangles = true\n var triSymbol = vectorizeText(symbol, config)\n config.triangles = false\n var lineSymbol = vectorizeText(symbol, config)\n\n var i, j\n\n if(pixelRatio && pixelRatio !== 1) {\n for(i = 0; i < triSymbol.positions.length; ++i){\n for(j = 0; j < triSymbol.positions[i].length; ++j){\n triSymbol.positions[i][j] /= pixelRatio;\n }\n }\n\n for(i = 0; i < lineSymbol.positions.length; ++i){\n for(j = 0; j < lineSymbol.positions[i].length; ++j){\n lineSymbol.positions[i][j] /= pixelRatio;\n }\n }\n }\n\n //Calculate bounding box\n var bounds = [[Infinity,Infinity], [-Infinity,-Infinity]]\n var n = lineSymbol.positions.length\n for(i = 0; i < n; ++i) {\n var p = lineSymbol.positions[i]\n for(j=0; j<2; ++j) {\n bounds[0][j] = Math.min(bounds[0][j], p[j])\n bounds[1][j] = Math.max(bounds[1][j], p[j])\n }\n }\n\n //Save cached symbol\n return fontCache[symbol] = [triSymbol, lineSymbol, bounds]\n}\n\n/***/ }),\n\n/***/ \"3dac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bnsign = __webpack_require__(\"0fba\")\n\nmodule.exports = sign\n\nfunction sign(x) {\n return bnsign(x[0]) * bnsign(x[1])\n}\n\n\n/***/ }),\n\n/***/ \"3de2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar pick = __webpack_require__(\"b7d1\")\r\n\r\nmodule.exports = parseRect\r\n\r\nfunction parseRect (arg) {\r\n var rect\r\n\r\n // direct arguments sequence\r\n if (arguments.length > 1) {\r\n arg = arguments\r\n }\r\n\r\n // svg viewbox\r\n if (typeof arg === 'string') {\r\n arg = arg.split(/\\s/).map(parseFloat)\r\n }\r\n else if (typeof arg === 'number') {\r\n arg = [arg]\r\n }\r\n\r\n // 0, 0, 100, 100 - array-like\r\n if (arg.length && typeof arg[0] === 'number') {\r\n // [w, w]\r\n if (arg.length === 1) {\r\n rect = {\r\n width: arg[0],\r\n height: arg[0],\r\n x: 0, y: 0\r\n }\r\n }\r\n // [w, h]\r\n else if (arg.length === 2) {\r\n rect = {\r\n width: arg[0],\r\n height: arg[1],\r\n x: 0, y: 0\r\n }\r\n }\r\n // [l, t, r, b]\r\n else {\r\n rect = {\r\n x: arg[0],\r\n y: arg[1],\r\n width: (arg[2] - arg[0]) || 0,\r\n height: (arg[3] - arg[1]) || 0\r\n }\r\n }\r\n }\r\n // {x, y, w, h} or {l, t, b, r}\r\n else if (arg) {\r\n arg = pick(arg, {\r\n left: 'x l left Left',\r\n top: 'y t top Top',\r\n width: 'w width W Width',\r\n height: 'h height W Width',\r\n bottom: 'b bottom Bottom',\r\n right: 'r right Right'\r\n })\r\n\r\n rect = {\r\n x: arg.left || 0,\r\n y: arg.top || 0\r\n }\r\n\r\n if (arg.width == null) {\r\n if (arg.right) rect.width = arg.right - rect.x\r\n else rect.width = 0\r\n }\r\n else {\r\n rect.width = arg.width\r\n }\r\n\r\n if (arg.height == null) {\r\n if (arg.bottom) rect.height = arg.bottom - rect.y\r\n else rect.height = 0\r\n }\r\n else {\r\n rect.height = arg.height\r\n }\r\n }\r\n\r\n return rect\r\n}\r\n\n\n/***/ }),\n\n/***/ \"3e11\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar parcats = __webpack_require__(\"cf9f\");\n\n/**\n * Create / update parcat traces\n *\n * @param {Object} graphDiv\n * @param {Array.} parcatsModels\n */\nmodule.exports = function plot(graphDiv, parcatsModels, transitionOpts, makeOnCompleteCallback) {\n var fullLayout = graphDiv._fullLayout;\n var svg = fullLayout._paper;\n var size = fullLayout._size;\n\n parcats(\n graphDiv,\n svg,\n parcatsModels,\n {\n width: size.w,\n height: size.h,\n margin: {\n t: size.t,\n r: size.r,\n b: size.b,\n l: size.l\n }\n },\n transitionOpts,\n makeOnCompleteCallback\n );\n};\n\n\n/***/ }),\n\n/***/ \"3e43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n Islamic calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\n/** Implementation of the Islamic or '16 civil' calendar.\n Based on code from http://www.iranchamber.com/calendar/converter/iranian_calendar_converter.php.\n See also http://en.wikipedia.org/wiki/Islamic_calendar.\n @class IslamicCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction IslamicCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nIslamicCalendar.prototype = new main.baseCalendar;\n\nassign(IslamicCalendar.prototype, {\n /** The calendar name.\n @memberof IslamicCalendar */\n name: 'Islamic',\n /** Julian date of start of Islamic epoch: 16 July 622 CE.\n @memberof IslamicCalendar */\n jdEpoch: 1948439.5,\n /** Days per month in a common year.\n @memberof IslamicCalendar */\n daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29],\n /** true if has a year zero, false if not.\n @memberof IslamicCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof IslamicCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof IslamicCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof IslamicCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof IslamicCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Islamic',\n epochs: ['BH', 'AH'],\n monthNames: ['Muharram', 'Safar', 'Rabi\\' al-awwal', 'Rabi\\' al-thani', 'Jumada al-awwal', 'Jumada al-thani',\n 'Rajab', 'Sha\\'aban', 'Ramadan', 'Shawwal', 'Dhu al-Qi\\'dah', 'Dhu al-Hijjah'],\n monthNamesShort: ['Muh', 'Saf', 'Rab1', 'Rab2', 'Jum1', 'Jum2', 'Raj', 'Sha\\'', 'Ram', 'Shaw', 'DhuQ', 'DhuH'],\n dayNames: ['Yawm al-ahad', 'Yawm al-ithnayn', 'Yawm ath-thulaathaa\\'',\n 'Yawm al-arbi\\'aa\\'', 'Yawm al-khamฤซs', 'Yawm al-jum\\'a', 'Yawm as-sabt'],\n dayNamesShort: ['Aha', 'Ith', 'Thu', 'Arb', 'Kha', 'Jum', 'Sab'],\n dayNamesMin: ['Ah','It','Th','Ar','Kh','Ju','Sa'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 6,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n return (date.year() * 11 + 14) % 30 < 11;\n },\n\n /** Determine the week of the year for a date.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n // Find Sunday of this week starting on Sunday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(-checkDate.dayOfWeek(), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a year.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of days.\n @throws Error if an invalid year or a different calendar used. */\n daysInYear: function(year) {\n return (this.leapYear(year) ? 355 : 354);\n },\n\n /** Retrieve the number of days in a month.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 12 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return this.dayOfWeek(year, month, day) !== 5;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n year = date.year();\n month = date.month();\n day = date.day();\n year = (year <= 0 ? year + 1 : year);\n return day + Math.ceil(29.5 * (month - 1)) + (year - 1) * 354 +\n Math.floor((3 + (11 * year)) / 30) + this.jdEpoch - 1;\n },\n\n /** Create a new date from a Julian date.\n @memberof IslamicCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n jd = Math.floor(jd) + 0.5;\n var year = Math.floor((30 * (jd - this.jdEpoch) + 10646) / 10631);\n year = (year <= 0 ? year - 1 : year);\n var month = Math.min(12, Math.ceil((jd - 29 - this.toJD(year, 1, 1)) / 29.5) + 1);\n var day = jd - this.toJD(year, month, 1) + 1;\n return this.newDate(year, month, day);\n }\n});\n\n// Islamic (16 civil) calendar implementation\nmain.calendars.islamic = IslamicCalendar;\n\n\n\n/***/ }),\n\n/***/ \"3e8e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n treemapcolorway: {\n valType: 'colorlist',\n \n editType: 'calc',\n \n },\n extendtreemapcolors: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"3e97\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt) {\n if('xVal' in pt) out.x = pt.xVal;\n if('yVal' in pt) out.y = pt.yVal;\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n out.color = pt.color;\n out.colormodel = pt.trace.colormodel;\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"3eab\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"77ae\");\n\n\n/***/ }),\n\n/***/ \"3ee9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"6b50\"),\n supplyDefaults: __webpack_require__(\"b6f7\"),\n calc: __webpack_require__(\"6dea\"),\n colorbar: {\n min: 'cmin',\n max: 'cmax'\n },\n plot: __webpack_require__(\"54a9\"),\n\n moduleType: 'trace',\n name: 'mesh3d',\n basePlotModule: __webpack_require__(\"134c\"),\n categories: ['gl3d', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"3efe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"a18b\");\n\n\n/***/ }),\n\n/***/ \"3f57\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"e5c5\")\n\n/***/ }),\n\n/***/ \"3fb2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Plots = __webpack_require__(\"bb71\");\nvar PlotSchema = __webpack_require__(\"6921\");\nvar dfltConfig = __webpack_require__(\"3ff5\").dfltConfig;\n\nvar isPlainObject = Lib.isPlainObject;\nvar isArray = Array.isArray;\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\n\n/**\n * Validate a data array and layout object.\n *\n * @param {array} data\n * @param {object} layout\n *\n * @return {array} array of error objects each containing:\n * - {string} code\n * error code ('object', 'array', 'schema', 'unused', 'invisible' or 'value')\n * - {string} container\n * container where the error occurs ('data' or 'layout')\n * - {number} trace\n * trace index of the 'data' container where the error occurs\n * - {array} path\n * nested path to the key that causes the error\n * - {string} astr\n * attribute string variant of 'path' compatible with Plotly.restyle and\n * Plotly.relayout.\n * - {string} msg\n * error message (shown in console in logger config argument is enable)\n */\nmodule.exports = function validate(data, layout) {\n var schema = PlotSchema.get();\n var errorList = [];\n var gd = {_context: Lib.extendFlat({}, dfltConfig)};\n\n var dataIn, layoutIn;\n\n if(isArray(data)) {\n gd.data = Lib.extendDeep([], data);\n dataIn = data;\n } else {\n gd.data = [];\n dataIn = [];\n errorList.push(format('array', 'data'));\n }\n\n if(isPlainObject(layout)) {\n gd.layout = Lib.extendDeep({}, layout);\n layoutIn = layout;\n } else {\n gd.layout = {};\n layoutIn = {};\n if(arguments.length > 1) {\n errorList.push(format('object', 'layout'));\n }\n }\n\n // N.B. dataIn and layoutIn are in general not the same as\n // gd.data and gd.layout after supplyDefaults as some attributes\n // in gd.data and gd.layout (still) get mutated during this step.\n\n Plots.supplyDefaults(gd);\n\n var dataOut = gd._fullData;\n var len = dataIn.length;\n\n for(var i = 0; i < len; i++) {\n var traceIn = dataIn[i];\n var base = ['data', i];\n\n if(!isPlainObject(traceIn)) {\n errorList.push(format('object', base));\n continue;\n }\n\n var traceOut = dataOut[i];\n var traceType = traceOut.type;\n var traceSchema = schema.traces[traceType].attributes;\n\n // PlotSchema does something fancy with trace 'type', reset it here\n // to make the trace schema compatible with Lib.validate.\n traceSchema.type = {\n valType: 'enumerated',\n values: [traceType]\n };\n\n if(traceOut.visible === false && traceIn.visible !== false) {\n errorList.push(format('invisible', base));\n }\n\n crawl(traceIn, traceOut, traceSchema, errorList, base);\n\n var transformsIn = traceIn.transforms;\n var transformsOut = traceOut.transforms;\n\n if(transformsIn) {\n if(!isArray(transformsIn)) {\n errorList.push(format('array', base, ['transforms']));\n }\n\n base.push('transforms');\n\n for(var j = 0; j < transformsIn.length; j++) {\n var path = ['transforms', j];\n var transformType = transformsIn[j].type;\n\n if(!isPlainObject(transformsIn[j])) {\n errorList.push(format('object', base, path));\n continue;\n }\n\n var transformSchema = schema.transforms[transformType] ?\n schema.transforms[transformType].attributes :\n {};\n\n // add 'type' to transform schema to validate the transform type\n transformSchema.type = {\n valType: 'enumerated',\n values: Object.keys(schema.transforms)\n };\n\n crawl(transformsIn[j], transformsOut[j], transformSchema, errorList, base, path);\n }\n }\n }\n\n var layoutOut = gd._fullLayout;\n var layoutSchema = fillLayoutSchema(schema, dataOut);\n\n crawl(layoutIn, layoutOut, layoutSchema, errorList, 'layout');\n\n // return undefined if no validation errors were found\n return (errorList.length === 0) ? void(0) : errorList;\n};\n\nfunction crawl(objIn, objOut, schema, list, base, path) {\n path = path || [];\n\n var keys = Object.keys(objIn);\n\n for(var i = 0; i < keys.length; i++) {\n var k = keys[i];\n\n // transforms are handled separately\n if(k === 'transforms') continue;\n\n var p = path.slice();\n p.push(k);\n\n var valIn = objIn[k];\n var valOut = objOut[k];\n\n var nestedSchema = getNestedSchema(schema, k);\n var isInfoArray = (nestedSchema || {}).valType === 'info_array';\n var isColorscale = (nestedSchema || {}).valType === 'colorscale';\n var items = (nestedSchema || {}).items;\n\n if(!isInSchema(schema, k)) {\n list.push(format('schema', base, p));\n } else if(isPlainObject(valIn) && isPlainObject(valOut)) {\n crawl(valIn, valOut, nestedSchema, list, base, p);\n } else if(isInfoArray && isArray(valIn)) {\n if(valIn.length > valOut.length) {\n list.push(format('unused', base, p.concat(valOut.length)));\n }\n var len = valOut.length;\n var arrayItems = Array.isArray(items);\n if(arrayItems) len = Math.min(len, items.length);\n var m, n, item, valInPart, valOutPart;\n if(nestedSchema.dimensions === 2) {\n for(n = 0; n < len; n++) {\n if(isArray(valIn[n])) {\n if(valIn[n].length > valOut[n].length) {\n list.push(format('unused', base, p.concat(n, valOut[n].length)));\n }\n var len2 = valOut[n].length;\n for(m = 0; m < (arrayItems ? Math.min(len2, items[n].length) : len2); m++) {\n item = arrayItems ? items[n][m] : items;\n valInPart = valIn[n][m];\n valOutPart = valOut[n][m];\n if(!Lib.validate(valInPart, item)) {\n list.push(format('value', base, p.concat(n, m), valInPart));\n } else if(valOutPart !== valInPart && valOutPart !== +valInPart) {\n list.push(format('dynamic', base, p.concat(n, m), valInPart, valOutPart));\n }\n }\n } else {\n list.push(format('array', base, p.concat(n), valIn[n]));\n }\n }\n } else {\n for(n = 0; n < len; n++) {\n item = arrayItems ? items[n] : items;\n valInPart = valIn[n];\n valOutPart = valOut[n];\n if(!Lib.validate(valInPart, item)) {\n list.push(format('value', base, p.concat(n), valInPart));\n } else if(valOutPart !== valInPart && valOutPart !== +valInPart) {\n list.push(format('dynamic', base, p.concat(n), valInPart, valOutPart));\n }\n }\n }\n } else if(nestedSchema.items && !isInfoArray && isArray(valIn)) {\n var _nestedSchema = items[Object.keys(items)[0]];\n var indexList = [];\n\n var j, _p;\n\n // loop over valOut items while keeping track of their\n // corresponding input container index (given by _index)\n for(j = 0; j < valOut.length; j++) {\n var _index = valOut[j]._index || j;\n\n _p = p.slice();\n _p.push(_index);\n\n if(isPlainObject(valIn[_index]) && isPlainObject(valOut[j])) {\n indexList.push(_index);\n var valInj = valIn[_index];\n var valOutj = valOut[j];\n if(isPlainObject(valInj) && valInj.visible !== false && valOutj.visible === false) {\n list.push(format('invisible', base, _p));\n } else crawl(valInj, valOutj, _nestedSchema, list, base, _p);\n }\n }\n\n // loop over valIn to determine where it went wrong for some items\n for(j = 0; j < valIn.length; j++) {\n _p = p.slice();\n _p.push(j);\n\n if(!isPlainObject(valIn[j])) {\n list.push(format('object', base, _p, valIn[j]));\n } else if(indexList.indexOf(j) === -1) {\n list.push(format('unused', base, _p));\n }\n }\n } else if(!isPlainObject(valIn) && isPlainObject(valOut)) {\n list.push(format('object', base, p, valIn));\n } else if(!isArrayOrTypedArray(valIn) && isArrayOrTypedArray(valOut) && !isInfoArray && !isColorscale) {\n list.push(format('array', base, p, valIn));\n } else if(!(k in objOut)) {\n list.push(format('unused', base, p, valIn));\n } else if(!Lib.validate(valIn, nestedSchema)) {\n list.push(format('value', base, p, valIn));\n } else if(nestedSchema.valType === 'enumerated' &&\n ((nestedSchema.coerceNumber && valIn !== +valOut) || valIn !== valOut)\n ) {\n list.push(format('dynamic', base, p, valIn, valOut));\n }\n }\n\n return list;\n}\n\n// the 'full' layout schema depends on the traces types presents\nfunction fillLayoutSchema(schema, dataOut) {\n var layoutSchema = schema.layout.layoutAttributes;\n\n for(var i = 0; i < dataOut.length; i++) {\n var traceOut = dataOut[i];\n var traceSchema = schema.traces[traceOut.type];\n var traceLayoutAttr = traceSchema.layoutAttributes;\n\n if(traceLayoutAttr) {\n if(traceOut.subplot) {\n Lib.extendFlat(layoutSchema[traceSchema.attributes.subplot.dflt], traceLayoutAttr);\n } else {\n Lib.extendFlat(layoutSchema, traceLayoutAttr);\n }\n }\n }\n\n return layoutSchema;\n}\n\n// validation error codes\nvar code2msgFunc = {\n object: function(base, astr) {\n var prefix;\n\n if(base === 'layout' && astr === '') prefix = 'The layout argument';\n else if(base[0] === 'data' && astr === '') {\n prefix = 'Trace ' + base[1] + ' in the data argument';\n } else prefix = inBase(base) + 'key ' + astr;\n\n return prefix + ' must be linked to an object container';\n },\n array: function(base, astr) {\n var prefix;\n\n if(base === 'data') prefix = 'The data argument';\n else prefix = inBase(base) + 'key ' + astr;\n\n return prefix + ' must be linked to an array container';\n },\n schema: function(base, astr) {\n return inBase(base) + 'key ' + astr + ' is not part of the schema';\n },\n unused: function(base, astr, valIn) {\n var target = isPlainObject(valIn) ? 'container' : 'key';\n\n return inBase(base) + target + ' ' + astr + ' did not get coerced';\n },\n dynamic: function(base, astr, valIn, valOut) {\n return [\n inBase(base) + 'key',\n astr,\n '(set to \\'' + valIn + '\\')',\n 'got reset to',\n '\\'' + valOut + '\\'',\n 'during defaults.'\n ].join(' ');\n },\n invisible: function(base, astr) {\n return (\n astr ? (inBase(base) + 'item ' + astr) : ('Trace ' + base[1])\n ) + ' got defaulted to be not visible';\n },\n value: function(base, astr, valIn) {\n return [\n inBase(base) + 'key ' + astr,\n 'is set to an invalid value (' + valIn + ')'\n ].join(' ');\n }\n};\n\nfunction inBase(base) {\n if(isArray(base)) return 'In data trace ' + base[1] + ', ';\n\n return 'In ' + base + ', ';\n}\n\nfunction format(code, base, path, valIn, valOut) {\n path = path || '';\n\n var container, trace;\n\n // container is either 'data' or 'layout\n // trace is the trace index if 'data', null otherwise\n\n if(isArray(base)) {\n container = base[0];\n trace = base[1];\n } else {\n container = base;\n trace = null;\n }\n\n var astr = convertPathToAttributeString(path);\n var msg = code2msgFunc[code](base, astr, valIn, valOut);\n\n // log to console if logger config option is enabled\n Lib.log(msg);\n\n return {\n code: code,\n container: container,\n trace: trace,\n path: path,\n astr: astr,\n msg: msg\n };\n}\n\nfunction isInSchema(schema, key) {\n var parts = splitKey(key);\n var keyMinusId = parts.keyMinusId;\n var id = parts.id;\n\n if((keyMinusId in schema) && schema[keyMinusId]._isSubplotObj && id) {\n return true;\n }\n\n return (key in schema);\n}\n\nfunction getNestedSchema(schema, key) {\n if(key in schema) return schema[key];\n\n var parts = splitKey(key);\n\n return schema[parts.keyMinusId];\n}\n\nvar idRegex = Lib.counterRegex('([a-z]+)');\n\nfunction splitKey(key) {\n var idMatch = key.match(idRegex);\n\n return {\n keyMinusId: idMatch && idMatch[1],\n id: idMatch && idMatch[2]\n };\n}\n\nfunction convertPathToAttributeString(path) {\n if(!isArray(path)) return String(path);\n\n var astr = '';\n\n for(var i = 0; i < path.length; i++) {\n var p = path[i];\n\n if(typeof p === 'number') {\n astr = astr.substr(0, astr.length - 1) + '[' + p + ']';\n } else {\n astr += p;\n }\n\n if(i < path.length - 1) astr += '.';\n }\n\n return astr;\n}\n\n\n/***/ }),\n\n/***/ \"3fca\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mapboxgl = __webpack_require__(\"e192\");\n\nvar Fx = __webpack_require__(\"a5c4\");\nvar Lib = __webpack_require__(\"fc26\");\nvar geoUtils = __webpack_require__(\"0919\");\nvar Registry = __webpack_require__(\"371e\");\nvar Axes = __webpack_require__(\"0642\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar selectOnClick = __webpack_require__(\"1876\").selectOnClick;\n\nvar constants = __webpack_require__(\"b5e4\");\nvar createMapboxLayer = __webpack_require__(\"d0d2\");\n\nfunction Mapbox(gd, id) {\n this.id = id;\n this.gd = gd;\n\n var fullLayout = gd._fullLayout;\n var context = gd._context;\n\n this.container = fullLayout._glcontainer.node();\n this.isStatic = context.staticPlot;\n\n // unique id for this Mapbox instance\n this.uid = fullLayout._uid + '-' + this.id;\n\n // create framework on instantiation for a smoother first plot call\n this.div = null;\n this.xaxis = null;\n this.yaxis = null;\n this.createFramework(fullLayout);\n\n // state variables used to infer how and what to update\n this.map = null;\n this.accessToken = null;\n this.styleObj = null;\n this.traceHash = {};\n this.layerList = [];\n this.belowLookup = {};\n this.dragging = false;\n this.wheeling = false;\n}\n\nvar proto = Mapbox.prototype;\n\nproto.plot = function(calcData, fullLayout, promises) {\n var self = this;\n var opts = fullLayout[self.id];\n\n // remove map and create a new map if access token has change\n if(self.map && (opts.accesstoken !== self.accessToken)) {\n self.map.remove();\n self.map = null;\n self.styleObj = null;\n self.traceHash = [];\n self.layerList = {};\n }\n\n var promise;\n\n if(!self.map) {\n promise = new Promise(function(resolve, reject) {\n self.createMap(calcData, fullLayout, resolve, reject);\n });\n } else {\n promise = new Promise(function(resolve, reject) {\n self.updateMap(calcData, fullLayout, resolve, reject);\n });\n }\n\n promises.push(promise);\n};\n\nproto.createMap = function(calcData, fullLayout, resolve, reject) {\n var self = this;\n var opts = fullLayout[self.id];\n\n // store style id and URL or object\n var styleObj = self.styleObj = getStyleObj(opts.style);\n\n // store access token associated with this map\n self.accessToken = opts.accesstoken;\n\n // create the map!\n var map = self.map = new mapboxgl.Map({\n container: self.div,\n\n style: styleObj.style,\n center: convertCenter(opts.center),\n zoom: opts.zoom,\n bearing: opts.bearing,\n pitch: opts.pitch,\n\n interactive: !self.isStatic,\n preserveDrawingBuffer: self.isStatic,\n\n doubleClickZoom: false,\n boxZoom: false,\n\n attributionControl: false\n })\n .addControl(new mapboxgl.AttributionControl({\n compact: true\n }));\n\n\n // make sure canvas does not inherit left and top css\n map._canvas.style.left = '0px';\n map._canvas.style.top = '0px';\n\n self.rejectOnError(reject);\n\n if(!self.isStatic) {\n self.initFx(calcData, fullLayout);\n }\n\n var promises = [];\n\n promises.push(new Promise(function(resolve) {\n map.once('load', resolve);\n }));\n\n promises = promises.concat(geoUtils.fetchTraceGeoData(calcData));\n\n Promise.all(promises).then(function() {\n self.fillBelowLookup(calcData, fullLayout);\n self.updateData(calcData);\n self.updateLayout(fullLayout);\n self.resolveOnRender(resolve);\n }).catch(reject);\n};\n\nproto.updateMap = function(calcData, fullLayout, resolve, reject) {\n var self = this;\n var map = self.map;\n var opts = fullLayout[this.id];\n\n self.rejectOnError(reject);\n\n var promises = [];\n var styleObj = getStyleObj(opts.style);\n\n if(self.styleObj.id !== styleObj.id) {\n self.styleObj = styleObj;\n map.setStyle(styleObj.style);\n\n // need to rebuild trace layers on reload\n // to avoid 'lost event' errors\n self.traceHash = {};\n\n promises.push(new Promise(function(resolve) {\n map.once('styledata', resolve);\n }));\n }\n\n promises = promises.concat(geoUtils.fetchTraceGeoData(calcData));\n\n Promise.all(promises).then(function() {\n self.fillBelowLookup(calcData, fullLayout);\n self.updateData(calcData);\n self.updateLayout(fullLayout);\n self.resolveOnRender(resolve);\n }).catch(reject);\n};\n\nproto.fillBelowLookup = function(calcData, fullLayout) {\n var opts = fullLayout[this.id];\n var layers = opts.layers;\n var i, val;\n\n var belowLookup = this.belowLookup = {};\n var hasTraceAtTop = false;\n\n for(i = 0; i < calcData.length; i++) {\n var trace = calcData[i][0].trace;\n var _module = trace._module;\n\n if(typeof trace.below === 'string') {\n val = trace.below;\n } else if(_module.getBelow) {\n // 'smart' default that depend the map's base layers\n val = _module.getBelow(trace, this);\n }\n\n if(val === '') {\n hasTraceAtTop = true;\n }\n\n belowLookup['trace-' + trace.uid] = val || '';\n }\n\n for(i = 0; i < layers.length; i++) {\n var item = layers[i];\n\n if(typeof item.below === 'string') {\n val = item.below;\n } else if(hasTraceAtTop) {\n // if one or more trace(s) set `below:''` and\n // layers[i].below is unset,\n // place layer below traces\n val = 'traces';\n } else {\n val = '';\n }\n\n belowLookup['layout-' + i] = val;\n }\n\n // N.B. If multiple layers have the 'below' value,\n // we must clear the stashed 'below' field in order\n // to make `traceHash[k].update()` and `layerList[i].update()`\n // remove/add the all those layers to have preserve\n // the correct layer ordering\n var val2list = {};\n var k, id;\n\n for(k in belowLookup) {\n val = belowLookup[k];\n if(val2list[val]) {\n val2list[val].push(k);\n } else {\n val2list[val] = [k];\n }\n }\n\n for(val in val2list) {\n var list = val2list[val];\n if(list.length > 1) {\n for(i = 0; i < list.length; i++) {\n k = list[i];\n if(k.indexOf('trace-') === 0) {\n id = k.split('trace-')[1];\n if(this.traceHash[id]) {\n this.traceHash[id].below = null;\n }\n } else if(k.indexOf('layout-') === 0) {\n id = k.split('layout-')[1];\n if(this.layerList[id]) {\n this.layerList[id].below = null;\n }\n }\n }\n }\n }\n};\n\nvar traceType2orderIndex = {\n choroplethmapbox: 0,\n densitymapbox: 1,\n scattermapbox: 2\n};\n\nproto.updateData = function(calcData) {\n var traceHash = this.traceHash;\n var traceObj, trace, i, j;\n\n // Need to sort here by trace type here,\n // in case traces with different `type` have the same\n // below value, but sorting we ensure that\n // e.g. choroplethmapbox traces will be below scattermapbox traces\n var calcDataSorted = calcData.slice().sort(function(a, b) {\n return (\n traceType2orderIndex[a[0].trace.type] -\n traceType2orderIndex[b[0].trace.type]\n );\n });\n\n // update or create trace objects\n for(i = 0; i < calcDataSorted.length; i++) {\n var calcTrace = calcDataSorted[i];\n\n trace = calcTrace[0].trace;\n traceObj = traceHash[trace.uid];\n\n var didUpdate = false;\n if(traceObj) {\n if(traceObj.type === trace.type) {\n traceObj.update(calcTrace);\n didUpdate = true;\n } else {\n traceObj.dispose();\n }\n }\n if(!didUpdate && trace._module) {\n traceHash[trace.uid] = trace._module.plot(this, calcTrace);\n }\n }\n\n // remove empty trace objects\n var ids = Object.keys(traceHash);\n idLoop:\n for(i = 0; i < ids.length; i++) {\n var id = ids[i];\n\n for(j = 0; j < calcData.length; j++) {\n trace = calcData[j][0].trace;\n if(id === trace.uid) continue idLoop;\n }\n\n traceObj = traceHash[id];\n traceObj.dispose();\n delete traceHash[id];\n }\n};\n\nproto.updateLayout = function(fullLayout) {\n var map = this.map;\n var opts = fullLayout[this.id];\n\n if(!this.dragging && !this.wheeling) {\n map.setCenter(convertCenter(opts.center));\n map.setZoom(opts.zoom);\n map.setBearing(opts.bearing);\n map.setPitch(opts.pitch);\n }\n\n this.updateLayers(fullLayout);\n this.updateFramework(fullLayout);\n this.updateFx(fullLayout);\n this.map.resize();\n\n if(this.gd._context._scrollZoom.mapbox) {\n map.scrollZoom.enable();\n } else {\n map.scrollZoom.disable();\n }\n};\n\nproto.resolveOnRender = function(resolve) {\n var map = this.map;\n\n map.on('render', function onRender() {\n if(map.loaded()) {\n map.off('render', onRender);\n // resolve at end of render loop\n //\n // Need a 10ms delay (0ms should suffice to skip a thread in the\n // render loop) to workaround mapbox-gl bug introduced in v1.3.0\n setTimeout(resolve, 10);\n }\n });\n};\n\nproto.rejectOnError = function(reject) {\n var map = this.map;\n\n function handler() {\n reject(new Error(constants.mapOnErrorMsg));\n }\n\n map.once('error', handler);\n map.once('style.error', handler);\n map.once('source.error', handler);\n map.once('tile.error', handler);\n map.once('layer.error', handler);\n};\n\nproto.createFramework = function(fullLayout) {\n var self = this;\n\n var div = self.div = document.createElement('div');\n div.id = self.uid;\n div.style.position = 'absolute';\n self.container.appendChild(div);\n\n // create mock x/y axes for hover routine\n self.xaxis = {\n _id: 'x',\n c2p: function(v) { return self.project(v).x; }\n };\n self.yaxis = {\n _id: 'y',\n c2p: function(v) { return self.project(v).y; }\n };\n\n self.updateFramework(fullLayout);\n\n // mock axis for hover formatting\n self.mockAxis = {\n type: 'linear',\n showexponent: 'all',\n exponentformat: 'B'\n };\n Axes.setConvert(self.mockAxis, fullLayout);\n};\n\nproto.initFx = function(calcData, fullLayout) {\n var self = this;\n var gd = self.gd;\n var map = self.map;\n\n // keep track of pan / zoom in user layout and emit relayout event\n map.on('moveend', function(evt) {\n if(!self.map) return;\n\n var fullLayoutNow = gd._fullLayout;\n\n // 'moveend' gets triggered by map.setCenter, map.setZoom,\n // map.setBearing and map.setPitch.\n //\n // Here, we make sure that state updates amd 'plotly_relayout'\n // are triggered only when the 'moveend' originates from a\n // mouse target (filtering out API calls) to not\n // duplicate 'plotly_relayout' events.\n\n if(evt.originalEvent || self.wheeling) {\n var optsNow = fullLayoutNow[self.id];\n Registry.call('_storeDirectGUIEdit', gd.layout, fullLayoutNow._preGUI, self.getViewEdits(optsNow));\n\n var viewNow = self.getView();\n optsNow._input.center = optsNow.center = viewNow.center;\n optsNow._input.zoom = optsNow.zoom = viewNow.zoom;\n optsNow._input.bearing = optsNow.bearing = viewNow.bearing;\n optsNow._input.pitch = optsNow.pitch = viewNow.pitch;\n gd.emit('plotly_relayout', self.getViewEditsWithDerived(viewNow));\n }\n if(evt.originalEvent && evt.originalEvent.type === 'mouseup') {\n self.dragging = false;\n } else if(self.wheeling) {\n self.wheeling = false;\n }\n\n if(fullLayoutNow._rehover) {\n fullLayoutNow._rehover();\n }\n });\n\n map.on('wheel', function() {\n self.wheeling = true;\n });\n\n map.on('mousemove', function(evt) {\n var bb = self.div.getBoundingClientRect();\n\n // some hackery to get Fx.hover to work\n evt.clientX = evt.point.x + bb.left;\n evt.clientY = evt.point.y + bb.top;\n\n evt.target.getBoundingClientRect = function() { return bb; };\n\n self.xaxis.p2c = function() { return evt.lngLat.lng; };\n self.yaxis.p2c = function() { return evt.lngLat.lat; };\n\n gd._fullLayout._rehover = function() {\n if(gd._fullLayout._hoversubplot === self.id && gd._fullLayout[self.id]) {\n Fx.hover(gd, evt, self.id);\n }\n };\n\n Fx.hover(gd, evt, self.id);\n gd._fullLayout._hoversubplot = self.id;\n });\n\n function unhover() {\n Fx.loneUnhover(fullLayout._hoverlayer);\n }\n\n map.on('dragstart', function() {\n self.dragging = true;\n unhover();\n });\n map.on('zoomstart', unhover);\n\n map.on('mouseout', function() {\n gd._fullLayout._hoversubplot = null;\n });\n\n function emitUpdate() {\n var viewNow = self.getView();\n gd.emit('plotly_relayouting', self.getViewEditsWithDerived(viewNow));\n }\n\n map.on('drag', emitUpdate);\n map.on('zoom', emitUpdate);\n\n map.on('dblclick', function() {\n var optsNow = gd._fullLayout[self.id];\n Registry.call('_storeDirectGUIEdit', gd.layout, gd._fullLayout._preGUI, self.getViewEdits(optsNow));\n\n var viewInitial = self.viewInitial;\n map.setCenter(convertCenter(viewInitial.center));\n map.setZoom(viewInitial.zoom);\n map.setBearing(viewInitial.bearing);\n map.setPitch(viewInitial.pitch);\n\n var viewNow = self.getView();\n optsNow._input.center = optsNow.center = viewNow.center;\n optsNow._input.zoom = optsNow.zoom = viewNow.zoom;\n optsNow._input.bearing = optsNow.bearing = viewNow.bearing;\n optsNow._input.pitch = optsNow.pitch = viewNow.pitch;\n\n gd.emit('plotly_doubleclick', null);\n gd.emit('plotly_relayout', self.getViewEditsWithDerived(viewNow));\n });\n\n // define event handlers on map creation, to keep one ref per map,\n // so that map.on / map.off in updateFx works as expected\n self.clearSelect = function() {\n gd._fullLayout._zoomlayer.selectAll('.select-outline').remove();\n };\n\n /**\n * Returns a click handler function that is supposed\n * to handle clicks in pan mode.\n */\n self.onClickInPanFn = function(dragOptions) {\n return function(evt) {\n var clickMode = gd._fullLayout.clickmode;\n\n if(clickMode.indexOf('select') > -1) {\n selectOnClick(evt.originalEvent, gd, [self.xaxis], [self.yaxis], self.id, dragOptions);\n }\n\n if(clickMode.indexOf('event') > -1) {\n // TODO: this does not support right-click. If we want to support it, we\n // would likely need to change mapbox to use dragElement instead of straight\n // mapbox event binding. Or perhaps better, make a simple wrapper with the\n // right mousedown, mousemove, and mouseup handlers just for a left/right click\n // pie would use this too.\n Fx.click(gd, evt.originalEvent);\n }\n };\n };\n};\n\nproto.updateFx = function(fullLayout) {\n var self = this;\n var map = self.map;\n var gd = self.gd;\n\n if(self.isStatic) return;\n\n function invert(pxpy) {\n var obj = self.map.unproject(pxpy);\n return [obj.lng, obj.lat];\n }\n\n var dragMode = fullLayout.dragmode;\n var fillRangeItems;\n\n if(dragMode === 'select') {\n fillRangeItems = function(eventData, poly) {\n var ranges = eventData.range = {};\n ranges[self.id] = [\n invert([poly.xmin, poly.ymin]),\n invert([poly.xmax, poly.ymax])\n ];\n };\n } else {\n fillRangeItems = function(eventData, poly, pts) {\n var dataPts = eventData.lassoPoints = {};\n dataPts[self.id] = pts.filtered.map(invert);\n };\n }\n\n // Note: dragOptions is needed to be declared for all dragmodes because\n // it's the object that holds persistent selection state.\n // Merge old dragOptions with new to keep possibly initialized\n // persistent selection state.\n var oldDragOptions = self.dragOptions;\n self.dragOptions = Lib.extendDeep(oldDragOptions || {}, {\n element: self.div,\n gd: gd,\n plotinfo: {\n id: self.id,\n xaxis: self.xaxis,\n yaxis: self.yaxis,\n fillRangeItems: fillRangeItems\n },\n xaxes: [self.xaxis],\n yaxes: [self.yaxis],\n subplot: self.id\n });\n\n // Unregister the old handler before potentially registering\n // a new one. Otherwise multiple click handlers might\n // be registered resulting in unwanted behavior.\n map.off('click', self.onClickInPanHandler);\n if(dragMode === 'select' || dragMode === 'lasso') {\n map.dragPan.disable();\n map.on('zoomstart', self.clearSelect);\n\n self.dragOptions.prepFn = function(e, startX, startY) {\n prepSelect(e, startX, startY, self.dragOptions, dragMode);\n };\n\n dragElement.init(self.dragOptions);\n } else {\n map.dragPan.enable();\n map.off('zoomstart', self.clearSelect);\n self.div.onmousedown = null;\n\n // TODO: this does not support right-click. If we want to support it, we\n // would likely need to change mapbox to use dragElement instead of straight\n // mapbox event binding. Or perhaps better, make a simple wrapper with the\n // right mousedown, mousemove, and mouseup handlers just for a left/right click\n // pie would use this too.\n self.onClickInPanHandler = self.onClickInPanFn(self.dragOptions);\n map.on('click', self.onClickInPanHandler);\n }\n};\n\nproto.updateFramework = function(fullLayout) {\n var domain = fullLayout[this.id].domain;\n var size = fullLayout._size;\n\n var style = this.div.style;\n style.width = size.w * (domain.x[1] - domain.x[0]) + 'px';\n style.height = size.h * (domain.y[1] - domain.y[0]) + 'px';\n style.left = size.l + domain.x[0] * size.w + 'px';\n style.top = size.t + (1 - domain.y[1]) * size.h + 'px';\n\n this.xaxis._offset = size.l + domain.x[0] * size.w;\n this.xaxis._length = size.w * (domain.x[1] - domain.x[0]);\n\n this.yaxis._offset = size.t + (1 - domain.y[1]) * size.h;\n this.yaxis._length = size.h * (domain.y[1] - domain.y[0]);\n};\n\nproto.updateLayers = function(fullLayout) {\n var opts = fullLayout[this.id];\n var layers = opts.layers;\n var layerList = this.layerList;\n var i;\n\n // if the layer arrays don't match,\n // don't try to be smart,\n // delete them all, and start all over.\n\n if(layers.length !== layerList.length) {\n for(i = 0; i < layerList.length; i++) {\n layerList[i].dispose();\n }\n\n layerList = this.layerList = [];\n\n for(i = 0; i < layers.length; i++) {\n layerList.push(createMapboxLayer(this, i, layers[i]));\n }\n } else {\n for(i = 0; i < layers.length; i++) {\n layerList[i].update(layers[i]);\n }\n }\n};\n\nproto.destroy = function() {\n if(this.map) {\n this.map.remove();\n this.map = null;\n this.container.removeChild(this.div);\n }\n};\n\nproto.toImage = function() {\n this.map.stop();\n return this.map.getCanvas().toDataURL();\n};\n\n// convenience wrapper to create set multiple layer\n// 'layout' or 'paint options at once.\nproto.setOptions = function(id, methodName, opts) {\n for(var k in opts) {\n this.map[methodName](id, k, opts[k]);\n }\n};\n\nproto.getMapLayers = function() {\n return this.map.getStyle().layers;\n};\n\n// convenience wrapper that first check in 'below' references\n// a layer that exist and then add the layer to the map,\nproto.addLayer = function(opts, below) {\n var map = this.map;\n\n if(typeof below === 'string') {\n if(below === '') {\n map.addLayer(opts, below);\n return;\n }\n\n var mapLayers = this.getMapLayers();\n for(var i = 0; i < mapLayers.length; i++) {\n if(below === mapLayers[i].id) {\n map.addLayer(opts, below);\n return;\n }\n }\n\n Lib.warn([\n 'Trying to add layer with *below* value',\n below,\n 'referencing a layer that does not exist',\n 'or that does not yet exist.'\n ].join(' '));\n }\n\n map.addLayer(opts);\n};\n\n// convenience method to project a [lon, lat] array to pixel coords\nproto.project = function(v) {\n return this.map.project(new mapboxgl.LngLat(v[0], v[1]));\n};\n\n// get map's current view values in plotly.js notation\nproto.getView = function() {\n var map = this.map;\n var mapCenter = map.getCenter();\n var center = { lon: mapCenter.lng, lat: mapCenter.lat };\n\n var canvas = map.getCanvas();\n var w = canvas.width;\n var h = canvas.height;\n return {\n center: center,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch(),\n _derived: {\n coordinates: [\n map.unproject([0, 0]).toArray(),\n map.unproject([w, 0]).toArray(),\n map.unproject([w, h]).toArray(),\n map.unproject([0, h]).toArray()\n ]\n }\n };\n};\n\nproto.getViewEdits = function(cont) {\n var id = this.id;\n var keys = ['center', 'zoom', 'bearing', 'pitch'];\n var obj = {};\n\n for(var i = 0; i < keys.length; i++) {\n var k = keys[i];\n obj[id + '.' + k] = cont[k];\n }\n\n return obj;\n};\n\nproto.getViewEditsWithDerived = function(cont) {\n var id = this.id;\n var obj = this.getViewEdits(cont);\n obj[id + '._derived'] = cont._derived;\n return obj;\n};\n\nfunction getStyleObj(val) {\n var styleObj = {};\n\n if(Lib.isPlainObject(val)) {\n styleObj.id = val.id;\n styleObj.style = val;\n } else if(typeof val === 'string') {\n styleObj.id = val;\n\n if(constants.styleValuesMapbox.indexOf(val) !== -1) {\n styleObj.style = convertStyleVal(val);\n } else if(constants.stylesNonMapbox[val]) {\n styleObj.style = constants.stylesNonMapbox[val];\n } else {\n styleObj.style = val;\n }\n } else {\n styleObj.id = constants.styleValueDflt;\n styleObj.style = convertStyleVal(constants.styleValueDflt);\n }\n\n styleObj.transition = {duration: 0, delay: 0};\n\n return styleObj;\n}\n\n// if style is part of the 'official' mapbox values, add URL prefix and suffix\nfunction convertStyleVal(val) {\n return constants.styleUrlPrefix + val + '-' + constants.styleUrlSuffix;\n}\n\nfunction convertCenter(center) {\n return [center.lon, center.lat];\n}\n\nmodule.exports = Mapbox;\n\n\n/***/ }),\n\n/***/ \"3fe8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function handleOHLC(traceIn, traceOut, coerce, layout) {\n var x = coerce('x');\n var open = coerce('open');\n var high = coerce('high');\n var low = coerce('low');\n var close = coerce('close');\n\n coerce('hoverlabel.split');\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x'], layout);\n\n if(!(open && high && low && close)) return;\n\n var len = Math.min(open.length, high.length, low.length, close.length);\n if(x) len = Math.min(len, Lib.minRowLength(x));\n traceOut._length = len;\n\n return len;\n};\n\n\n/***/ }),\n\n/***/ \"3ff5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * This will be transferred over to gd and overridden by\n * config args to Plotly.plot.\n *\n * The defaults are the appropriate settings for plotly.js,\n * so we get the right experience without any config argument.\n *\n * N.B. the config options are not coerced using Lib.coerce so keys\n * like `valType` and `values` are only set for documentation purposes\n * at the moment.\n */\n\nvar configAttributes = {\n staticPlot: {\n valType: 'boolean',\n dflt: false,\n \n },\n\n plotlyServerURL: {\n valType: 'string',\n dflt: 'https://plot.ly',\n \n },\n\n editable: {\n valType: 'boolean',\n dflt: false,\n \n },\n edits: {\n annotationPosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n annotationTail: {\n valType: 'boolean',\n dflt: false,\n \n },\n annotationText: {\n valType: 'boolean',\n dflt: false,\n \n },\n axisTitleText: {\n valType: 'boolean',\n dflt: false,\n \n },\n colorbarPosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n colorbarTitleText: {\n valType: 'boolean',\n dflt: false,\n \n },\n legendPosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n legendText: {\n valType: 'boolean',\n dflt: false,\n \n },\n shapePosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n titleText: {\n valType: 'boolean',\n dflt: false,\n \n }\n },\n\n autosizable: {\n valType: 'boolean',\n dflt: false,\n \n },\n responsive: {\n valType: 'boolean',\n dflt: false,\n \n },\n fillFrame: {\n valType: 'boolean',\n dflt: false,\n \n },\n frameMargins: {\n valType: 'number',\n dflt: 0,\n min: 0,\n max: 0.5,\n \n },\n\n scrollZoom: {\n valType: 'flaglist',\n flags: ['cartesian', 'gl3d', 'geo', 'mapbox'],\n extras: [true, false],\n dflt: 'gl3d+geo+mapbox',\n \n },\n doubleClick: {\n valType: 'enumerated',\n values: [false, 'reset', 'autosize', 'reset+autosize'],\n dflt: 'reset+autosize',\n \n },\n doubleClickDelay: {\n valType: 'number',\n dflt: 300,\n min: 0,\n \n },\n\n showAxisDragHandles: {\n valType: 'boolean',\n dflt: true,\n \n },\n showAxisRangeEntryBoxes: {\n valType: 'boolean',\n dflt: true,\n \n },\n\n showTips: {\n valType: 'boolean',\n dflt: true,\n \n },\n\n showLink: {\n valType: 'boolean',\n dflt: false,\n \n },\n linkText: {\n valType: 'string',\n dflt: 'Edit chart',\n noBlank: true,\n \n },\n sendData: {\n valType: 'boolean',\n dflt: true,\n \n },\n showSources: {\n valType: 'any',\n dflt: false,\n \n },\n\n displayModeBar: {\n valType: 'enumerated',\n values: ['hover', true, false],\n dflt: 'hover',\n \n },\n showSendToCloud: {\n valType: 'boolean',\n dflt: false,\n \n },\n showEditInChartStudio: {\n valType: 'boolean',\n dflt: false,\n \n },\n modeBarButtonsToRemove: {\n valType: 'any',\n dflt: [],\n \n },\n modeBarButtonsToAdd: {\n valType: 'any',\n dflt: [],\n \n },\n modeBarButtons: {\n valType: 'any',\n dflt: false,\n \n },\n toImageButtonOptions: {\n valType: 'any',\n dflt: {},\n \n },\n displaylogo: {\n valType: 'boolean',\n dflt: true,\n \n },\n watermark: {\n valType: 'boolean',\n dflt: false,\n \n },\n\n plotGlPixelRatio: {\n valType: 'number',\n dflt: 2,\n min: 1,\n max: 4,\n \n },\n\n setBackground: {\n valType: 'any',\n dflt: 'transparent',\n \n },\n\n topojsonURL: {\n valType: 'string',\n noBlank: true,\n dflt: 'https://cdn.plot.ly/',\n \n },\n\n mapboxAccessToken: {\n valType: 'string',\n dflt: null,\n \n },\n\n logging: {\n valType: 'integer',\n min: 0,\n max: 2,\n dflt: 1,\n \n },\n\n notifyOnLogging: {\n valType: 'integer',\n min: 0,\n max: 2,\n dflt: 0,\n \n },\n\n queueLength: {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n },\n\n globalTransforms: {\n valType: 'any',\n dflt: [],\n \n },\n\n locale: {\n valType: 'string',\n dflt: 'en-US',\n \n },\n\n locales: {\n valType: 'any',\n dflt: {},\n \n }\n};\n\nvar dfltConfig = {};\n\nfunction crawl(src, target) {\n for(var k in src) {\n var obj = src[k];\n if(obj.valType) {\n target[k] = obj.dflt;\n } else {\n if(!target[k]) {\n target[k] = {};\n }\n crawl(obj, target[k]);\n }\n }\n}\n\ncrawl(configAttributes, dfltConfig);\n\nmodule.exports = {\n configAttributes: configAttributes,\n dfltConfig: dfltConfig\n};\n\n\n/***/ }),\n\n/***/ \"3ff7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n xaxis: {\n valType: 'subplotid',\n \n dflt: 'x',\n editType: 'calc+clearAxisTypes',\n \n },\n yaxis: {\n valType: 'subplotid',\n \n dflt: 'y',\n editType: 'calc+clearAxisTypes',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"402e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createShader = __webpack_require__(\"28dd\")\nvar createBuffer = __webpack_require__(\"efce\")\n\nvar pool = __webpack_require__(\"cea5\")\n\nvar SHADERS = __webpack_require__(\"c9eb\")\n\nmodule.exports = createPointcloud2D\n\nfunction Pointcloud2D(plot, offsetBuffer, pickBuffer, shader, pickShader) {\n this.plot = plot\n this.offsetBuffer = offsetBuffer\n this.pickBuffer = pickBuffer\n this.shader = shader\n this.pickShader = pickShader\n this.sizeMin = 0.5\n this.sizeMinCap = 2\n this.sizeMax = 20\n this.areaRatio = 1.0\n this.pointCount = 0\n this.color = [1, 0, 0, 1]\n this.borderColor = [0, 0, 0, 1]\n this.blend = false\n this.pickOffset = 0\n this.points = null\n}\n\nvar proto = Pointcloud2D.prototype\n\nproto.dispose = function() {\n this.shader.dispose()\n this.pickShader.dispose()\n this.offsetBuffer.dispose()\n this.pickBuffer.dispose()\n this.plot.removeObject(this)\n}\n\nproto.update = function(options) {\n\n var i\n\n options = options || {}\n\n function dflt(opt, value) {\n if(opt in options) {\n return options[opt]\n }\n return value\n }\n\n this.sizeMin = dflt('sizeMin', 0.5)\n // this.sizeMinCap = dflt('sizeMinCap', 2)\n this.sizeMax = dflt('sizeMax', 20)\n this.color = dflt('color', [1, 0, 0, 1]).slice()\n this.areaRatio = dflt('areaRatio', 1)\n this.borderColor = dflt('borderColor', [0, 0, 0, 1]).slice()\n this.blend = dflt('blend', false)\n\n //Update point data\n\n // Attempt straight-through processing (STP) to avoid allocation and copy\n // TODO eventually abstract out STP logic, maybe into `pool` or a layer above\n var pointCount = options.positions.length >>> 1\n var dataStraightThrough = options.positions instanceof Float32Array\n var idStraightThrough = options.idToIndex instanceof Int32Array && options.idToIndex.length >= pointCount // permit larger to help reuse\n\n var data = options.positions\n var packed = dataStraightThrough ? data : pool.mallocFloat32(data.length)\n var packedId = idStraightThrough ? options.idToIndex : pool.mallocInt32(pointCount)\n\n if(!dataStraightThrough) {\n packed.set(data)\n }\n\n if(!idStraightThrough) {\n packed.set(data)\n for(i = 0; i < pointCount; i++) {\n packedId[i] = i\n }\n }\n\n this.points = data\n\n this.offsetBuffer.update(packed)\n this.pickBuffer.update(packedId)\n\n if(!dataStraightThrough) {\n pool.free(packed)\n }\n\n if(!idStraightThrough) {\n pool.free(packedId)\n }\n\n this.pointCount = pointCount\n this.pickOffset = 0\n}\n\nfunction count(points, dataBox) {\n var visiblePointCountEstimate = 0\n var length = points.length >>> 1\n var i\n for(i = 0; i < length; i++) {\n var x = points[i * 2]\n var y = points[i * 2 + 1]\n if(x >= dataBox[0] && x <= dataBox[2] && y >= dataBox[1] && y <= dataBox[3])\n visiblePointCountEstimate++\n }\n return visiblePointCountEstimate\n}\n\nproto.unifiedDraw = (function() {\n var MATRIX = [1, 0, 0,\n 0, 1, 0,\n 0, 0, 1]\n var PICK_VEC4 = [0, 0, 0, 0]\nreturn function(pickOffset) {\n var pick = pickOffset !== void(0)\n\n var shader = pick ? this.pickShader : this.shader\n var gl = this.plot.gl\n var dataBox = this.plot.dataBox\n\n if(this.pointCount === 0) {\n return pickOffset\n }\n\n var dataX = dataBox[2] - dataBox[0]\n var dataY = dataBox[3] - dataBox[1]\n\n var visiblePointCountEstimate = count(this.points, dataBox)\n var basicPointSize = this.plot.pickPixelRatio * Math.max(Math.min(this.sizeMinCap, this.sizeMin), Math.min(this.sizeMax, this.sizeMax / Math.pow(visiblePointCountEstimate, 0.33333)))\n\n MATRIX[0] = 2.0 / dataX\n MATRIX[4] = 2.0 / dataY\n MATRIX[6] = -2.0 * dataBox[0] / dataX - 1.0\n MATRIX[7] = -2.0 * dataBox[1] / dataY - 1.0\n\n this.offsetBuffer.bind()\n\n shader.bind()\n shader.attributes.position.pointer()\n shader.uniforms.matrix = MATRIX\n shader.uniforms.color = this.color\n shader.uniforms.borderColor = this.borderColor\n shader.uniforms.pointCloud = basicPointSize < 5\n shader.uniforms.pointSize = basicPointSize\n shader.uniforms.centerFraction = Math.min(1, Math.max(0, Math.sqrt(1 - this.areaRatio)))\n\n if(pick) {\n\n PICK_VEC4[0] = ( pickOffset & 0xff)\n PICK_VEC4[1] = ((pickOffset >> 8) & 0xff)\n PICK_VEC4[2] = ((pickOffset >> 16) & 0xff)\n PICK_VEC4[3] = ((pickOffset >> 24) & 0xff)\n\n this.pickBuffer.bind()\n shader.attributes.pickId.pointer(gl.UNSIGNED_BYTE)\n shader.uniforms.pickOffset = PICK_VEC4\n this.pickOffset = pickOffset\n }\n\n // Worth switching these off, but we can't make assumptions about other\n // renderers, so let's restore it after each draw\n var blend = gl.getParameter(gl.BLEND)\n var dither = gl.getParameter(gl.DITHER)\n\n if(blend && !this.blend)\n gl.disable(gl.BLEND)\n if(dither)\n gl.disable(gl.DITHER)\n\n gl.drawArrays(gl.POINTS, 0, this.pointCount)\n\n if(blend && !this.blend)\n gl.enable(gl.BLEND)\n if(dither)\n gl.enable(gl.DITHER)\n\n return pickOffset + this.pointCount\n}\n})()\n\nproto.draw = proto.unifiedDraw\nproto.drawPick = proto.unifiedDraw\n\nproto.pick = function(x, y, value) {\n var pickOffset = this.pickOffset\n var pointCount = this.pointCount\n if(value < pickOffset || value >= pickOffset + pointCount) {\n return null\n }\n var pointId = value - pickOffset\n var points = this.points\n return {\n object: this,\n pointId: pointId,\n dataCoord: [points[2 * pointId], points[2 * pointId + 1] ]\n }\n}\n\nfunction createPointcloud2D(plot, options) {\n var gl = plot.gl\n var buffer = createBuffer(gl)\n var pickBuffer = createBuffer(gl)\n var shader = createShader(gl, SHADERS.pointVertex, SHADERS.pointFragment)\n var pickShader = createShader(gl, SHADERS.pickVertex, SHADERS.pickFragment)\n\n var result = new Pointcloud2D(plot, buffer, pickBuffer, shader, pickShader)\n result.update(options)\n\n //Register with plot\n plot.addObject(result)\n\n return result\n}\n\n\n/***/ }),\n\n/***/ \"4051\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar helpers = __webpack_require__(\"2969f\");\nvar calcHover = __webpack_require__(\"98e7\").calcHover;\n\nfunction hoverPoints(pointData, xval, yval) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var scene = pointData.scene;\n var cdata = scene.matrixOptions.cdata;\n var xa = pointData.xa;\n var ya = pointData.ya;\n var xpx = xa.c2p(xval);\n var ypx = ya.c2p(yval);\n var maxDistance = pointData.distance;\n\n var xi = helpers.getDimIndex(trace, xa);\n var yi = helpers.getDimIndex(trace, ya);\n if(xi === false || yi === false) return [pointData];\n\n var x = cdata[xi];\n var y = cdata[yi];\n\n var id, dxy;\n var minDist = maxDistance;\n\n for(var i = 0; i < x.length; i++) {\n var ptx = x[i];\n var pty = y[i];\n var dx = xa.c2p(ptx) - xpx;\n var dy = ya.c2p(pty) - ypx;\n var dist = Math.sqrt(dx * dx + dy * dy);\n\n if(dist < minDist) {\n minDist = dxy = dist;\n id = i;\n }\n }\n\n pointData.index = id;\n pointData.distance = minDist;\n pointData.dxy = dxy;\n\n if(id === undefined) return [pointData];\n\n return [calcHover(pointData, x, y, trace)];\n}\n\nmodule.exports = {\n hoverPoints: hoverPoints\n};\n\n\n/***/ }),\n\n/***/ \"409f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar meta_1 = __webpack_require__(\"716c\");\n/**\n * Takes a set of features, calculates the bbox of all input features, and returns a bounding box.\n *\n * @name bbox\n * @param {GeoJSON} geojson any GeoJSON object\n * @returns {BBox} bbox extent in [minX, minY, maxX, maxY] order\n * @example\n * var line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]]);\n * var bbox = turf.bbox(line);\n * var bboxPolygon = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [line, bboxPolygon]\n */\nfunction bbox(geojson) {\n var result = [Infinity, Infinity, -Infinity, -Infinity];\n meta_1.coordEach(geojson, function (coord) {\n if (result[0] > coord[0]) {\n result[0] = coord[0];\n }\n if (result[1] > coord[1]) {\n result[1] = coord[1];\n }\n if (result[2] < coord[0]) {\n result[2] = coord[0];\n }\n if (result[3] < coord[1]) {\n result[3] = coord[1];\n }\n });\n return result;\n}\nexports.default = bbox;\n\n\n/***/ }),\n\n/***/ \"40c0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar barAttrs = __webpack_require__(\"fb5a\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar makeBinAttrs = __webpack_require__(\"4274\");\nvar constants = __webpack_require__(\"8d0e\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = {\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n y: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n\n text: extendFlat({}, barAttrs.text, {\n \n }),\n hovertext: extendFlat({}, barAttrs.hovertext, {\n \n }),\n orientation: barAttrs.orientation,\n\n histfunc: {\n valType: 'enumerated',\n values: ['count', 'sum', 'avg', 'min', 'max'],\n \n dflt: 'count',\n editType: 'calc',\n \n },\n histnorm: {\n valType: 'enumerated',\n values: ['', 'percent', 'probability', 'density', 'probability density'],\n dflt: '',\n \n editType: 'calc',\n \n },\n\n cumulative: {\n enabled: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n\n direction: {\n valType: 'enumerated',\n values: ['increasing', 'decreasing'],\n dflt: 'increasing',\n \n editType: 'calc',\n \n },\n\n currentbin: {\n valType: 'enumerated',\n values: ['include', 'exclude', 'half'],\n dflt: 'include',\n \n editType: 'calc',\n \n },\n editType: 'calc'\n },\n nbinsx: {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: 'calc',\n \n },\n xbins: makeBinAttrs('x', true),\n\n nbinsy: {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: 'calc',\n \n },\n ybins: makeBinAttrs('y', true),\n autobinx: {\n valType: 'boolean',\n dflt: null,\n \n editType: 'calc',\n \n },\n autobiny: {\n valType: 'boolean',\n dflt: null,\n \n editType: 'calc',\n \n },\n\n bingroup: {\n valType: 'string',\n \n dflt: '',\n editType: 'calc',\n \n },\n\n hovertemplate: hovertemplateAttrs({}, {\n keys: constants.eventDataKeys\n }),\n\n marker: barAttrs.marker,\n\n offsetgroup: barAttrs.offsetgroup,\n alignmentgroup: barAttrs.alignmentgroup,\n\n selected: barAttrs.selected,\n unselected: barAttrs.unselected,\n\n _deprecated: {\n bardir: barAttrs._deprecated.bardir\n }\n};\n\n\n/***/ }),\n\n/***/ \"40ce\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createThunk = __webpack_require__(\"d37d\")\n\nfunction Procedure() {\n this.argTypes = []\n this.shimArgs = []\n this.arrayArgs = []\n this.arrayBlockIndices = []\n this.scalarArgs = []\n this.offsetArgs = []\n this.offsetArgIndex = []\n this.indexArgs = []\n this.shapeArgs = []\n this.funcName = \"\"\n this.pre = null\n this.body = null\n this.post = null\n this.debug = false\n}\n\nfunction compileCwise(user_args) {\n //Create procedure\n var proc = new Procedure()\n \n //Parse blocks\n proc.pre = user_args.pre\n proc.body = user_args.body\n proc.post = user_args.post\n\n //Parse arguments\n var proc_args = user_args.args.slice(0)\n proc.argTypes = proc_args\n for(var i=0; i0) {\n throw new Error(\"cwise: pre() block may not reference array args\")\n }\n if(i < proc.post.args.length && proc.post.args[i].count>0) {\n throw new Error(\"cwise: post() block may not reference array args\")\n }\n } else if(arg_type === \"scalar\") {\n proc.scalarArgs.push(i)\n proc.shimArgs.push(\"scalar\" + i)\n } else if(arg_type === \"index\") {\n proc.indexArgs.push(i)\n if(i < proc.pre.args.length && proc.pre.args[i].count > 0) {\n throw new Error(\"cwise: pre() block may not reference array index\")\n }\n if(i < proc.body.args.length && proc.body.args[i].lvalue) {\n throw new Error(\"cwise: body() block may not write to array index\")\n }\n if(i < proc.post.args.length && proc.post.args[i].count > 0) {\n throw new Error(\"cwise: post() block may not reference array index\")\n }\n } else if(arg_type === \"shape\") {\n proc.shapeArgs.push(i)\n if(i < proc.pre.args.length && proc.pre.args[i].lvalue) {\n throw new Error(\"cwise: pre() block may not write to array shape\")\n }\n if(i < proc.body.args.length && proc.body.args[i].lvalue) {\n throw new Error(\"cwise: body() block may not write to array shape\")\n }\n if(i < proc.post.args.length && proc.post.args[i].lvalue) {\n throw new Error(\"cwise: post() block may not write to array shape\")\n }\n } else if(typeof arg_type === \"object\" && arg_type.offset) {\n proc.argTypes[i] = \"offset\"\n proc.offsetArgs.push({ array: arg_type.array, offset:arg_type.offset })\n proc.offsetArgIndex.push(i)\n } else {\n throw new Error(\"cwise: Unknown argument type \" + proc_args[i])\n }\n }\n \n //Make sure at least one array argument was specified\n if(proc.arrayArgs.length <= 0) {\n throw new Error(\"cwise: No array arguments specified\")\n }\n \n //Make sure arguments are correct\n if(proc.pre.args.length > proc_args.length) {\n throw new Error(\"cwise: Too many arguments in pre() block\")\n }\n if(proc.body.args.length > proc_args.length) {\n throw new Error(\"cwise: Too many arguments in body() block\")\n }\n if(proc.post.args.length > proc_args.length) {\n throw new Error(\"cwise: Too many arguments in post() block\")\n }\n\n //Check debug flag\n proc.debug = !!user_args.printCode || !!user_args.debug\n \n //Retrieve name\n proc.funcName = user_args.funcName || \"cwise\"\n \n //Read in block size\n proc.blockSize = user_args.blockSize || 64\n\n return createThunk(proc)\n}\n\nmodule.exports = compileCwise\n\n\n/***/ }),\n\n/***/ \"4136\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function calcSelection(cd, trace) {\n if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {\n Lib.tagSelected(cd, trace);\n }\n};\n\n\n/***/ }),\n\n/***/ \"4160\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar forEach = __webpack_require__(\"17c2\");\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n\n\n/***/ }),\n\n/***/ \"4168\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar bsearch = __webpack_require__(\"7fcc\")\r\nvar m4interp = __webpack_require__(\"8b23\")\r\nvar invert44 = __webpack_require__(\"9343\")\r\nvar rotateX = __webpack_require__(\"e9e1\")\r\nvar rotateY = __webpack_require__(\"44fe\")\r\nvar rotateZ = __webpack_require__(\"fc11\")\r\nvar lookAt = __webpack_require__(\"e581\")\r\nvar translate = __webpack_require__(\"6f51\")\r\nvar scale = __webpack_require__(\"9ca2\")\r\nvar normalize = __webpack_require__(\"913b\")\r\n\r\nvar DEFAULT_CENTER = [0,0,0]\r\n\r\nmodule.exports = createMatrixCameraController\r\n\r\nfunction MatrixCameraController(initialMatrix) {\r\n this._components = initialMatrix.slice()\r\n this._time = [0]\r\n this.prevMatrix = initialMatrix.slice()\r\n this.nextMatrix = initialMatrix.slice()\r\n this.computedMatrix = initialMatrix.slice()\r\n this.computedInverse = initialMatrix.slice()\r\n this.computedEye = [0,0,0]\r\n this.computedUp = [0,0,0]\r\n this.computedCenter = [0,0,0]\r\n this.computedRadius = [0]\r\n this._limits = [-Infinity, Infinity]\r\n}\r\n\r\nvar proto = MatrixCameraController.prototype\r\n\r\nproto.recalcMatrix = function(t) {\r\n var time = this._time\r\n var tidx = bsearch.le(time, t)\r\n var mat = this.computedMatrix\r\n if(tidx < 0) {\r\n return\r\n }\r\n var comps = this._components\r\n if(tidx === time.length-1) {\r\n var ptr = 16*tidx\r\n for(var i=0; i<16; ++i) {\r\n mat[i] = comps[ptr++]\r\n }\r\n } else {\r\n var dt = (time[tidx+1] - time[tidx])\r\n var ptr = 16*tidx\r\n var prev = this.prevMatrix\r\n var allEqual = true\r\n for(var i=0; i<16; ++i) {\r\n prev[i] = comps[ptr++]\r\n }\r\n var next = this.nextMatrix\r\n for(var i=0; i<16; ++i) {\r\n next[i] = comps[ptr++]\r\n allEqual = allEqual && (prev[i] === next[i])\r\n }\r\n if(dt < 1e-6 || allEqual) {\r\n for(var i=0; i<16; ++i) {\r\n mat[i] = prev[i]\r\n }\r\n } else {\r\n m4interp(mat, prev, next, (t - time[tidx])/dt)\r\n }\r\n }\r\n\r\n var up = this.computedUp\r\n up[0] = mat[1]\r\n up[1] = mat[5]\r\n up[2] = mat[9]\r\n normalize(up, up)\r\n\r\n var imat = this.computedInverse\r\n invert44(imat, mat)\r\n var eye = this.computedEye\r\n var w = imat[15]\r\n eye[0] = imat[12]/w\r\n eye[1] = imat[13]/w\r\n eye[2] = imat[14]/w\r\n\r\n var center = this.computedCenter\r\n var radius = Math.exp(this.computedRadius[0])\r\n for(var i=0; i<3; ++i) {\r\n center[i] = eye[i] - mat[2+4*i] * radius\r\n }\r\n}\r\n\r\nproto.idle = function(t) {\r\n if(t < this.lastT()) {\r\n return\r\n }\r\n var mc = this._components\r\n var ptr = mc.length-16\r\n for(var i=0; i<16; ++i) {\r\n mc.push(mc[ptr++])\r\n }\r\n this._time.push(t)\r\n}\r\n\r\nproto.flush = function(t) {\r\n var idx = bsearch.gt(this._time, t) - 2\r\n if(idx < 0) {\r\n return\r\n }\r\n this._time.splice(0, idx)\r\n this._components.splice(0, 16*idx)\r\n}\r\n\r\nproto.lastT = function() {\r\n return this._time[this._time.length-1]\r\n}\r\n\r\nproto.lookAt = function(t, eye, center, up) {\r\n this.recalcMatrix(t)\r\n eye = eye || this.computedEye\r\n center = center || DEFAULT_CENTER\r\n up = up || this.computedUp\r\n this.setMatrix(t, lookAt(this.computedMatrix, eye, center, up))\r\n var d2 = 0.0\r\n for(var i=0; i<3; ++i) {\r\n d2 += Math.pow(center[i] - eye[i], 2)\r\n }\r\n d2 = Math.log(Math.sqrt(d2))\r\n this.computedRadius[0] = d2\r\n}\r\n\r\nproto.rotate = function(t, yaw, pitch, roll) {\r\n this.recalcMatrix(t)\r\n var mat = this.computedInverse\r\n if(yaw) rotateY(mat, mat, yaw)\r\n if(pitch) rotateX(mat, mat, pitch)\r\n if(roll) rotateZ(mat, mat, roll)\r\n this.setMatrix(t, invert44(this.computedMatrix, mat))\r\n}\r\n\r\nvar tvec = [0,0,0]\r\n\r\nproto.pan = function(t, dx, dy, dz) {\r\n tvec[0] = -(dx || 0.0)\r\n tvec[1] = -(dy || 0.0)\r\n tvec[2] = -(dz || 0.0)\r\n this.recalcMatrix(t)\r\n var mat = this.computedInverse\r\n translate(mat, mat, tvec)\r\n this.setMatrix(t, invert44(mat, mat))\r\n}\r\n\r\nproto.translate = function(t, dx, dy, dz) {\r\n tvec[0] = dx || 0.0\r\n tvec[1] = dy || 0.0\r\n tvec[2] = dz || 0.0\r\n this.recalcMatrix(t)\r\n var mat = this.computedMatrix\r\n translate(mat, mat, tvec)\r\n this.setMatrix(t, mat)\r\n}\r\n\r\nproto.setMatrix = function(t, mat) {\r\n if(t < this.lastT()) {\r\n return\r\n }\r\n this._time.push(t)\r\n for(var i=0; i<16; ++i) {\r\n this._components.push(mat[i])\r\n }\r\n}\r\n\r\nproto.setDistance = function(t, d) {\r\n this.computedRadius[0] = d\r\n}\r\n\r\nproto.setDistanceLimits = function(a,b) {\r\n var lim = this._limits\r\n lim[0] = a\r\n lim[1] = b\r\n}\r\n\r\nproto.getDistanceLimits = function(out) {\r\n var lim = this._limits\r\n if(out) {\r\n out[0] = lim[0]\r\n out[1] = lim[1]\r\n return out\r\n }\r\n return lim\r\n}\r\n\r\nfunction createMatrixCameraController(options) {\r\n options = options || {}\r\n var matrix = options.matrix || \r\n [1,0,0,0,\r\n 0,1,0,0,\r\n 0,0,1,0,\r\n 0,0,0,1]\r\n return new MatrixCameraController(matrix)\r\n}\r\n\n\n/***/ }),\n\n/***/ \"4183\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar hasColorbar = __webpack_require__(\"7089\");\nvar colorbarDefaults = __webpack_require__(\"8f2a\");\n\nvar isValidScale = __webpack_require__(\"4852\").isValid;\nvar traceIs = __webpack_require__(\"371e\").traceIs;\n\nfunction npMaybe(parentCont, prefix) {\n var containerStr = prefix.slice(0, prefix.length - 1);\n return prefix ?\n Lib.nestedProperty(parentCont, containerStr).get() || {} :\n parentCont;\n}\n\n/**\n * Colorscale / colorbar default handler\n *\n * @param {object} parentContIn : user (input) parent container (e.g. trace or layout coloraxis object)\n * @param {object} parentContOut : full parent container\n * @param {object} layout : (full) layout object\n * @param {fn} coerce : Lib.coerce wrapper\n * @param {object} opts :\n * - prefix {string} : attr string prefix to colorscale container from parent root\n * - cLetter {string} : 'c or 'z' color letter\n */\nmodule.exports = function colorScaleDefaults(parentContIn, parentContOut, layout, coerce, opts) {\n var prefix = opts.prefix;\n var cLetter = opts.cLetter;\n var inTrace = '_module' in parentContOut;\n var containerIn = npMaybe(parentContIn, prefix);\n var containerOut = npMaybe(parentContOut, prefix);\n var template = npMaybe(parentContOut._template || {}, prefix) || {};\n\n // colorScaleDefaults wrapper called if-ever we need to reset the colorscale\n // attributes for containers that were linked to invalid color axes\n var thisFn = function() {\n delete parentContIn.coloraxis;\n delete parentContOut.coloraxis;\n return colorScaleDefaults(parentContIn, parentContOut, layout, coerce, opts);\n };\n\n if(inTrace) {\n var colorAxes = layout._colorAxes || {};\n var colorAx = coerce(prefix + 'coloraxis');\n\n if(colorAx) {\n var colorbarVisuals = (\n traceIs(parentContOut, 'contour') &&\n Lib.nestedProperty(parentContOut, 'contours.coloring').get()\n ) || 'heatmap';\n\n var stash = colorAxes[colorAx];\n\n if(stash) {\n stash[2].push(thisFn);\n\n if(stash[0] !== colorbarVisuals) {\n stash[0] = false;\n Lib.warn([\n 'Ignoring coloraxis:', colorAx, 'setting',\n 'as it is linked to incompatible colorscales.'\n ].join(' '));\n }\n } else {\n // stash:\n // - colorbar visual 'type'\n // - colorbar options to help in Colorbar.draw\n // - list of colorScaleDefaults wrapper functions\n colorAxes[colorAx] = [colorbarVisuals, parentContOut, [thisFn]];\n }\n return;\n }\n }\n\n var minIn = containerIn[cLetter + 'min'];\n var maxIn = containerIn[cLetter + 'max'];\n var validMinMax = isNumeric(minIn) && isNumeric(maxIn) && (minIn < maxIn);\n var auto = coerce(prefix + cLetter + 'auto', !validMinMax);\n\n if(auto) {\n coerce(prefix + cLetter + 'mid');\n } else {\n coerce(prefix + cLetter + 'min');\n coerce(prefix + cLetter + 'max');\n }\n\n // handles both the trace case (autocolorscale is false by default) and\n // the marker and marker.line case (autocolorscale is true by default)\n var sclIn = containerIn.colorscale;\n var sclTemplate = template.colorscale;\n var autoColorscaleDflt;\n if(sclIn !== undefined) autoColorscaleDflt = !isValidScale(sclIn);\n if(sclTemplate !== undefined) autoColorscaleDflt = !isValidScale(sclTemplate);\n coerce(prefix + 'autocolorscale', autoColorscaleDflt);\n\n coerce(prefix + 'colorscale');\n coerce(prefix + 'reversescale');\n\n if(prefix !== 'marker.line.') {\n // handles both the trace case where the dflt is listed in attributes and\n // the marker case where the dflt is determined by hasColorbar\n var showScaleDflt;\n if(prefix && inTrace) showScaleDflt = hasColorbar(containerIn);\n\n var showScale = coerce(prefix + 'showscale', showScaleDflt);\n if(showScale) {\n if(prefix && template) containerOut._template = template;\n colorbarDefaults(containerIn, containerOut, layout);\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4190\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar handleXYDefaults = __webpack_require__(\"37bf\");\nvar handleABDefaults = __webpack_require__(\"8da3\");\nvar attributes = __webpack_require__(\"e7bd\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, dfltColor, fullLayout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n traceOut._clipPathId = 'clip' + traceOut.uid + 'carpet';\n\n var defaultColor = coerce('color', colorAttrs.defaultLine);\n Lib.coerceFont(coerce, 'font');\n\n coerce('carpet');\n\n handleABDefaults(traceIn, traceOut, fullLayout, coerce, defaultColor);\n\n if(!traceOut.a || !traceOut.b) {\n traceOut.visible = false;\n return;\n }\n\n if(traceOut.a.length < 3) {\n traceOut.aaxis.smoothing = 0;\n }\n\n if(traceOut.b.length < 3) {\n traceOut.baxis.smoothing = 0;\n }\n\n // NB: the input is x/y arrays. You should know that the *first* dimension of x and y\n // corresponds to b and the second to a. This sounds backwards but ends up making sense\n // the important part to know is that when you write y[j][i], j goes from 0 to b.length - 1\n // and i goes from 0 to a.length - 1.\n var validData = handleXYDefaults(traceIn, traceOut, coerce);\n if(!validData) {\n traceOut.visible = false;\n }\n\n if(traceOut._cheater) {\n coerce('cheaterslope');\n }\n};\n\n\n/***/ }),\n\n/***/ \"41a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = cmp\n\nfunction cmp(a, b) {\n return a[0].mul(b[1]).cmp(b[0].mul(a[1]))\n}\n\n\n/***/ }),\n\n/***/ \"41e0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar Registry = __webpack_require__(\"371e\");\n\nmodule.exports = function handleXYZDefaults(traceIn, traceOut, coerce, layout, xName, yName) {\n var z = coerce('z');\n xName = xName || 'x';\n yName = yName || 'y';\n var x, y;\n\n if(z === undefined || !z.length) return 0;\n\n if(Lib.isArray1D(traceIn.z)) {\n x = coerce(xName);\n y = coerce(yName);\n\n var xlen = Lib.minRowLength(x);\n var ylen = Lib.minRowLength(y);\n\n // column z must be accompanied by xName and yName arrays\n if(xlen === 0 || ylen === 0) return 0;\n\n traceOut._length = Math.min(xlen, ylen, z.length);\n } else {\n x = coordDefaults(xName, coerce);\n y = coordDefaults(yName, coerce);\n\n // TODO put z validation elsewhere\n if(!isValidZ(z)) return 0;\n\n coerce('transpose');\n\n traceOut._length = null;\n }\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, [xName, yName], layout);\n\n return true;\n};\n\nfunction coordDefaults(coordStr, coerce) {\n var coord = coerce(coordStr);\n var coordType = coord ? coerce(coordStr + 'type', 'array') : 'scaled';\n\n if(coordType === 'scaled') {\n coerce(coordStr + '0');\n coerce('d' + coordStr);\n }\n\n return coord;\n}\n\nfunction isValidZ(z) {\n var allRowsAreArrays = true;\n var oneRowIsFilled = false;\n var hasOneNumber = false;\n var zi;\n\n /*\n * Without this step:\n *\n * hasOneNumber = false breaks contour but not heatmap\n * allRowsAreArrays = false breaks contour but not heatmap\n * oneRowIsFilled = false breaks both\n */\n\n for(var i = 0; i < z.length; i++) {\n zi = z[i];\n if(!Lib.isArrayOrTypedArray(zi)) {\n allRowsAreArrays = false;\n break;\n }\n if(zi.length > 0) oneRowIsFilled = true;\n for(var j = 0; j < zi.length; j++) {\n if(isNumeric(zi[j])) {\n hasOneNumber = true;\n break;\n }\n }\n }\n\n return (allRowsAreArrays && oneRowIsFilled && hasOneNumber);\n}\n\n\n/***/ }),\n\n/***/ \"41f8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar handleLabelDefaults = __webpack_require__(\"6533\");\n\n\nmodule.exports = function handleStyleDefaults(traceIn, traceOut, coerce, layout, opts) {\n var coloring = coerce('contours.coloring');\n\n var showLines;\n var lineColor = '';\n if(coloring === 'fill') showLines = coerce('contours.showlines');\n\n if(showLines !== false) {\n if(coloring !== 'lines') lineColor = coerce('line.color', '#000');\n coerce('line.width', 0.5);\n coerce('line.dash');\n }\n\n if(coloring !== 'none') {\n // plots/plots always coerces showlegend to true, but in this case\n // we default to false and (by default) show a colorbar instead\n if(traceIn.showlegend !== true) traceOut.showlegend = false;\n traceOut._dfltShowLegend = false;\n\n colorscaleDefaults(\n traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'}\n );\n }\n\n coerce('line.smoothing');\n\n handleLabelDefaults(coerce, layout, lineColor, opts);\n};\n\n\n/***/ }),\n\n/***/ \"422c\":\n/***/ (function(module, exports) {\n\nmodule.exports = rotateX;\n\n/**\n * Rotate a 3D vector around the x-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nfunction rotateX(out, a, b, c){\n var by = b[1]\n var bz = b[2]\n\n // Translate point to the origin\n var py = a[1] - by\n var pz = a[2] - bz\n\n var sc = Math.sin(c)\n var cc = Math.cos(c)\n\n // perform rotation and translate to correct position\n out[0] = a[0]\n out[1] = by + py * cc - pz * sc\n out[2] = bz + py * sc + pz * cc\n\n return out\n}\n\n\n/***/ }),\n\n/***/ \"4248\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\n\nexports.getDelay = function(fullLayout) {\n if(!fullLayout._has) return 0;\n\n return (\n fullLayout._has('gl3d') ||\n fullLayout._has('gl2d') ||\n fullLayout._has('mapbox')\n ) ? 500 : 0;\n};\n\nexports.getRedrawFunc = function(gd) {\n return function() {\n var fullLayout = gd._fullLayout || {};\n var hasPolar = fullLayout._has && fullLayout._has('polar');\n var hasLegacyPolar = !hasPolar && gd.data && gd.data[0] && gd.data[0].r;\n\n if(!hasLegacyPolar) {\n Registry.getComponentMethod('colorbar', 'draw')(gd);\n }\n };\n};\n\nexports.encodeSVG = function(svg) {\n return 'data:image/svg+xml,' + encodeURIComponent(svg);\n};\n\nvar DOM_URL = window.URL || window.webkitURL;\n\nexports.createObjectURL = function(blob) {\n return DOM_URL.createObjectURL(blob);\n};\n\nexports.revokeObjectURL = function(url) {\n return DOM_URL.revokeObjectURL(url);\n};\n\nexports.createBlob = function(url, format) {\n if(format === 'svg') {\n return new window.Blob([url], {type: 'image/svg+xml;charset=utf-8'});\n } else {\n var binary = fixBinary(window.atob(url));\n return new window.Blob([binary], {type: 'image/' + format});\n }\n};\n\nexports.octetStream = function(s) {\n document.location.href = 'data:application/octet-stream' + s;\n};\n\n// Taken from https://bl.ocks.org/nolanlawson/0eac306e4dac2114c752\nfunction fixBinary(b) {\n var len = b.length;\n var buf = new ArrayBuffer(len);\n var arr = new Uint8Array(buf);\n for(var i = 0; i < len; i++) {\n arr[i] = b.charCodeAt(i);\n }\n return buf;\n}\n\nexports.IMAGE_URL_PREFIX = /^data:image\\/\\w+;base64,/;\n\nexports.MSG_IE_BAD_FORMAT = 'Sorry IE does not support downloading from canvas. Try {format:\\'svg\\'} instead.';\n\n\n/***/ }),\n\n/***/ \"424b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// arrayOk attributes, merge them into calcdata array\nmodule.exports = function arraysToCalcdata(cd, trace) {\n for(var i = 0; i < cd.length; i++) cd[i].i = i;\n\n Lib.mergeArray(trace.text, cd, 'tx');\n Lib.mergeArray(trace.hovertext, cd, 'htx');\n\n var marker = trace.marker;\n if(marker) {\n Lib.mergeArray(marker.opacity, cd, 'mo', true);\n Lib.mergeArray(marker.color, cd, 'mc');\n\n var markerLine = marker.line;\n if(markerLine) {\n Lib.mergeArray(markerLine.color, cd, 'mlc');\n Lib.mergeArrayCastPositive(markerLine.width, cd, 'mlw');\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4274\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function makeBinAttrs(axLetter, match) {\n return {\n start: {\n valType: 'any', // for date axes\n \n editType: 'calc',\n \n },\n end: {\n valType: 'any', // for date axes\n \n editType: 'calc',\n \n },\n size: {\n valType: 'any', // for date axes\n \n editType: 'calc',\n \n },\n editType: 'calc'\n };\n};\n\n\n/***/ }),\n\n/***/ \"428d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(t,e){ true?module.exports=e(__webpack_require__(\"2ad6\"),__webpack_require__(\"f7fe\")):undefined}(this,function(t,e){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p=\"/\",e(0)}([function(t,e,n){var r,o,i;!function(s,u){o=[t,e,n(10),n(38),n(39),n(9),n(37)],r=u,i=\"function\"==typeof r?r.apply(e,o):r,!(void 0!==i&&(t.exports=i))}(this,function(t,e,n,r,o){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function s(t){if(!t)return{delay:_,initial:!1};var e=t.initial,n=void 0!==e&&e,r=(0,h.default)(t).map(function(t){return parseInt(t)}).find(function(t){return!isNaN(t)});return r=r||_,{delay:r,initial:n}}function u(t,e){var n={root:document.documentElement},r=new IntersectionObserver(function(t,n){t.forEach(function(t){t.isIntersecting&&(e(),n.disconnect())})},n);return r.observe(t),r}function c(t,e){var n=e.value,r=e.arg,o=e.options,i=function(){return n(t)};switch(r){case\"debounce\":i=v(function(){return n(t)},o.delay);break;case\"throttle\":i=v(function(){return n(t)},o.delay,{leading:!0,trailing:!0,maxWait:o.delay})}var s=new l.default(t,i);return o.initial&&n(t),s}function a(t,e,n){var r=e.value,o=e.arg,i=e.modifiers,h=n.context;if(!r||\"function\"!=typeof r)return void console.warn(\"v-resize should received a function as value\");var l=s(i);return h&&h.$el===t&&h.$once(\"hook:deactivated\",function(){f(t),h.$once(\"hook:activated\",function(){a(t,{value:r,arg:o,modifiers:i},{context:h})})}),t.offsetParent?void c(t,{value:r,arg:o,options:l}):(l.initial=!0,void(t.__visibility__listener__=u(t,function(){return c(t,{value:r,arg:o,options:l})})))}function f(t){t.__visibility__listener__&&t.__visibility__listener__.disconnect(),t.resizeSensor&&l.default.detach(t)}Object.defineProperty(e,\"__esModule\",{value:!0});var h=i(n),l=i(r),p=i(o),d=p.default.debounce,v=void 0===d?p.default:d,_=150;e.default={inserted:a,unbind:f},t.exports=e.default})},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){t.exports=!n(3)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(23),o=n(6);t.exports=function(t){return r(o(t))}},function(t,e,n){var r,o,i;!function(n,s){o=[],r=s,i=\"function\"==typeof r?r.apply(e,o):r,!(void 0!==i&&(t.exports=i))}(this,function(){\"use strict\";Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(t){if(null==this)throw new TypeError('\"this\" is null or not defined');var e=Object(this),n=e.length>>>0;if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var r=arguments[1],o=0;of;)if(u=c[f++],u!=u)return!0}else for(;a>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(12);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(5),o=n(4).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var r=n(4),o=n(1),i=n(16),s=n(21),u=\"prototype\",c=function(t,e,n){var a,f,h,l=t&c.F,p=t&c.G,d=t&c.S,v=t&c.P,_=t&c.B,y=t&c.W,g=p?o:o[e]||(o[e]={}),b=g[u],m=p?r:d?r[e]:(r[e]||{})[u];p&&(n=e);for(a in n)f=!l&&m&&void 0!==m[a],f&&a in g||(h=f?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:_&&f?i(h,r):y&&m[a]==h?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[u]=t[u],e}(h):v&&\"function\"==typeof h?i(Function.call,h):h,v&&((g.virtual||(g.virtual={}))[a]=h,t&c.R&&b&&!b[a]&&s(b,a,h)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(24),o=n(28);t.exports=n(2)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){t.exports=!n(2)&&!n(3)(function(){return 7!=Object.defineProperty(n(17)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(15);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(13),o=n(22),i=n(34),s=Object.defineProperty;e.f=n(2)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(20),o=n(8),i=n(14)(!1),s=n(29)(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),c=0,a=[];for(n in u)n!=s&&r(u,n)&&a.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(a,n)||a.push(n));return a}},function(t,e,n){var r=n(25),o=n(18);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(19),o=n(1),i=n(3);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],s={};s[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",s)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(30)(\"keys\"),o=n(35);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(4),o=\"__core-js_shared__\",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(7),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(7),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(6);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e,n){var r=n(33),o=n(26);n(27)(\"keys\",function(){return function(t){return o(r(t))}})},function(t,e){!function(t,e){\"use strict\";function n(t){this.time=t.time,this.target=t.target,this.rootBounds=t.rootBounds,this.boundingClientRect=t.boundingClientRect,this.intersectionRect=t.intersectionRect||f(),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,n=e.width*e.height,r=this.intersectionRect,o=r.width*r.height;n?this.intersectionRatio=o/n:this.intersectionRatio=this.isIntersecting?1:0}function r(t,e){var n=e||{};if(\"function\"!=typeof t)throw new Error(\"callback must be a function\");if(n.root&&1!=n.root.nodeType)throw new Error(\"root must be an Element\");this._checkForIntersections=i(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(n.rootMargin),this.thresholds=this._initThresholds(n.threshold),this.root=n.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(\" \")}function o(){return t.performance&&performance.now&&performance.now()}function i(t,e){var n=null;return function(){n||(n=setTimeout(function(){t(),n=null},e))}}function s(t,e,n,r){\"function\"==typeof t.addEventListener?t.addEventListener(e,n,r||!1):\"function\"==typeof t.attachEvent&&t.attachEvent(\"on\"+e,n)}function u(t,e,n,r){\"function\"==typeof t.removeEventListener?t.removeEventListener(e,n,r||!1):\"function\"==typeof t.detatchEvent&&t.detatchEvent(\"on\"+e,n)}function c(t,e){var n=Math.max(t.top,e.top),r=Math.min(t.bottom,e.bottom),o=Math.max(t.left,e.left),i=Math.min(t.right,e.right),s=i-o,u=r-n;return s>=0&&u>=0&&{top:n,bottom:r,left:o,right:i,width:s,height:u}}function a(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):f()}function f(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function h(t,e){for(var n=e;n;){if(n==t)return!0;n=l(n)}return!1}function l(t){var e=t.parentNode;return e&&11==e.nodeType&&e.host?e.host:e}if(\"IntersectionObserver\"in t&&\"IntersectionObserverEntry\"in t&&\"intersectionRatio\"in t.IntersectionObserverEntry.prototype)return void(\"isIntersecting\"in t.IntersectionObserverEntry.prototype||Object.defineProperty(t.IntersectionObserverEntry.prototype,\"isIntersecting\",{get:function(){return this.intersectionRatio>0}}));var p=[];r.prototype.THROTTLE_TIMEOUT=100,r.prototype.POLL_INTERVAL=null,r.prototype.USE_MUTATION_OBSERVER=!0,r.prototype.observe=function(t){var e=this._observationTargets.some(function(e){return e.element==t});if(!e){if(!t||1!=t.nodeType)throw new Error(\"target must be an Element\");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},r.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},r.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},r.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},r.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,n){if(\"number\"!=typeof t||isNaN(t)||t<0||t>1)throw new Error(\"threshold must be a number between 0 and 1 inclusively\");return t!==n[e-1]})},r.prototype._parseRootMargin=function(t){var e=t||\"0px\",n=e.split(/\\s+/).map(function(t){var e=/^(-?\\d*\\.?\\d+)(px|%)$/.exec(t);if(!e)throw new Error(\"rootMargin must be specified in pixels or percent\");return{value:parseFloat(e[1]),unit:e[2]}});return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},r.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(s(t,\"resize\",this._checkForIntersections,!0),s(e,\"scroll\",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&\"MutationObserver\"in t&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},r.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,u(t,\"resize\",this._checkForIntersections,!0),u(e,\"scroll\",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},r.prototype._checkForIntersections=function(){var t=this._rootIsInDom(),e=t?this._getRootRect():f();this._observationTargets.forEach(function(r){var i=r.element,s=a(i),u=this._rootContainsTarget(i),c=r.entry,f=t&&u&&this._computeTargetAndRootIntersection(i,e),h=r.entry=new n({time:o(),target:i,boundingClientRect:s,rootBounds:e,intersectionRect:f});c?t&&u?this._hasCrossedThreshold(c,h)&&this._queuedEntries.push(h):c&&c.isIntersecting&&this._queuedEntries.push(h):this._queuedEntries.push(h)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},r.prototype._computeTargetAndRootIntersection=function(n,r){if(\"none\"!=t.getComputedStyle(n).display){for(var o=a(n),i=o,s=l(n),u=!1;!u;){var f=null,h=1==s.nodeType?t.getComputedStyle(s):{};if(\"none\"==h.display)return;if(s==this.root||s==e?(u=!0,f=r):s!=e.body&&s!=e.documentElement&&\"visible\"!=h.overflow&&(f=a(s)),f&&(i=c(f,i),!i))break;s=l(s)}return i}},r.prototype._getRootRect=function(){var t;if(this.root)t=a(this.root);else{var n=e.documentElement,r=e.body;t={top:0,left:0,right:n.clientWidth||r.clientWidth,width:n.clientWidth||r.clientWidth,bottom:n.clientHeight||r.clientHeight,height:n.clientHeight||r.clientHeight}}return this._expandRectByRootMargin(t)},r.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,n){return\"px\"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100}),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},r.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,r=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==r)for(var o=0;o allPositions[k] && k < allPositions.length; k++) {\n // the current trace is missing a position from some previous trace(s)\n insertBlank(cd, j, allPositions[k], i, hasAnyBlanks, interpolate, posAttr);\n j++;\n }\n if(posj !== allPositions[k]) {\n // previous trace(s) are missing a position from the current trace\n for(i2 = 0; i2 < i; i2++) {\n insertBlank(calcTraces[indices[i2]], k, posj, i2, hasAnyBlanks, interpolate, posAttr);\n }\n allPositions.splice(k, 0, posj);\n }\n k++;\n }\n for(; k < allPositions.length; k++) {\n insertBlank(cd, j, allPositions[k], i, hasAnyBlanks, interpolate, posAttr);\n j++;\n }\n }\n\n var serieslen = allPositions.length;\n\n // stack (and normalize)!\n for(j = 0; j < cd0.length; j++) {\n sumj = cd0[j][valAttr] = cd0[j].s;\n for(i = 1; i < indices.length; i++) {\n cd = calcTraces[indices[i]];\n cd[0].trace._rawLength = cd[0].trace._length;\n cd[0].trace._length = serieslen;\n sumj += cd[j].s;\n cd[j][valAttr] = sumj;\n }\n\n if(groupnorm) {\n norm = ((groupnorm === 'fraction') ? sumj : (sumj / 100)) || 1;\n for(i = 0; i < indices.length; i++) {\n var cdj = calcTraces[indices[i]][j];\n cdj[valAttr] /= norm;\n cdj.sNorm = cdj.s / norm;\n }\n }\n }\n\n // autorange\n for(i = 0; i < indices.length; i++) {\n cd = calcTraces[indices[i]];\n var trace = cd[0].trace;\n var ppad = calc.calcMarkerSize(trace, trace._rawLength);\n var arrayPad = Array.isArray(ppad);\n if((ppad && hasAnyBlanks[i]) || arrayPad) {\n var ppadRaw = ppad;\n ppad = new Array(serieslen);\n for(j = 0; j < serieslen; j++) {\n ppad[j] = cd[j].gap ? 0 : (arrayPad ? ppadRaw[cd[j].i] : ppadRaw);\n }\n }\n var x = new Array(serieslen);\n var y = new Array(serieslen);\n for(j = 0; j < serieslen; j++) {\n x[j] = cd[j].x;\n y[j] = cd[j].y;\n }\n calc.calcAxisExpansion(gd, trace, xa, ya, x, y, ppad);\n\n // while we're here (in a loop over all traces in the stack)\n // record the orientation, so hover can find it easily\n cd[0].t.orientation = groupOpts.orientation;\n }\n }\n};\n\nfunction insertBlank(calcTrace, index, position, traceIndex, hasAnyBlanks, interpolate, posAttr) {\n hasAnyBlanks[traceIndex] = true;\n var newEntry = {\n i: null,\n gap: true,\n s: 0\n };\n newEntry[posAttr] = position;\n calcTrace.splice(index, 0, newEntry);\n // Even if we're not interpolating, if one trace has multiple\n // values at the same position and this trace only has one value there,\n // we just duplicate that one value rather than insert a zero.\n // We also make it look like a real point - because it's ambiguous which\n // one really is the real one!\n if(index && position === calcTrace[index - 1][posAttr]) {\n var prevEntry = calcTrace[index - 1];\n newEntry.s = prevEntry.s;\n // TODO is it going to cause any problems to have multiple\n // calcdata points with the same index?\n newEntry.i = prevEntry.i;\n newEntry.gap = prevEntry.gap;\n } else if(interpolate) {\n newEntry.s = getInterp(calcTrace, index, position, posAttr);\n }\n if(!index) {\n // t and trace need to stay on the first cd entry\n calcTrace[0].t = calcTrace[1].t;\n calcTrace[0].trace = calcTrace[1].trace;\n delete calcTrace[1].t;\n delete calcTrace[1].trace;\n }\n}\n\nfunction getInterp(calcTrace, index, position, posAttr) {\n var pt0 = calcTrace[index - 1];\n var pt1 = calcTrace[index + 1];\n if(!pt1) return pt0.s;\n if(!pt0) return pt1.s;\n return pt0.s + (pt1.s - pt0.s) * (position - pt0[posAttr]) / (pt1[posAttr] - pt0[posAttr]);\n}\n\n\n/***/ }),\n\n/***/ \"4358\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\nvar isPlainObject = __webpack_require__(\"1385\");\n\n/**\n * Relink private _keys and keys with a function value from one container\n * to the new container.\n * Relink means copying if object is pass-by-value and adding a reference\n * if object is pass-by-ref.\n * This prevents deepCopying massive structures like a webgl context.\n */\nmodule.exports = function relinkPrivateKeys(toContainer, fromContainer) {\n for(var k in fromContainer) {\n var fromVal = fromContainer[k];\n var toVal = toContainer[k];\n\n if(toVal === fromVal) {\n continue;\n }\n if(k.charAt(0) === '_' || typeof fromVal === 'function') {\n // if it already exists at this point, it's something\n // that we recreate each time around, so ignore it\n if(k in toContainer) continue;\n\n toContainer[k] = fromVal;\n } else if(isArrayOrTypedArray(fromVal) && isArrayOrTypedArray(toVal) && isPlainObject(fromVal[0])) {\n // filter out data_array items that can contain user objects\n // most of the time the toVal === fromVal check will catch these early\n // but if the user makes new ones we also don't want to recurse in.\n if(k === 'customdata' || k === 'ids') continue;\n\n // recurse into arrays containers\n var minLen = Math.min(fromVal.length, toVal.length);\n for(var j = 0; j < minLen; j++) {\n if((toVal[j] !== fromVal[j]) && isPlainObject(fromVal[j]) && isPlainObject(toVal[j])) {\n relinkPrivateKeys(toVal[j], fromVal[j]);\n }\n }\n } else if(isPlainObject(fromVal) && isPlainObject(toVal)) {\n // recurse into objects, but only if they still exist\n relinkPrivateKeys(toVal, fromVal);\n\n if(!Object.keys(toVal).length) delete toContainer[k];\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4362\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = __webpack_require__(\"df7c\");\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n\n\n/***/ }),\n\n/***/ \"4393\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bounds = __webpack_require__(\"a671\")\n\nvar NOT_FOUND = 0\nvar SUCCESS = 1\nvar EMPTY = 2\n\nmodule.exports = createWrapper\n\nfunction IntervalTreeNode(mid, left, right, leftPoints, rightPoints) {\n this.mid = mid\n this.left = left\n this.right = right\n this.leftPoints = leftPoints\n this.rightPoints = rightPoints\n this.count = (left ? left.count : 0) + (right ? right.count : 0) + leftPoints.length\n}\n\nvar proto = IntervalTreeNode.prototype\n\nfunction copy(a, b) {\n a.mid = b.mid\n a.left = b.left\n a.right = b.right\n a.leftPoints = b.leftPoints\n a.rightPoints = b.rightPoints\n a.count = b.count\n}\n\nfunction rebuild(node, intervals) {\n var ntree = createIntervalTree(intervals)\n node.mid = ntree.mid\n node.left = ntree.left\n node.right = ntree.right\n node.leftPoints = ntree.leftPoints\n node.rightPoints = ntree.rightPoints\n node.count = ntree.count\n}\n\nfunction rebuildWithInterval(node, interval) {\n var intervals = node.intervals([])\n intervals.push(interval)\n rebuild(node, intervals) \n}\n\nfunction rebuildWithoutInterval(node, interval) {\n var intervals = node.intervals([])\n var idx = intervals.indexOf(interval)\n if(idx < 0) {\n return NOT_FOUND\n }\n intervals.splice(idx, 1)\n rebuild(node, intervals)\n return SUCCESS\n}\n\nproto.intervals = function(result) {\n result.push.apply(result, this.leftPoints)\n if(this.left) {\n this.left.intervals(result)\n }\n if(this.right) {\n this.right.intervals(result)\n }\n return result\n}\n\nproto.insert = function(interval) {\n var weight = this.count - this.leftPoints.length\n this.count += 1\n if(interval[1] < this.mid) {\n if(this.left) {\n if(4*(this.left.count+1) > 3*(weight+1)) {\n rebuildWithInterval(this, interval)\n } else {\n this.left.insert(interval)\n }\n } else {\n this.left = createIntervalTree([interval])\n }\n } else if(interval[0] > this.mid) {\n if(this.right) {\n if(4*(this.right.count+1) > 3*(weight+1)) {\n rebuildWithInterval(this, interval)\n } else {\n this.right.insert(interval)\n }\n } else {\n this.right = createIntervalTree([interval])\n }\n } else {\n var l = bounds.ge(this.leftPoints, interval, compareBegin)\n var r = bounds.ge(this.rightPoints, interval, compareEnd)\n this.leftPoints.splice(l, 0, interval)\n this.rightPoints.splice(r, 0, interval)\n }\n}\n\nproto.remove = function(interval) {\n var weight = this.count - this.leftPoints\n if(interval[1] < this.mid) {\n if(!this.left) {\n return NOT_FOUND\n }\n var rw = this.right ? this.right.count : 0\n if(4 * rw > 3 * (weight-1)) {\n return rebuildWithoutInterval(this, interval)\n }\n var r = this.left.remove(interval)\n if(r === EMPTY) {\n this.left = null\n this.count -= 1\n return SUCCESS\n } else if(r === SUCCESS) {\n this.count -= 1\n }\n return r\n } else if(interval[0] > this.mid) {\n if(!this.right) {\n return NOT_FOUND\n }\n var lw = this.left ? this.left.count : 0\n if(4 * lw > 3 * (weight-1)) {\n return rebuildWithoutInterval(this, interval)\n }\n var r = this.right.remove(interval)\n if(r === EMPTY) {\n this.right = null\n this.count -= 1\n return SUCCESS\n } else if(r === SUCCESS) {\n this.count -= 1\n }\n return r\n } else {\n if(this.count === 1) {\n if(this.leftPoints[0] === interval) {\n return EMPTY\n } else {\n return NOT_FOUND\n }\n }\n if(this.leftPoints.length === 1 && this.leftPoints[0] === interval) {\n if(this.left && this.right) {\n var p = this\n var n = this.left\n while(n.right) {\n p = n\n n = n.right\n }\n if(p === this) {\n n.right = this.right\n } else {\n var l = this.left\n var r = this.right\n p.count -= n.count\n p.right = n.left\n n.left = l\n n.right = r\n }\n copy(this, n)\n this.count = (this.left?this.left.count:0) + (this.right?this.right.count:0) + this.leftPoints.length\n } else if(this.left) {\n copy(this, this.left)\n } else {\n copy(this, this.right)\n }\n return SUCCESS\n }\n for(var l = bounds.ge(this.leftPoints, interval, compareBegin); l=0 && arr[i][1] >= lo; --i) {\n var r = cb(arr[i])\n if(r) { return r }\n }\n}\n\nfunction reportRange(arr, cb) {\n for(var i=0; i this.mid) {\n if(this.right) {\n var r = this.right.queryPoint(x, cb)\n if(r) { return r }\n }\n return reportRightRange(this.rightPoints, x, cb)\n } else {\n return reportRange(this.leftPoints, cb)\n }\n}\n\nproto.queryInterval = function(lo, hi, cb) {\n if(lo < this.mid && this.left) {\n var r = this.left.queryInterval(lo, hi, cb)\n if(r) { return r }\n }\n if(hi > this.mid && this.right) {\n var r = this.right.queryInterval(lo, hi, cb)\n if(r) { return r }\n }\n if(hi < this.mid) {\n return reportLeftRange(this.leftPoints, hi, cb)\n } else if(lo > this.mid) {\n return reportRightRange(this.rightPoints, lo, cb)\n } else {\n return reportRange(this.leftPoints, cb)\n }\n}\n\nfunction compareNumbers(a, b) {\n return a - b\n}\n\nfunction compareBegin(a, b) {\n var d = a[0] - b[0]\n if(d) { return d }\n return a[1] - b[1]\n}\n\nfunction compareEnd(a, b) {\n var d = a[1] - b[1]\n if(d) { return d }\n return a[0] - b[0]\n}\n\nfunction createIntervalTree(intervals) {\n if(intervals.length === 0) {\n return null\n }\n var pts = []\n for(var i=0; i>1]\n\n var leftIntervals = []\n var rightIntervals = []\n var centerIntervals = []\n for(var i=0; i= bbox.left && e.clientX <= bbox.right &&\n e.clientY >= bbox.top && e.clientY <= bbox.bottom\n );\n });\n if(clickedTrace.size() > 0) {\n clickOrDoubleClick(gd, legend, clickedTrace, numClicks, e);\n }\n }\n });\n }\n }], gd);\n};\n\nfunction clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) {\n var trace = legendItem.data()[0][0].trace;\n var evtData = {\n event: evt,\n node: legendItem.node(),\n curveNumber: trace.index,\n expandedIndex: trace._expandedIndex,\n data: gd.data,\n layout: gd.layout,\n frames: gd._transitionData._frames,\n config: gd._context,\n fullData: gd._fullData,\n fullLayout: gd._fullLayout\n };\n\n if(trace._group) {\n evtData.group = trace._group;\n }\n if(Registry.traceIs(trace, 'pie-like')) {\n evtData.label = legendItem.datum()[0].label;\n }\n\n var clickVal = Events.triggerHandler(gd, 'plotly_legendclick', evtData);\n if(clickVal === false) return;\n\n if(numClicks === 1) {\n legend._clickTimeout = setTimeout(function() {\n handleClick(legendItem, gd, numClicks);\n }, gd._context.doubleClickDelay);\n } else if(numClicks === 2) {\n if(legend._clickTimeout) clearTimeout(legend._clickTimeout);\n gd._legendMouseDownTime = 0;\n\n var dblClickVal = Events.triggerHandler(gd, 'plotly_legenddoubleclick', evtData);\n if(dblClickVal !== false) handleClick(legendItem, gd, numClicks);\n }\n}\n\nfunction drawTexts(g, gd) {\n var legendItem = g.data()[0][0];\n var fullLayout = gd._fullLayout;\n var opts = fullLayout.legend;\n var trace = legendItem.trace;\n var isPieLike = Registry.traceIs(trace, 'pie-like');\n var traceIndex = trace.index;\n var isEditable = gd._context.edits.legendText && !isPieLike;\n var maxNameLength = opts._maxNameLength;\n\n var name = isPieLike ? legendItem.label : trace.name;\n if(trace._meta) {\n name = Lib.templateString(name, trace._meta);\n }\n\n var textEl = Lib.ensureSingle(g, 'text', 'legendtext');\n\n textEl.attr('text-anchor', 'start')\n .classed('user-select-none', true)\n .call(Drawing.font, opts.font)\n .text(isEditable ? ensureLength(name, maxNameLength) : name);\n\n svgTextUtils.positionText(textEl, constants.textGap, 0);\n\n if(isEditable) {\n textEl.call(svgTextUtils.makeEditable, {gd: gd, text: name})\n .call(textLayout, g, gd)\n .on('edit', function(newName) {\n this.text(ensureLength(newName, maxNameLength))\n .call(textLayout, g, gd);\n\n var fullInput = legendItem.trace._fullInput || {};\n var update = {};\n\n if(Registry.hasTransform(fullInput, 'groupby')) {\n var groupbyIndices = Registry.getTransformIndices(fullInput, 'groupby');\n var index = groupbyIndices[groupbyIndices.length - 1];\n\n var kcont = Lib.keyedContainer(fullInput, 'transforms[' + index + '].styles', 'target', 'value.name');\n\n kcont.set(legendItem.trace._group, newName);\n\n update = kcont.constructUpdate();\n } else {\n update.name = newName;\n }\n\n return Registry.call('_guiRestyle', gd, update, traceIndex);\n });\n } else {\n textLayout(textEl, g, gd);\n }\n}\n\n/*\n * Make sure we have a reasonably clickable region.\n * If this string is missing or very short, pad it with spaces out to at least\n * 4 characters, up to the max length of other labels, on the assumption that\n * most characters are wider than spaces so a string of spaces will usually be\n * no wider than the real labels.\n */\nfunction ensureLength(str, maxLength) {\n var targetLength = Math.max(4, maxLength);\n if(str && str.trim().length >= targetLength / 2) return str;\n str = str || '';\n for(var i = targetLength - str.length; i > 0; i--) str += ' ';\n return str;\n}\n\nfunction setupTraceToggle(g, gd) {\n var doubleClickDelay = gd._context.doubleClickDelay;\n var newMouseDownTime;\n var numClicks = 1;\n\n var traceToggle = Lib.ensureSingle(g, 'rect', 'legendtoggle', function(s) {\n s.style('cursor', 'pointer')\n .attr('pointer-events', 'all')\n .call(Color.fill, 'rgba(0,0,0,0)');\n });\n\n traceToggle.on('mousedown', function() {\n newMouseDownTime = (new Date()).getTime();\n if(newMouseDownTime - gd._legendMouseDownTime < doubleClickDelay) {\n // in a click train\n numClicks += 1;\n } else {\n // new click train\n numClicks = 1;\n gd._legendMouseDownTime = newMouseDownTime;\n }\n });\n traceToggle.on('mouseup', function() {\n if(gd._dragged || gd._editing) return;\n var legend = gd._fullLayout.legend;\n\n if((new Date()).getTime() - gd._legendMouseDownTime > doubleClickDelay) {\n numClicks = Math.max(numClicks - 1, 1);\n }\n\n clickOrDoubleClick(gd, legend, g, numClicks, d3.event);\n });\n}\n\nfunction textLayout(s, g, gd) {\n svgTextUtils.convertToTspans(s, gd, function() {\n computeTextDimensions(g, gd);\n });\n}\n\nfunction computeTextDimensions(g, gd) {\n var legendItem = g.data()[0][0];\n if(legendItem && !legendItem.trace.showlegend) {\n g.remove();\n return;\n }\n\n var mathjaxGroup = g.select('g[class*=math-group]');\n var mathjaxNode = mathjaxGroup.node();\n var bw = gd._fullLayout.legend.borderwidth;\n var opts = gd._fullLayout.legend;\n var lineHeight = (legendItem ? opts : opts.title).font.size * LINE_SPACING;\n var height, width;\n\n if(mathjaxNode) {\n var mathjaxBB = Drawing.bBox(mathjaxNode);\n\n height = mathjaxBB.height;\n width = mathjaxBB.width;\n\n if(legendItem) {\n Drawing.setTranslate(mathjaxGroup, 0, height * 0.25);\n } else { // case of title\n Drawing.setTranslate(mathjaxGroup, bw, height * 0.75 + bw);\n }\n } else {\n var textEl = g.select(legendItem ?\n '.legendtext' : '.legendtitletext'\n );\n var textLines = svgTextUtils.lineCount(textEl);\n var textNode = textEl.node();\n\n height = lineHeight * textLines;\n width = textNode ? Drawing.bBox(textNode).width : 0;\n\n // approximation to height offset to center the font\n // to avoid getBoundingClientRect\n var textY = lineHeight * ((textLines - 1) / 2 - 0.3);\n if(legendItem) {\n svgTextUtils.positionText(textEl, constants.textGap, -textY);\n } else { // case of title\n svgTextUtils.positionText(textEl, constants.titlePad + bw, lineHeight + bw);\n }\n }\n\n if(legendItem) {\n legendItem.lineHeight = lineHeight;\n legendItem.height = Math.max(height, 16) + 3;\n legendItem.width = width;\n } else { // case of title\n opts._titleWidth = width;\n opts._titleHeight = height;\n }\n}\n\nfunction getTitleSize(opts) {\n var w = 0;\n var h = 0;\n\n var side = opts.title.side;\n if(side) {\n if(side.indexOf('left') !== -1) {\n w = opts._titleWidth;\n }\n if(side.indexOf('top') !== -1) {\n h = opts._titleHeight;\n }\n }\n\n return [w, h];\n}\n\n/*\n * Computes in fullLayout.legend:\n *\n * - _height: legend height including items past scrollbox height\n * - _maxHeight: maximum legend height before scrollbox is required\n * - _effHeight: legend height w/ or w/o scrollbox\n *\n * - _width: legend width\n * - _maxWidth (for orientation:h only): maximum width before starting new row\n */\nfunction computeLegendDimensions(gd, groups, traces) {\n var fullLayout = gd._fullLayout;\n var opts = fullLayout.legend;\n var gs = fullLayout._size;\n\n var isVertical = helpers.isVertical(opts);\n var isGrouped = helpers.isGrouped(opts);\n\n var bw = opts.borderwidth;\n var bw2 = 2 * bw;\n var textGap = constants.textGap;\n var itemGap = constants.itemGap;\n var endPad = 2 * (bw + itemGap);\n\n var yanchor = getYanchor(opts);\n var isBelowPlotArea = opts.y < 0 || (opts.y === 0 && yanchor === 'top');\n var isAbovePlotArea = opts.y > 1 || (opts.y === 1 && yanchor === 'bottom');\n\n // - if below/above plot area, give it the maximum potential margin-push value\n // - otherwise, extend the height of the plot area\n opts._maxHeight = Math.max(\n (isBelowPlotArea || isAbovePlotArea) ? fullLayout.height / 2 : gs.h,\n 30\n );\n\n var toggleRectWidth = 0;\n opts._width = 0;\n opts._height = 0;\n var titleSize = getTitleSize(opts);\n\n if(isVertical) {\n traces.each(function(d) {\n var h = d[0].height;\n Drawing.setTranslate(this,\n bw + titleSize[0],\n bw + titleSize[1] + opts._height + h / 2 + itemGap\n );\n opts._height += h;\n opts._width = Math.max(opts._width, d[0].width);\n });\n\n toggleRectWidth = textGap + opts._width;\n opts._width += itemGap + textGap + bw2;\n opts._height += endPad;\n\n if(isGrouped) {\n groups.each(function(d, i) {\n Drawing.setTranslate(this, 0, i * opts.tracegroupgap);\n });\n opts._height += (opts._lgroupsLength - 1) * opts.tracegroupgap;\n }\n } else {\n var xanchor = getXanchor(opts);\n var isLeftOfPlotArea = opts.x < 0 || (opts.x === 0 && xanchor === 'right');\n var isRightOfPlotArea = opts.x > 1 || (opts.x === 1 && xanchor === 'left');\n var isBeyondPlotAreaY = isAbovePlotArea || isBelowPlotArea;\n var hw = fullLayout.width / 2;\n\n // - if placed within x-margins, extend the width of the plot area\n // - else if below/above plot area and anchored in the margin, extend to opposite margin,\n // - otherwise give it the maximum potential margin-push value\n opts._maxWidth = Math.max(\n isLeftOfPlotArea ? ((isBeyondPlotAreaY && xanchor === 'left') ? gs.l + gs.w : hw) :\n isRightOfPlotArea ? ((isBeyondPlotAreaY && xanchor === 'right') ? gs.r + gs.w : hw) :\n gs.w,\n 2 * textGap);\n var maxItemWidth = 0;\n var combinedItemWidth = 0;\n traces.each(function(d) {\n var w = d[0].width + textGap;\n maxItemWidth = Math.max(maxItemWidth, w);\n combinedItemWidth += w;\n });\n\n toggleRectWidth = null;\n var maxRowWidth = 0;\n\n if(isGrouped) {\n var maxGroupHeightInRow = 0;\n var groupOffsetX = 0;\n var groupOffsetY = 0;\n groups.each(function() {\n var maxWidthInGroup = 0;\n var offsetY = 0;\n d3.select(this).selectAll('g.traces').each(function(d) {\n var h = d[0].height;\n Drawing.setTranslate(this,\n titleSize[0],\n titleSize[1] + bw + itemGap + h / 2 + offsetY\n );\n offsetY += h;\n maxWidthInGroup = Math.max(maxWidthInGroup, textGap + d[0].width);\n });\n maxGroupHeightInRow = Math.max(maxGroupHeightInRow, offsetY);\n\n var next = maxWidthInGroup + itemGap;\n\n if((next + bw + groupOffsetX) > opts._maxWidth) {\n maxRowWidth = Math.max(maxRowWidth, groupOffsetX);\n groupOffsetX = 0;\n groupOffsetY += maxGroupHeightInRow + opts.tracegroupgap;\n maxGroupHeightInRow = offsetY;\n }\n\n Drawing.setTranslate(this, groupOffsetX, groupOffsetY);\n\n groupOffsetX += next;\n });\n\n opts._width = Math.max(maxRowWidth, groupOffsetX) + bw;\n opts._height = groupOffsetY + maxGroupHeightInRow + endPad;\n } else {\n var nTraces = traces.size();\n var oneRowLegend = (combinedItemWidth + bw2 + (nTraces - 1) * itemGap) < opts._maxWidth;\n\n var maxItemHeightInRow = 0;\n var offsetX = 0;\n var offsetY = 0;\n var rowWidth = 0;\n traces.each(function(d) {\n var h = d[0].height;\n var w = textGap + d[0].width;\n var next = (oneRowLegend ? w : maxItemWidth) + itemGap;\n\n if((next + bw + offsetX) > opts._maxWidth) {\n maxRowWidth = Math.max(maxRowWidth, rowWidth);\n offsetX = 0;\n offsetY += maxItemHeightInRow;\n opts._height += maxItemHeightInRow;\n maxItemHeightInRow = 0;\n }\n\n Drawing.setTranslate(this,\n titleSize[0] + bw + offsetX,\n titleSize[1] + bw + offsetY + h / 2 + itemGap\n );\n\n rowWidth = offsetX + w + itemGap;\n offsetX += next;\n maxItemHeightInRow = Math.max(maxItemHeightInRow, h);\n });\n\n if(oneRowLegend) {\n opts._width = offsetX + bw2;\n opts._height = maxItemHeightInRow + endPad;\n } else {\n opts._width = Math.max(maxRowWidth, rowWidth) + bw2;\n opts._height += maxItemHeightInRow + endPad;\n }\n }\n }\n\n opts._width = Math.ceil(\n Math.max(\n opts._width + titleSize[0],\n opts._titleWidth + 2 * (bw + constants.titlePad)\n )\n );\n\n opts._height = Math.ceil(\n Math.max(\n opts._height + titleSize[1],\n opts._titleHeight + 2 * (bw + constants.itemGap)\n )\n );\n\n opts._effHeight = Math.min(opts._height, opts._maxHeight);\n\n var edits = gd._context.edits;\n var isEditable = edits.legendText || edits.legendPosition;\n traces.each(function(d) {\n var traceToggle = d3.select(this).select('.legendtoggle');\n var h = d[0].height;\n var w = isEditable ? textGap : (toggleRectWidth || (textGap + d[0].width));\n if(!isVertical) w += itemGap / 2;\n Drawing.setRect(traceToggle, 0, -h / 2, w, h);\n });\n}\n\nfunction expandMargin(gd) {\n var fullLayout = gd._fullLayout;\n var opts = fullLayout.legend;\n var xanchor = getXanchor(opts);\n var yanchor = getYanchor(opts);\n\n return Plots.autoMargin(gd, 'legend', {\n x: opts.x,\n y: opts.y,\n l: opts._width * (FROM_TL[xanchor]),\n r: opts._width * (FROM_BR[xanchor]),\n b: opts._effHeight * (FROM_BR[yanchor]),\n t: opts._effHeight * (FROM_TL[yanchor])\n });\n}\n\nfunction getXanchor(opts) {\n return Lib.isRightAnchor(opts) ? 'right' :\n Lib.isCenterAnchor(opts) ? 'center' :\n 'left';\n}\n\nfunction getYanchor(opts) {\n return Lib.isBottomAnchor(opts) ? 'bottom' :\n Lib.isMiddleAnchor(opts) ? 'middle' :\n 'top';\n}\n\n\n/***/ }),\n\n/***/ \"43ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar heatmapAttrs = __webpack_require__(\"0435\");\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar dash = __webpack_require__(\"db54\").dash;\nvar fontAttrs = __webpack_require__(\"9845\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar filterOps = __webpack_require__(\"6c77\");\nvar COMPARISON_OPS2 = filterOps.COMPARISON_OPS2;\nvar INTERVAL_OPS = filterOps.INTERVAL_OPS;\n\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar scatterLineAttrs = scatterAttrs.line;\n\nmodule.exports = extendFlat({\n z: heatmapAttrs.z,\n x: heatmapAttrs.x,\n x0: heatmapAttrs.x0,\n dx: heatmapAttrs.dx,\n y: heatmapAttrs.y,\n y0: heatmapAttrs.y0,\n dy: heatmapAttrs.dy,\n text: heatmapAttrs.text,\n hovertext: heatmapAttrs.hovertext,\n transpose: heatmapAttrs.transpose,\n xtype: heatmapAttrs.xtype,\n ytype: heatmapAttrs.ytype,\n zhoverformat: heatmapAttrs.zhoverformat,\n hovertemplate: heatmapAttrs.hovertemplate,\n hoverongaps: heatmapAttrs.hoverongaps,\n connectgaps: extendFlat({}, heatmapAttrs.connectgaps, {\n \n }),\n\n fillcolor: {\n valType: 'color',\n \n editType: 'calc',\n \n },\n\n autocontour: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'calc',\n impliedEdits: {\n 'contours.start': undefined,\n 'contours.end': undefined,\n 'contours.size': undefined\n },\n \n },\n ncontours: {\n valType: 'integer',\n dflt: 15,\n min: 1,\n \n editType: 'calc',\n \n },\n\n contours: {\n type: {\n valType: 'enumerated',\n values: ['levels', 'constraint'],\n dflt: 'levels',\n \n editType: 'calc',\n \n },\n start: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n impliedEdits: {'^autocontour': false},\n \n },\n end: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n impliedEdits: {'^autocontour': false},\n \n },\n size: {\n valType: 'number',\n dflt: null,\n min: 0,\n \n editType: 'plot',\n impliedEdits: {'^autocontour': false},\n \n },\n coloring: {\n valType: 'enumerated',\n values: ['fill', 'heatmap', 'lines', 'none'],\n dflt: 'fill',\n \n editType: 'calc',\n \n },\n showlines: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'plot',\n \n },\n showlabels: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'plot',\n \n },\n labelfont: fontAttrs({\n editType: 'plot',\n colorEditType: 'style',\n \n }),\n labelformat: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n operation: {\n valType: 'enumerated',\n values: [].concat(COMPARISON_OPS2).concat(INTERVAL_OPS),\n \n dflt: '=',\n editType: 'calc',\n \n },\n value: {\n valType: 'any',\n dflt: 0,\n \n editType: 'calc',\n \n },\n editType: 'calc',\n impliedEdits: {'autocontour': false}\n },\n\n line: {\n color: extendFlat({}, scatterLineAttrs.color, {\n editType: 'style+colorbars',\n \n }),\n width: {\n valType: 'number',\n min: 0,\n \n editType: 'style+colorbars',\n \n },\n dash: dash,\n smoothing: extendFlat({}, scatterLineAttrs.smoothing, {\n \n }),\n editType: 'plot'\n }\n},\n colorScaleAttrs('', {\n cLetter: 'z',\n autoColorDflt: false,\n editTypeOverride: 'calc'\n })\n);\n\n\n/***/ }),\n\n/***/ \"442f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar main = __webpack_require__(\"b5e3\");\n\nexports.plot = main.plot;\nexports.newPlot = main.newPlot;\nexports.restyle = main.restyle;\nexports.relayout = main.relayout;\nexports.redraw = main.redraw;\nexports.update = main.update;\nexports._guiRestyle = main._guiRestyle;\nexports._guiRelayout = main._guiRelayout;\nexports._guiUpdate = main._guiUpdate;\nexports._storeDirectGUIEdit = main._storeDirectGUIEdit;\nexports.react = main.react;\nexports.extendTraces = main.extendTraces;\nexports.prependTraces = main.prependTraces;\nexports.addTraces = main.addTraces;\nexports.deleteTraces = main.deleteTraces;\nexports.moveTraces = main.moveTraces;\nexports.purge = main.purge;\nexports.addFrames = main.addFrames;\nexports.deleteFrames = main.deleteFrames;\nexports.animate = main.animate;\nexports.setPlotConfig = main.setPlotConfig;\n\nexports.toImage = __webpack_require__(\"a288\");\nexports.validate = __webpack_require__(\"3fb2\");\nexports.downloadImage = __webpack_require__(\"ad91\");\n\nvar templateApi = __webpack_require__(\"2d9a\");\nexports.makeTemplate = templateApi.makeTemplate;\nexports.validateTemplate = templateApi.validateTemplate;\n\n\n/***/ }),\n\n/***/ \"447e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attributes = __webpack_require__(\"86d2\");\nvar constants = __webpack_require__(\"000c\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n var z = coerce('z');\n if(z === undefined || !z.length || !z[0] || !z[0].length) {\n traceOut.visible = false;\n return;\n }\n\n coerce('x0');\n coerce('y0');\n coerce('dx');\n coerce('dy');\n var colormodel = coerce('colormodel');\n\n coerce('zmin', constants.colormodel[colormodel].min);\n coerce('zmax', constants.colormodel[colormodel].max);\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n traceOut._length = null;\n};\n\n\n/***/ }),\n\n/***/ \"44ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar classof = __webpack_require__(\"c6b6\");\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\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/***/ \"44c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createTexture = __webpack_require__(\"1d5b\")\n\nmodule.exports = createFBO\n\nvar colorAttachmentArrays = null\nvar FRAMEBUFFER_UNSUPPORTED\nvar FRAMEBUFFER_INCOMPLETE_ATTACHMENT\nvar FRAMEBUFFER_INCOMPLETE_DIMENSIONS\nvar FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\n\nfunction saveFBOState(gl) {\n var fbo = gl.getParameter(gl.FRAMEBUFFER_BINDING)\n var rbo = gl.getParameter(gl.RENDERBUFFER_BINDING)\n var tex = gl.getParameter(gl.TEXTURE_BINDING_2D)\n return [fbo, rbo, tex]\n}\n\nfunction restoreFBOState(gl, data) {\n gl.bindFramebuffer(gl.FRAMEBUFFER, data[0])\n gl.bindRenderbuffer(gl.RENDERBUFFER, data[1])\n gl.bindTexture(gl.TEXTURE_2D, data[2])\n}\n\nfunction lazyInitColorAttachments(gl, ext) {\n var maxColorAttachments = gl.getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL)\n colorAttachmentArrays = new Array(maxColorAttachments + 1)\n for(var i=0; i<=maxColorAttachments; ++i) {\n var x = new Array(maxColorAttachments)\n for(var j=0; j 1) {\n ext.drawBuffersWEBGL(colorAttachmentArrays[numColors])\n }\n\n //Allocate depth/stencil buffers\n var WEBGL_depth_texture = gl.getExtension('WEBGL_depth_texture')\n if(WEBGL_depth_texture) {\n if(useStencil) {\n fbo.depth = initTexture(gl, width, height,\n WEBGL_depth_texture.UNSIGNED_INT_24_8_WEBGL,\n gl.DEPTH_STENCIL,\n gl.DEPTH_STENCIL_ATTACHMENT)\n } else if(useDepth) {\n fbo.depth = initTexture(gl, width, height,\n gl.UNSIGNED_SHORT,\n gl.DEPTH_COMPONENT,\n gl.DEPTH_ATTACHMENT)\n }\n } else {\n if(useDepth && useStencil) {\n fbo._depth_rb = initRenderBuffer(gl, width, height, gl.DEPTH_STENCIL, gl.DEPTH_STENCIL_ATTACHMENT)\n } else if(useDepth) {\n fbo._depth_rb = initRenderBuffer(gl, width, height, gl.DEPTH_COMPONENT16, gl.DEPTH_ATTACHMENT)\n } else if(useStencil) {\n fbo._depth_rb = initRenderBuffer(gl, width, height, gl.STENCIL_INDEX, gl.STENCIL_ATTACHMENT)\n }\n }\n\n //Check frame buffer state\n var status = gl.checkFramebufferStatus(gl.FRAMEBUFFER)\n if(status !== gl.FRAMEBUFFER_COMPLETE) {\n\n //Release all partially allocated resources\n fbo._destroyed = true\n\n //Release all resources\n gl.bindFramebuffer(gl.FRAMEBUFFER, null)\n gl.deleteFramebuffer(fbo.handle)\n fbo.handle = null\n if(fbo.depth) {\n fbo.depth.dispose()\n fbo.depth = null\n }\n if(fbo._depth_rb) {\n gl.deleteRenderbuffer(fbo._depth_rb)\n fbo._depth_rb = null\n }\n for(var i=0; i maxFBOSize ||\n h < 0 || h > maxFBOSize) {\n throw new Error('gl-fbo: Can\\'t resize FBO, invalid dimensions')\n }\n\n //Update shape\n fbo._shape[0] = w\n fbo._shape[1] = h\n\n //Save framebuffer state\n var state = saveFBOState(gl)\n\n //Resize framebuffer attachments\n for(var i=0; i maxFBOSize || height < 0 || height > maxFBOSize) {\n throw new Error('gl-fbo: Parameters are too large for FBO')\n }\n\n //Handle each option type\n options = options || {}\n\n //Figure out number of color buffers to use\n var numColors = 1\n if('color' in options) {\n numColors = Math.max(options.color|0, 0)\n if(numColors < 0) {\n throw new Error('gl-fbo: Must specify a nonnegative number of colors')\n }\n if(numColors > 1) {\n //Check if multiple render targets supported\n if(!WEBGL_draw_buffers) {\n throw new Error('gl-fbo: Multiple draw buffer extension not supported')\n } else if(numColors > gl.getParameter(WEBGL_draw_buffers.MAX_COLOR_ATTACHMENTS_WEBGL)) {\n throw new Error('gl-fbo: Context does not support ' + numColors + ' draw buffers')\n }\n }\n }\n\n //Determine whether to use floating point textures\n var colorType = gl.UNSIGNED_BYTE\n var OES_texture_float = gl.getExtension('OES_texture_float')\n if(options.float && numColors > 0) {\n if(!OES_texture_float) {\n throw new Error('gl-fbo: Context does not support floating point textures')\n }\n colorType = gl.FLOAT\n } else if(options.preferFloat && numColors > 0) {\n if(OES_texture_float) {\n colorType = gl.FLOAT\n }\n }\n\n //Check if we should use depth buffer\n var useDepth = true\n if('depth' in options) {\n useDepth = !!options.depth\n }\n\n //Check if we should use a stencil buffer\n var useStencil = false\n if('stencil' in options) {\n useStencil = !!options.stencil\n }\n\n return new Framebuffer(\n gl,\n width,\n height,\n colorType,\n numColors,\n useDepth,\n useStencil,\n WEBGL_draw_buffers)\n}\n\n\n/***/ }),\n\n/***/ \"44d4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"ea27\");\n\n\n/***/ }),\n\n/***/ \"44fe\":\n/***/ (function(module, exports) {\n\nmodule.exports = rotateY;\n\n/**\n * Rotates a matrix by the given angle around the Y axis\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\nfunction rotateY(out, a, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad),\n a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3],\n a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n\n if (a !== out) { // If the source and destination differ, copy the unchanged rows\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n // Perform axis-specific matrix multiplication\n out[0] = a00 * c - a20 * s;\n out[1] = a01 * c - a21 * s;\n out[2] = a02 * c - a22 * s;\n out[3] = a03 * c - a23 * s;\n out[8] = a00 * s + a20 * c;\n out[9] = a01 * s + a21 * c;\n out[10] = a02 * s + a22 * c;\n out[11] = a03 * s + a23 * c;\n return out;\n};\n\n/***/ }),\n\n/***/ \"45a2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar axesAttrs = __webpack_require__(\"d798\");\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar ternaryAxesAttrs = {\n title: {\n text: axesAttrs.title.text,\n font: axesAttrs.title.font\n // TODO does standoff here make sense?\n },\n color: axesAttrs.color,\n // ticks\n tickmode: axesAttrs.tickmode,\n nticks: extendFlat({}, axesAttrs.nticks, {dflt: 6, min: 1}),\n tick0: axesAttrs.tick0,\n dtick: axesAttrs.dtick,\n tickvals: axesAttrs.tickvals,\n ticktext: axesAttrs.ticktext,\n ticks: axesAttrs.ticks,\n ticklen: axesAttrs.ticklen,\n tickwidth: axesAttrs.tickwidth,\n tickcolor: axesAttrs.tickcolor,\n showticklabels: axesAttrs.showticklabels,\n showtickprefix: axesAttrs.showtickprefix,\n tickprefix: axesAttrs.tickprefix,\n showticksuffix: axesAttrs.showticksuffix,\n ticksuffix: axesAttrs.ticksuffix,\n showexponent: axesAttrs.showexponent,\n exponentformat: axesAttrs.exponentformat,\n separatethousands: axesAttrs.separatethousands,\n tickfont: axesAttrs.tickfont,\n tickangle: axesAttrs.tickangle,\n tickformat: axesAttrs.tickformat,\n tickformatstops: axesAttrs.tickformatstops,\n hoverformat: axesAttrs.hoverformat,\n // lines and grids\n showline: extendFlat({}, axesAttrs.showline, {dflt: true}),\n linecolor: axesAttrs.linecolor,\n linewidth: axesAttrs.linewidth,\n showgrid: extendFlat({}, axesAttrs.showgrid, {dflt: true}),\n gridcolor: axesAttrs.gridcolor,\n gridwidth: axesAttrs.gridwidth,\n layer: axesAttrs.layer,\n // range\n min: {\n valType: 'number',\n dflt: 0,\n \n min: 0,\n \n },\n _deprecated: {\n title: axesAttrs._deprecated.title,\n titlefont: axesAttrs._deprecated.titlefont\n }\n};\n\nvar attrs = module.exports = overrideAll({\n domain: domainAttrs({name: 'ternary'}),\n\n bgcolor: {\n valType: 'color',\n \n dflt: colorAttrs.background,\n \n },\n sum: {\n valType: 'number',\n \n dflt: 1,\n min: 0,\n \n },\n aaxis: ternaryAxesAttrs,\n baxis: ternaryAxesAttrs,\n caxis: ternaryAxesAttrs\n}, 'plot', 'from-root');\n\n// set uirevisions outside of `overrideAll` so we can get `editType: none`\nattrs.uirevision = {\n valType: 'any',\n \n editType: 'none',\n \n};\n\nattrs.aaxis.uirevision = attrs.baxis.uirevision = attrs.caxis.uirevision = {\n valType: 'any',\n \n editType: 'none',\n \n};\n\n\n/***/ }),\n\n/***/ \"45be\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar constants = __webpack_require__(\"0804\");\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar geoAxesAttrs = {\n range: {\n valType: 'info_array',\n \n items: [\n {valType: 'number'},\n {valType: 'number'}\n ],\n \n },\n showgrid: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n tick0: {\n valType: 'number',\n \n dflt: 0,\n \n },\n dtick: {\n valType: 'number',\n \n \n },\n gridcolor: {\n valType: 'color',\n \n dflt: colorAttrs.lightLine,\n \n },\n gridwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n }\n};\n\nvar attrs = module.exports = overrideAll({\n domain: domainAttrs({name: 'geo'}, {\n \n }),\n\n fitbounds: {\n valType: 'enumerated',\n values: [false, 'locations', 'geojson'],\n dflt: false,\n \n editType: 'plot',\n \n },\n\n resolution: {\n valType: 'enumerated',\n values: [110, 50],\n \n dflt: 110,\n coerceNumber: true,\n \n },\n scope: {\n valType: 'enumerated',\n \n values: Object.keys(constants.scopeDefaults),\n dflt: 'world',\n \n },\n projection: {\n type: {\n valType: 'enumerated',\n \n values: Object.keys(constants.projNames),\n \n },\n rotation: {\n lon: {\n valType: 'number',\n \n \n },\n lat: {\n valType: 'number',\n \n \n },\n roll: {\n valType: 'number',\n \n \n }\n },\n parallels: {\n valType: 'info_array',\n \n items: [\n {valType: 'number'},\n {valType: 'number'}\n ],\n \n },\n scale: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n },\n center: {\n lon: {\n valType: 'number',\n \n \n },\n lat: {\n valType: 'number',\n \n \n }\n },\n visible: {\n valType: 'boolean',\n \n dflt: true,\n \n },\n showcoastlines: {\n valType: 'boolean',\n \n \n },\n coastlinecolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n coastlinewidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showland: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n landcolor: {\n valType: 'color',\n \n dflt: constants.landColor,\n \n },\n showocean: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n oceancolor: {\n valType: 'color',\n \n dflt: constants.waterColor,\n \n },\n showlakes: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n lakecolor: {\n valType: 'color',\n \n dflt: constants.waterColor,\n \n },\n showrivers: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n rivercolor: {\n valType: 'color',\n \n dflt: constants.waterColor,\n \n },\n riverwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showcountries: {\n valType: 'boolean',\n \n \n },\n countrycolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n countrywidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showsubunits: {\n valType: 'boolean',\n \n \n },\n subunitcolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n subunitwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showframe: {\n valType: 'boolean',\n \n \n },\n framecolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n framewidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n bgcolor: {\n valType: 'color',\n \n dflt: colorAttrs.background,\n \n },\n lonaxis: geoAxesAttrs,\n lataxis: geoAxesAttrs\n}, 'plot', 'from-root');\n\n// set uirevision outside of overrideAll so it can be `editType: 'none'`\nattrs.uirevision = {\n valType: 'any',\n \n editType: 'none',\n \n};\n\n\n/***/ }),\n\n/***/ \"4633\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n\n\n/***/ }),\n\n/***/ \"464d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nmodule.exports = function style(gd) {\n d3.select(gd).selectAll('.im image')\n .style('opacity', function(d) {\n return d.trace.opacity;\n });\n};\n\n\n/***/ }),\n\n/***/ \"4665\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar callable = __webpack_require__(\"1a94\")\n , forEach = __webpack_require__(\"6858\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb/*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n\n\n/***/ }),\n\n/***/ \"469b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\n/*\n * Create or update an observer. This function is designed to be\n * idempotent so that it can be called over and over as the component\n * updates, and will attach and detach listeners as needed.\n *\n * @param {optional object} container\n * An object on which the observer is stored. This is the mechanism\n * by which it is idempotent. If it already exists, another won't be\n * added. Each time it's called, the value lookup table is updated.\n * @param {array} commandList\n * An array of commands, following either `buttons` of `updatemenus`\n * or `steps` of `sliders`.\n * @param {function} onchange\n * A listener called when the value is changed. Receives data object\n * with information about the new state.\n */\nexports.manageCommandObserver = function(gd, container, commandList, onchange) {\n var ret = {};\n var enabled = true;\n\n if(container && container._commandObserver) {\n ret = container._commandObserver;\n }\n\n if(!ret.cache) {\n ret.cache = {};\n }\n\n // Either create or just recompute this:\n ret.lookupTable = {};\n\n var binding = exports.hasSimpleAPICommandBindings(gd, commandList, ret.lookupTable);\n\n if(container && container._commandObserver) {\n if(!binding) {\n // If container exists and there are no longer any bindings,\n // remove existing:\n if(container._commandObserver.remove) {\n container._commandObserver.remove();\n container._commandObserver = null;\n return ret;\n }\n } else {\n // If container exists and there *are* bindings, then the lookup\n // table should have been updated and check is already attached,\n // so there's nothing to be done:\n return ret;\n }\n }\n\n // Determine whether there's anything to do for this binding:\n\n if(binding) {\n // Build the cache:\n bindingValueHasChanged(gd, binding, ret.cache);\n\n ret.check = function check() {\n if(!enabled) return;\n\n var update = bindingValueHasChanged(gd, binding, ret.cache);\n\n if(update.changed && onchange) {\n // Disable checks for the duration of this command in order to avoid\n // infinite loops:\n if(ret.lookupTable[update.value] !== undefined) {\n ret.disable();\n Promise.resolve(onchange({\n value: update.value,\n type: binding.type,\n prop: binding.prop,\n traces: binding.traces,\n index: ret.lookupTable[update.value]\n })).then(ret.enable, ret.enable);\n }\n }\n\n return update.changed;\n };\n\n var checkEvents = [\n 'plotly_relayout',\n 'plotly_redraw',\n 'plotly_restyle',\n 'plotly_update',\n 'plotly_animatingframe',\n 'plotly_afterplot'\n ];\n\n for(var i = 0; i < checkEvents.length; i++) {\n gd._internalOn(checkEvents[i], ret.check);\n }\n\n ret.remove = function() {\n for(var i = 0; i < checkEvents.length; i++) {\n gd._removeInternalListener(checkEvents[i], ret.check);\n }\n };\n } else {\n // TODO: It'd be really neat to actually give a *reason* for this, but at least a warning\n // is a start\n Lib.log('Unable to automatically bind plot updates to API command');\n\n ret.lookupTable = {};\n ret.remove = function() {};\n }\n\n ret.disable = function disable() {\n enabled = false;\n };\n\n ret.enable = function enable() {\n enabled = true;\n };\n\n if(container) {\n container._commandObserver = ret;\n }\n\n return ret;\n};\n\n/*\n * This function checks to see if an array of objects containing\n * method and args properties is compatible with automatic two-way\n * binding. The criteria right now are that\n *\n * 1. multiple traces may be affected\n * 2. only one property may be affected\n * 3. the same property must be affected by all commands\n */\nexports.hasSimpleAPICommandBindings = function(gd, commandList, bindingsByValue) {\n var i;\n var n = commandList.length;\n\n var refBinding;\n\n for(i = 0; i < n; i++) {\n var binding;\n var command = commandList[i];\n var method = command.method;\n var args = command.args;\n\n if(!Array.isArray(args)) args = [];\n\n // If any command has no method, refuse to bind:\n if(!method) {\n return false;\n }\n var bindings = exports.computeAPICommandBindings(gd, method, args);\n\n // Right now, handle one and *only* one property being set:\n if(bindings.length !== 1) {\n return false;\n }\n\n if(!refBinding) {\n refBinding = bindings[0];\n if(Array.isArray(refBinding.traces)) {\n refBinding.traces.sort();\n }\n } else {\n binding = bindings[0];\n if(binding.type !== refBinding.type) {\n return false;\n }\n if(binding.prop !== refBinding.prop) {\n return false;\n }\n if(Array.isArray(refBinding.traces)) {\n if(Array.isArray(binding.traces)) {\n binding.traces.sort();\n for(var j = 0; j < refBinding.traces.length; j++) {\n if(refBinding.traces[j] !== binding.traces[j]) {\n return false;\n }\n }\n } else {\n return false;\n }\n } else {\n if(binding.prop !== refBinding.prop) {\n return false;\n }\n }\n }\n\n binding = bindings[0];\n var value = binding.value;\n if(Array.isArray(value)) {\n if(value.length === 1) {\n value = value[0];\n } else {\n return false;\n }\n }\n if(bindingsByValue) {\n bindingsByValue[value] = i;\n }\n }\n\n return refBinding;\n};\n\nfunction bindingValueHasChanged(gd, binding, cache) {\n var container, value, obj;\n var changed = false;\n\n if(binding.type === 'data') {\n // If it's data, we need to get a trace. Based on the limited scope\n // of what we cover, we can just take the first trace from the list,\n // or otherwise just the first trace:\n container = gd._fullData[binding.traces !== null ? binding.traces[0] : 0];\n } else if(binding.type === 'layout') {\n container = gd._fullLayout;\n } else {\n return false;\n }\n\n value = Lib.nestedProperty(container, binding.prop).get();\n\n obj = cache[binding.type] = cache[binding.type] || {};\n\n if(obj.hasOwnProperty(binding.prop)) {\n if(obj[binding.prop] !== value) {\n changed = true;\n }\n }\n\n obj[binding.prop] = value;\n\n return {\n changed: changed,\n value: value\n };\n}\n\n/*\n * Execute an API command. There's really not much to this; it just provides\n * a common hook so that implementations don't need to be synchronized across\n * multiple components with the ability to invoke API commands.\n *\n * @param {string} method\n * The name of the plotly command to execute. Must be one of 'animate',\n * 'restyle', 'relayout', 'update'.\n * @param {array} args\n * A list of arguments passed to the API command\n */\nexports.executeAPICommand = function(gd, method, args) {\n if(method === 'skip') return Promise.resolve();\n\n var _method = Registry.apiMethodRegistry[method];\n var allArgs = [gd];\n if(!Array.isArray(args)) args = [];\n\n for(var i = 0; i < args.length; i++) {\n allArgs.push(args[i]);\n }\n\n return _method.apply(null, allArgs).catch(function(err) {\n Lib.warn('API call to Plotly.' + method + ' rejected.', err);\n return Promise.reject(err);\n });\n};\n\nexports.computeAPICommandBindings = function(gd, method, args) {\n var bindings;\n\n if(!Array.isArray(args)) args = [];\n\n switch(method) {\n case 'restyle':\n bindings = computeDataBindings(gd, args);\n break;\n case 'relayout':\n bindings = computeLayoutBindings(gd, args);\n break;\n case 'update':\n bindings = computeDataBindings(gd, [args[0], args[2]])\n .concat(computeLayoutBindings(gd, [args[1]]));\n break;\n case 'animate':\n bindings = computeAnimateBindings(gd, args);\n break;\n default:\n // This is the case where intelligent logic about what affects\n // this command is not implemented. It causes no ill effects.\n // For example, addFrames simply won't bind to a control component.\n bindings = [];\n }\n return bindings;\n};\n\nfunction computeAnimateBindings(gd, args) {\n // We'll assume that the only relevant modification an animation\n // makes that's meaningfully tracked is the frame:\n if(Array.isArray(args[0]) && args[0].length === 1 && ['string', 'number'].indexOf(typeof args[0][0]) !== -1) {\n return [{type: 'layout', prop: '_currentFrame', value: args[0][0].toString()}];\n } else {\n return [];\n }\n}\n\nfunction computeLayoutBindings(gd, args) {\n var bindings = [];\n\n var astr = args[0];\n var aobj = {};\n if(typeof astr === 'string') {\n aobj[astr] = args[1];\n } else if(Lib.isPlainObject(astr)) {\n aobj = astr;\n } else {\n return bindings;\n }\n\n crawl(aobj, function(path, attrName, attr) {\n bindings.push({type: 'layout', prop: path, value: attr});\n }, '', 0);\n\n return bindings;\n}\n\nfunction computeDataBindings(gd, args) {\n var traces, astr, val, aobj;\n var bindings = [];\n\n // Logic copied from Plotly.restyle:\n astr = args[0];\n val = args[1];\n traces = args[2];\n aobj = {};\n if(typeof astr === 'string') {\n aobj[astr] = val;\n } else if(Lib.isPlainObject(astr)) {\n // the 3-arg form\n aobj = astr;\n\n if(traces === undefined) {\n traces = val;\n }\n } else {\n return bindings;\n }\n\n if(traces === undefined) {\n // Explicitly assign this to null instead of undefined:\n traces = null;\n }\n\n crawl(aobj, function(path, attrName, _attr) {\n var thisTraces;\n var attr;\n\n if(Array.isArray(_attr)) {\n attr = _attr.slice();\n\n var nAttr = Math.min(attr.length, gd.data.length);\n if(traces) {\n nAttr = Math.min(nAttr, traces.length);\n }\n thisTraces = [];\n for(var j = 0; j < nAttr; j++) {\n thisTraces[j] = traces ? traces[j] : j;\n }\n } else {\n attr = _attr;\n thisTraces = traces ? traces.slice() : null;\n }\n\n // Convert [7] to just 7 when traces is null:\n if(thisTraces === null) {\n if(Array.isArray(attr)) {\n attr = attr[0];\n }\n } else if(Array.isArray(thisTraces)) {\n if(!Array.isArray(attr)) {\n var tmp = attr;\n attr = [];\n for(var i = 0; i < thisTraces.length; i++) {\n attr[i] = tmp;\n }\n }\n attr.length = Math.min(thisTraces.length, attr.length);\n }\n\n bindings.push({\n type: 'data',\n prop: path,\n traces: thisTraces,\n value: attr\n });\n }, '', 0);\n\n return bindings;\n}\n\nfunction crawl(attrs, callback, path, depth) {\n Object.keys(attrs).forEach(function(attrName) {\n var attr = attrs[attrName];\n\n if(attrName[0] === '_') return;\n\n var thisPath = path + (depth > 0 ? '.' : '') + attrName;\n\n if(Lib.isPlainObject(attr)) {\n crawl(attr, callback, thisPath, depth + 1);\n } else {\n // Only execute the callback on leaf nodes:\n callback(thisPath, attrName, attr);\n }\n });\n}\n\n\n/***/ }),\n\n/***/ \"46bc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar inCircle = __webpack_require__(\"0b1d\")[4]\nvar bsearch = __webpack_require__(\"cc77\")\n\nmodule.exports = delaunayRefine\n\nfunction testFlip(points, triangulation, stack, a, b, x) {\n var y = triangulation.opposite(a, b)\n\n //Test boundary edge\n if(y < 0) {\n return\n }\n\n //Swap edge if order flipped\n if(b < a) {\n var tmp = a\n a = b\n b = tmp\n tmp = x\n x = y\n y = tmp\n }\n\n //Test if edge is constrained\n if(triangulation.isConstraint(a, b)) {\n return\n }\n\n //Test if edge is delaunay\n if(inCircle(points[a], points[b], points[x], points[y]) < 0) {\n stack.push(a, b)\n }\n}\n\n//Assume edges are sorted lexicographically\nfunction delaunayRefine(points, triangulation) {\n var stack = []\n\n var numPoints = points.length\n var stars = triangulation.stars\n for(var a=0; a 0) {\n var b = stack.pop()\n var a = stack.pop()\n\n //Find opposite pairs\n var x = -1, y = -1\n var star = stars[a]\n for(var i=1; i= 0) {\n continue\n }\n\n //Flip the edge\n triangulation.flip(a, b)\n\n //Test flipping neighboring edges\n testFlip(points, triangulation, stack, x, a, y)\n testFlip(points, triangulation, stack, a, y, x)\n testFlip(points, triangulation, stack, y, b, x)\n testFlip(points, triangulation, stack, b, x, y)\n }\n}\n\n\n/***/ }),\n\n/***/ \"46c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"60c5\");\n\n\n/***/ }),\n\n/***/ \"4746\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"48bb\");\n\n\n/***/ }),\n\n/***/ \"47cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = function orientText(trace, xaxis, yaxis, xy, dxy, refDxy) {\n var dx = dxy[0] * trace.dpdx(xaxis);\n var dy = dxy[1] * trace.dpdy(yaxis);\n var flip = 1;\n\n var offsetMultiplier = 1.0;\n if(refDxy) {\n var l1 = Math.sqrt(dxy[0] * dxy[0] + dxy[1] * dxy[1]);\n var l2 = Math.sqrt(refDxy[0] * refDxy[0] + refDxy[1] * refDxy[1]);\n var dot = (dxy[0] * refDxy[0] + dxy[1] * refDxy[1]) / l1 / l2;\n offsetMultiplier = Math.max(0.0, dot);\n }\n\n var angle = Math.atan2(dy, dx) * 180 / Math.PI;\n if(angle < -90) {\n angle += 180;\n flip = -flip;\n } else if(angle > 90) {\n angle -= 180;\n flip = -flip;\n }\n\n return {\n angle: angle,\n flip: flip,\n p: trace.c2p(xy, xaxis, yaxis),\n offsetMultplier: offsetMultiplier\n };\n};\n\n\n/***/ }),\n\n/***/ \"4852\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar scales = {\n 'Greys': [\n [0, 'rgb(0,0,0)'], [1, 'rgb(255,255,255)']\n ],\n\n 'YlGnBu': [\n [0, 'rgb(8,29,88)'], [0.125, 'rgb(37,52,148)'],\n [0.25, 'rgb(34,94,168)'], [0.375, 'rgb(29,145,192)'],\n [0.5, 'rgb(65,182,196)'], [0.625, 'rgb(127,205,187)'],\n [0.75, 'rgb(199,233,180)'], [0.875, 'rgb(237,248,217)'],\n [1, 'rgb(255,255,217)']\n ],\n\n 'Greens': [\n [0, 'rgb(0,68,27)'], [0.125, 'rgb(0,109,44)'],\n [0.25, 'rgb(35,139,69)'], [0.375, 'rgb(65,171,93)'],\n [0.5, 'rgb(116,196,118)'], [0.625, 'rgb(161,217,155)'],\n [0.75, 'rgb(199,233,192)'], [0.875, 'rgb(229,245,224)'],\n [1, 'rgb(247,252,245)']\n ],\n\n 'YlOrRd': [\n [0, 'rgb(128,0,38)'], [0.125, 'rgb(189,0,38)'],\n [0.25, 'rgb(227,26,28)'], [0.375, 'rgb(252,78,42)'],\n [0.5, 'rgb(253,141,60)'], [0.625, 'rgb(254,178,76)'],\n [0.75, 'rgb(254,217,118)'], [0.875, 'rgb(255,237,160)'],\n [1, 'rgb(255,255,204)']\n ],\n\n 'Bluered': [\n [0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']\n ],\n\n // modified RdBu based on\n // http://www.kennethmoreland.com/color-maps/\n 'RdBu': [\n [0, 'rgb(5,10,172)'], [0.35, 'rgb(106,137,247)'],\n [0.5, 'rgb(190,190,190)'], [0.6, 'rgb(220,170,132)'],\n [0.7, 'rgb(230,145,90)'], [1, 'rgb(178,10,28)']\n ],\n\n // Scale for non-negative numeric values\n 'Reds': [\n [0, 'rgb(220,220,220)'], [0.2, 'rgb(245,195,157)'],\n [0.4, 'rgb(245,160,105)'], [1, 'rgb(178,10,28)']\n ],\n\n // Scale for non-positive numeric values\n 'Blues': [\n [0, 'rgb(5,10,172)'], [0.35, 'rgb(40,60,190)'],\n [0.5, 'rgb(70,100,245)'], [0.6, 'rgb(90,120,245)'],\n [0.7, 'rgb(106,137,247)'], [1, 'rgb(220,220,220)']\n ],\n\n 'Picnic': [\n [0, 'rgb(0,0,255)'], [0.1, 'rgb(51,153,255)'],\n [0.2, 'rgb(102,204,255)'], [0.3, 'rgb(153,204,255)'],\n [0.4, 'rgb(204,204,255)'], [0.5, 'rgb(255,255,255)'],\n [0.6, 'rgb(255,204,255)'], [0.7, 'rgb(255,153,255)'],\n [0.8, 'rgb(255,102,204)'], [0.9, 'rgb(255,102,102)'],\n [1, 'rgb(255,0,0)']\n ],\n\n 'Rainbow': [\n [0, 'rgb(150,0,90)'], [0.125, 'rgb(0,0,200)'],\n [0.25, 'rgb(0,25,255)'], [0.375, 'rgb(0,152,255)'],\n [0.5, 'rgb(44,255,150)'], [0.625, 'rgb(151,255,0)'],\n [0.75, 'rgb(255,234,0)'], [0.875, 'rgb(255,111,0)'],\n [1, 'rgb(255,0,0)']\n ],\n\n 'Portland': [\n [0, 'rgb(12,51,131)'], [0.25, 'rgb(10,136,186)'],\n [0.5, 'rgb(242,211,56)'], [0.75, 'rgb(242,143,56)'],\n [1, 'rgb(217,30,30)']\n ],\n\n 'Jet': [\n [0, 'rgb(0,0,131)'], [0.125, 'rgb(0,60,170)'],\n [0.375, 'rgb(5,255,255)'], [0.625, 'rgb(255,255,0)'],\n [0.875, 'rgb(250,0,0)'], [1, 'rgb(128,0,0)']\n ],\n\n 'Hot': [\n [0, 'rgb(0,0,0)'], [0.3, 'rgb(230,0,0)'],\n [0.6, 'rgb(255,210,0)'], [1, 'rgb(255,255,255)']\n ],\n\n 'Blackbody': [\n [0, 'rgb(0,0,0)'], [0.2, 'rgb(230,0,0)'],\n [0.4, 'rgb(230,210,0)'], [0.7, 'rgb(255,255,255)'],\n [1, 'rgb(160,200,255)']\n ],\n\n 'Earth': [\n [0, 'rgb(0,0,130)'], [0.1, 'rgb(0,180,180)'],\n [0.2, 'rgb(40,210,40)'], [0.4, 'rgb(230,230,50)'],\n [0.6, 'rgb(120,70,20)'], [1, 'rgb(255,255,255)']\n ],\n\n 'Electric': [\n [0, 'rgb(0,0,0)'], [0.15, 'rgb(30,0,100)'],\n [0.4, 'rgb(120,0,100)'], [0.6, 'rgb(160,90,0)'],\n [0.8, 'rgb(230,200,0)'], [1, 'rgb(255,250,220)']\n ],\n\n 'Viridis': [\n [0, '#440154'], [0.06274509803921569, '#48186a'],\n [0.12549019607843137, '#472d7b'], [0.18823529411764706, '#424086'],\n [0.25098039215686274, '#3b528b'], [0.3137254901960784, '#33638d'],\n [0.3764705882352941, '#2c728e'], [0.4392156862745098, '#26828e'],\n [0.5019607843137255, '#21918c'], [0.5647058823529412, '#1fa088'],\n [0.6274509803921569, '#28ae80'], [0.6901960784313725, '#3fbc73'],\n [0.7529411764705882, '#5ec962'], [0.8156862745098039, '#84d44b'],\n [0.8784313725490196, '#addc30'], [0.9411764705882353, '#d8e219'],\n [1, '#fde725']\n ],\n\n 'Cividis': [\n [0.000000, 'rgb(0,32,76)'], [0.058824, 'rgb(0,42,102)'],\n [0.117647, 'rgb(0,52,110)'], [0.176471, 'rgb(39,63,108)'],\n [0.235294, 'rgb(60,74,107)'], [0.294118, 'rgb(76,85,107)'],\n [0.352941, 'rgb(91,95,109)'], [0.411765, 'rgb(104,106,112)'],\n [0.470588, 'rgb(117,117,117)'], [0.529412, 'rgb(131,129,120)'],\n [0.588235, 'rgb(146,140,120)'], [0.647059, 'rgb(161,152,118)'],\n [0.705882, 'rgb(176,165,114)'], [0.764706, 'rgb(192,177,109)'],\n [0.823529, 'rgb(209,191,102)'], [0.882353, 'rgb(225,204,92)'],\n [0.941176, 'rgb(243,219,79)'], [1.000000, 'rgb(255,233,69)']\n ]\n};\n\nvar defaultScale = scales.RdBu;\n\nfunction getScale(scl, dflt) {\n if(!dflt) dflt = defaultScale;\n if(!scl) return dflt;\n\n function parseScale() {\n try {\n scl = scales[scl] || JSON.parse(scl);\n } catch(e) {\n scl = dflt;\n }\n }\n\n if(typeof scl === 'string') {\n parseScale();\n // occasionally scl is double-JSON encoded...\n if(typeof scl === 'string') parseScale();\n }\n\n if(!isValidScaleArray(scl)) return dflt;\n return scl;\n}\n\n\nfunction isValidScaleArray(scl) {\n var highestVal = 0;\n\n if(!Array.isArray(scl) || scl.length < 2) return false;\n\n if(!scl[0] || !scl[scl.length - 1]) return false;\n\n if(+scl[0][0] !== 0 || +scl[scl.length - 1][0] !== 1) return false;\n\n for(var i = 0; i < scl.length; i++) {\n var si = scl[i];\n\n if(si.length !== 2 || +si[0] < highestVal || !tinycolor(si[1]).isValid()) {\n return false;\n }\n\n highestVal = +si[0];\n }\n\n return true;\n}\n\nfunction isValidScale(scl) {\n if(scales[scl] !== undefined) return true;\n else return isValidScaleArray(scl);\n}\n\nmodule.exports = {\n scales: scales,\n defaultScale: defaultScale,\n\n get: getScale,\n isValid: isValidScale\n};\n\n\n/***/ }),\n\n/***/ \"487e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createLines\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"c185\").line\n\nvar MAJOR_AXIS = [0,0,0]\nvar MINOR_AXIS = [0,0,0]\nvar SCREEN_AXIS = [0,0,0]\nvar OFFSET_VEC = [0,0,0]\nvar SHAPE = [1,1]\n\nfunction zeroVec(a) {\n a[0] = a[1] = a[2] = 0\n return a\n}\n\nfunction copyVec(a,b) {\n a[0] = b[0]\n a[1] = b[1]\n a[2] = b[2]\n return a\n}\n\nfunction Lines(gl, vertBuffer, vao, shader, tickCount, tickOffset, gridCount, gridOffset) {\n this.gl = gl\n this.vertBuffer = vertBuffer\n this.vao = vao\n this.shader = shader\n this.tickCount = tickCount\n this.tickOffset = tickOffset\n this.gridCount = gridCount\n this.gridOffset = gridOffset\n}\n\nvar proto = Lines.prototype\n\nproto.bind = function(model, view, projection) {\n this.shader.bind()\n this.shader.uniforms.model = model\n this.shader.uniforms.view = view\n this.shader.uniforms.projection = projection\n\n SHAPE[0] = this.gl.drawingBufferWidth\n SHAPE[1] = this.gl.drawingBufferHeight\n\n this.shader.uniforms.screenShape = SHAPE\n this.vao.bind()\n}\n\nproto.unbind = function() {\n this.vao.unbind()\n}\n\nproto.drawAxisLine = function(j, bounds, offset, color, lineWidth) {\n var minorAxis = zeroVec(MINOR_AXIS)\n this.shader.uniforms.majorAxis = MINOR_AXIS\n\n minorAxis[j] = bounds[1][j] - bounds[0][j]\n this.shader.uniforms.minorAxis = minorAxis\n\n var noffset = copyVec(OFFSET_VEC, offset)\n noffset[j] += bounds[0][j]\n this.shader.uniforms.offset = noffset\n\n this.shader.uniforms.lineWidth = lineWidth\n\n this.shader.uniforms.color = color\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[(j+2)%3] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.vao.draw(this.gl.TRIANGLES, 6)\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[(j+1)%3] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.vao.draw(this.gl.TRIANGLES, 6)\n}\n\nproto.drawAxisTicks = function(j, offset, minorAxis, color, lineWidth) {\n if(!this.tickCount[j]) {\n return\n }\n\n var majorAxis = zeroVec(MAJOR_AXIS)\n majorAxis[j] = 1\n this.shader.uniforms.majorAxis = majorAxis\n this.shader.uniforms.offset = offset\n this.shader.uniforms.minorAxis = minorAxis\n this.shader.uniforms.color = color\n this.shader.uniforms.lineWidth = lineWidth\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[j] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.vao.draw(this.gl.TRIANGLES, this.tickCount[j], this.tickOffset[j])\n}\n\n\nproto.drawGrid = function(i, j, bounds, offset, color, lineWidth) {\n if(!this.gridCount[i]) {\n return\n }\n\n var minorAxis = zeroVec(MINOR_AXIS)\n minorAxis[j] = bounds[1][j] - bounds[0][j]\n this.shader.uniforms.minorAxis = minorAxis\n\n var noffset = copyVec(OFFSET_VEC, offset)\n noffset[j] += bounds[0][j]\n this.shader.uniforms.offset = noffset\n\n var majorAxis = zeroVec(MAJOR_AXIS)\n majorAxis[i] = 1\n this.shader.uniforms.majorAxis = majorAxis\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[i] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.shader.uniforms.lineWidth = lineWidth\n\n this.shader.uniforms.color = color\n this.vao.draw(this.gl.TRIANGLES, this.gridCount[i], this.gridOffset[i])\n}\n\nproto.drawZero = function(j, i, bounds, offset, color, lineWidth) {\n var minorAxis = zeroVec(MINOR_AXIS)\n this.shader.uniforms.majorAxis = minorAxis\n\n minorAxis[j] = bounds[1][j] - bounds[0][j]\n this.shader.uniforms.minorAxis = minorAxis\n\n var noffset = copyVec(OFFSET_VEC, offset)\n noffset[j] += bounds[0][j]\n this.shader.uniforms.offset = noffset\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[i] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.shader.uniforms.lineWidth = lineWidth\n\n this.shader.uniforms.color = color\n this.vao.draw(this.gl.TRIANGLES, 6)\n}\n\nproto.dispose = function() {\n this.vao.dispose()\n this.vertBuffer.dispose()\n this.shader.dispose()\n}\n\nfunction createLines(gl, bounds, ticks) {\n var vertices = []\n var tickOffset = [0,0,0]\n var tickCount = [0,0,0]\n\n //Create grid lines for each axis/direction\n var gridOffset = [0,0,0]\n var gridCount = [0,0,0]\n\n //Add zero line\n vertices.push(\n 0,0,1, 0,1,1, 0,0,-1,\n 0,0,-1, 0,1,1, 0,1,-1)\n\n for(var i=0; i<3; ++i) {\n //Axis tick marks\n var start = ((vertices.length / 3)|0)\n for(var j=0; j\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT license.\n */\n\n\n\nvar repeat = __webpack_require__(\"4633\");\n\nmodule.exports = function padLeft(str, num, ch) {\n ch = typeof ch !== 'undefined' ? (ch + '') : ' ';\n return repeat(ch, num) + str;\n};\n\n/***/ }),\n\n/***/ \"48f0\":\n/***/ (function(module, exports) {\n\nmodule.exports = invert\n\n/**\n * Inverts a mat2\n *\n * @alias mat2.invert\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the source matrix\n * @returns {mat2} out\n */\nfunction invert(out, a) {\n var a0 = a[0]\n var a1 = a[1]\n var a2 = a[2]\n var a3 = a[3]\n var det = a0 * a3 - a2 * a1\n\n if (!det) return null\n det = 1.0 / det\n\n out[0] = a3 * det\n out[1] = -a1 * det\n out[2] = -a2 * det\n out[3] = a0 * det\n\n return out\n}\n\n\n/***/ }),\n\n/***/ \"492e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createSlabDecomposition\n\nvar bounds = __webpack_require__(\"2e46\")\nvar createRBTree = __webpack_require__(\"c8ac\")\nvar orient = __webpack_require__(\"92ba\")\nvar orderSegments = __webpack_require__(\"9cfb\")\n\nfunction SlabDecomposition(slabs, coordinates, horizontal) {\n this.slabs = slabs\n this.coordinates = coordinates\n this.horizontal = horizontal\n}\n\nvar proto = SlabDecomposition.prototype\n\nfunction compareHorizontal(e, y) {\n return e.y - y\n}\n\nfunction searchBucket(root, p) {\n var lastNode = null\n while(root) {\n var seg = root.key\n var l, r\n if(seg[0][0] < seg[1][0]) {\n l = seg[0]\n r = seg[1]\n } else {\n l = seg[1]\n r = seg[0]\n }\n var o = orient(l, r, p)\n if(o < 0) {\n root = root.left\n } else if(o > 0) {\n if(p[0] !== seg[1][0]) {\n lastNode = root\n root = root.right\n } else {\n var val = searchBucket(root.right, p)\n if(val) {\n return val\n }\n root = root.left\n }\n } else {\n if(p[0] !== seg[1][0]) {\n return root\n } else {\n var val = searchBucket(root.right, p)\n if(val) {\n return val\n }\n root = root.left\n }\n }\n }\n return lastNode\n}\n\nproto.castUp = function(p) {\n var bucket = bounds.le(this.coordinates, p[0])\n if(bucket < 0) {\n return -1\n }\n var root = this.slabs[bucket]\n var hitNode = searchBucket(this.slabs[bucket], p)\n var lastHit = -1\n if(hitNode) {\n lastHit = hitNode.value\n }\n //Edge case: need to handle horizontal segments (sucks)\n if(this.coordinates[bucket] === p[0]) {\n var lastSegment = null\n if(hitNode) {\n lastSegment = hitNode.key\n }\n if(bucket > 0) {\n var otherHitNode = searchBucket(this.slabs[bucket-1], p)\n if(otherHitNode) {\n if(lastSegment) {\n if(orderSegments(otherHitNode.key, lastSegment) > 0) {\n lastSegment = otherHitNode.key\n lastHit = otherHitNode.value\n }\n } else {\n lastHit = otherHitNode.value\n lastSegment = otherHitNode.key\n }\n }\n }\n var horiz = this.horizontal[bucket]\n if(horiz.length > 0) {\n var hbucket = bounds.ge(horiz, p[1], compareHorizontal)\n if(hbucket < horiz.length) {\n var e = horiz[hbucket]\n if(p[1] === e.y) {\n if(e.closed) {\n return e.index\n } else {\n while(hbucket < horiz.length-1 && horiz[hbucket+1].y === p[1]) {\n hbucket = hbucket+1\n e = horiz[hbucket]\n if(e.closed) {\n return e.index\n }\n }\n if(e.y === p[1] && !e.start) {\n hbucket = hbucket+1\n if(hbucket >= horiz.length) {\n return lastHit\n }\n e = horiz[hbucket]\n }\n }\n }\n //Check if e is above/below last segment\n if(e.start) {\n if(lastSegment) {\n var o = orient(lastSegment[0], lastSegment[1], [p[0], e.y])\n if(lastSegment[0][0] > lastSegment[1][0]) {\n o = -o\n }\n if(o > 0) {\n lastHit = e.index\n }\n } else {\n lastHit = e.index\n }\n } else if(e.y !== p[1]) {\n lastHit = e.index\n }\n }\n }\n }\n return lastHit\n}\n\nfunction IntervalSegment(y, index, start, closed) {\n this.y = y\n this.index = index\n this.start = start\n this.closed = closed\n}\n\nfunction Event(x, segment, create, index) {\n this.x = x\n this.segment = segment\n this.create = create\n this.index = index\n}\n\n\nfunction createSlabDecomposition(segments) {\n var numSegments = segments.length\n var numEvents = 2 * numSegments\n var events = new Array(numEvents)\n for(var i=0; i bounds[2]) bounds[2] = points[j + 0]\r\n if (points[j + 1] > bounds[3]) bounds[3] = points[j + 1]\r\n }\r\n }\r\n\r\n return bounds\r\n}\r\n\n\n/***/ }),\n\n/***/ \"4aa8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"3e8e\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n coerce('treemapcolorway', layoutOut.colorway);\n coerce('extendtreemapcolors');\n};\n\n\n/***/ }),\n\n/***/ \"4ae2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = preprocessPolygon\n\nvar orient = __webpack_require__(\"92ba\")[3]\nvar makeSlabs = __webpack_require__(\"492e\")\nvar makeIntervalTree = __webpack_require__(\"4393\")\nvar bsearch = __webpack_require__(\"b707\")\n\nfunction visitInterval() {\n return true\n}\n\nfunction intervalSearch(table) {\n return function(x, y) {\n var tree = table[x]\n if(tree) {\n return !!tree.queryPoint(y, visitInterval)\n }\n return false\n }\n}\n\nfunction buildVerticalIndex(segments) {\n var table = {}\n for(var i=0; i 0 && coordinates[bucket] === p[0]) {\n root = slabs[bucket-1]\n } else {\n return 1\n }\n }\n var lastOrientation = 1\n while(root) {\n var s = root.key\n var o = orient(p, s[0], s[1])\n if(s[0][0] < s[1][0]) {\n if(o < 0) {\n root = root.left\n } else if(o > 0) {\n lastOrientation = -1\n root = root.right\n } else {\n return 0\n }\n } else {\n if(o > 0) {\n root = root.left\n } else if(o < 0) {\n lastOrientation = 1\n root = root.right\n } else {\n return 0\n }\n }\n }\n return lastOrientation\n }\n}\n\nfunction classifyEmpty(p) {\n return 1\n}\n\nfunction createClassifyVertical(testVertical) {\n return function classify(p) {\n if(testVertical(p[0], p[1])) {\n return 0\n }\n return 1\n }\n}\n\nfunction createClassifyPointDegen(testVertical, testNormal) {\n return function classify(p) {\n if(testVertical(p[0], p[1])) {\n return 0\n }\n return testNormal(p)\n }\n}\n\nfunction preprocessPolygon(loops) {\n //Compute number of loops\n var numLoops = loops.length\n\n //Unpack segments\n var segments = []\n var vsegments = []\n var ptr = 0\n for(var i=0; i 1 ? {\n type: \"MultiPolygon\",\n coordinates: polygons\n } : {\n type: \"Polygon\",\n coordinates: polygons[0]\n };\n }\n };\n var d3_geo_projectGeometryType = {\n Point: d3_geo_projectPoint,\n MultiPoint: d3_geo_projectPoint,\n LineString: d3_geo_projectLine,\n MultiLineString: d3_geo_projectLine,\n Polygon: d3_geo_projectPolygon,\n MultiPolygon: d3_geo_projectPolygon,\n Sphere: d3_geo_projectPolygon\n };\n function d3_geo_projectNoop() {}\n function d3_geo_projectClockwise(ring) {\n if ((n = ring.length) < 4) return false;\n var i = 0, n, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area <= 0;\n }\n function d3_geo_projectContains(ring, point) {\n var x = point[0], y = point[1], contains = false;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (yi > y ^ yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) contains = !contains;\n }\n return contains;\n }\n var ฮต = 1e-6, ฮต2 = ฮต * ฮต, ฯ€ = Math.PI, halfฯ€ = ฯ€ / 2, sqrtฯ€ = Math.sqrt(ฯ€), radians = ฯ€ / 180, degrees = 180 / ฯ€;\n function sinci(x) {\n return x ? x / Math.sin(x) : 1;\n }\n function sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function asin(x) {\n return x > 1 ? halfฯ€ : x < -1 ? -halfฯ€ : Math.asin(x);\n }\n function acos(x) {\n return x > 1 ? 0 : x < -1 ? ฯ€ : Math.acos(x);\n }\n function asqrt(x) {\n return x > 0 ? Math.sqrt(x) : 0;\n }\n var projection = d3.geo.projection, projectionMutator = d3.geo.projectionMutator;\n d3.geo.interrupt = function(project) {\n var lobes = [ [ [ [ -ฯ€, 0 ], [ 0, halfฯ€ ], [ ฯ€, 0 ] ] ], [ [ [ -ฯ€, 0 ], [ 0, -halfฯ€ ], [ ฯ€, 0 ] ] ] ];\n var bounds;\n function forward(ฮป, ฯ†) {\n var sign = ฯ† < 0 ? -1 : +1, hemilobes = lobes[+(ฯ† < 0)];\n for (var i = 0, n = hemilobes.length - 1; i < n && ฮป > hemilobes[i][2][0]; ++i) ;\n var coordinates = project(ฮป - hemilobes[i][1][0], ฯ†);\n coordinates[0] += project(hemilobes[i][1][0], sign * ฯ† > sign * hemilobes[i][0][1] ? hemilobes[i][0][1] : ฯ†)[0];\n return coordinates;\n }\n function reset() {\n bounds = lobes.map(function(hemilobes) {\n return hemilobes.map(function(lobe) {\n var x0 = project(lobe[0][0], lobe[0][1])[0], x1 = project(lobe[2][0], lobe[2][1])[0], y0 = project(lobe[1][0], lobe[0][1])[1], y1 = project(lobe[1][0], lobe[1][1])[1], t;\n if (y0 > y1) t = y0, y0 = y1, y1 = t;\n return [ [ x0, y0 ], [ x1, y1 ] ];\n });\n });\n }\n if (project.invert) forward.invert = function(x, y) {\n var hemibounds = bounds[+(y < 0)], hemilobes = lobes[+(y < 0)];\n for (var i = 0, n = hemibounds.length; i < n; ++i) {\n var b = hemibounds[i];\n if (b[0][0] <= x && x < b[1][0] && b[0][1] <= y && y < b[1][1]) {\n var coordinates = project.invert(x - project(hemilobes[i][1][0], 0)[0], y);\n coordinates[0] += hemilobes[i][1][0];\n return pointEqual(forward(coordinates[0], coordinates[1]), [ x, y ]) ? coordinates : null;\n }\n }\n };\n var projection = d3.geo.projection(forward), stream_ = projection.stream;\n projection.stream = function(stream) {\n var rotate = projection.rotate(), rotateStream = stream_(stream), sphereStream = (projection.rotate([ 0, 0 ]),\n stream_(stream));\n projection.rotate(rotate);\n rotateStream.sphere = function() {\n d3.geo.stream(sphere(), sphereStream);\n };\n return rotateStream;\n };\n projection.lobes = function(_) {\n if (!arguments.length) return lobes.map(function(lobes) {\n return lobes.map(function(lobe) {\n return [ [ lobe[0][0] * 180 / ฯ€, lobe[0][1] * 180 / ฯ€ ], [ lobe[1][0] * 180 / ฯ€, lobe[1][1] * 180 / ฯ€ ], [ lobe[2][0] * 180 / ฯ€, lobe[2][1] * 180 / ฯ€ ] ];\n });\n });\n lobes = _.map(function(lobes) {\n return lobes.map(function(lobe) {\n return [ [ lobe[0][0] * ฯ€ / 180, lobe[0][1] * ฯ€ / 180 ], [ lobe[1][0] * ฯ€ / 180, lobe[1][1] * ฯ€ / 180 ], [ lobe[2][0] * ฯ€ / 180, lobe[2][1] * ฯ€ / 180 ] ];\n });\n });\n reset();\n return projection;\n };\n function sphere() {\n var ฮต = 1e-6, coordinates = [];\n for (var i = 0, n = lobes[0].length; i < n; ++i) {\n var lobe = lobes[0][i], ฮป0 = lobe[0][0] * 180 / ฯ€, ฯ†0 = lobe[0][1] * 180 / ฯ€, ฯ†1 = lobe[1][1] * 180 / ฯ€, ฮป2 = lobe[2][0] * 180 / ฯ€, ฯ†2 = lobe[2][1] * 180 / ฯ€;\n coordinates.push(resample([ [ ฮป0 + ฮต, ฯ†0 + ฮต ], [ ฮป0 + ฮต, ฯ†1 - ฮต ], [ ฮป2 - ฮต, ฯ†1 - ฮต ], [ ฮป2 - ฮต, ฯ†2 + ฮต ] ], 30));\n }\n for (var i = lobes[1].length - 1; i >= 0; --i) {\n var lobe = lobes[1][i], ฮป0 = lobe[0][0] * 180 / ฯ€, ฯ†0 = lobe[0][1] * 180 / ฯ€, ฯ†1 = lobe[1][1] * 180 / ฯ€, ฮป2 = lobe[2][0] * 180 / ฯ€, ฯ†2 = lobe[2][1] * 180 / ฯ€;\n coordinates.push(resample([ [ ฮป2 - ฮต, ฯ†2 - ฮต ], [ ฮป2 - ฮต, ฯ†1 + ฮต ], [ ฮป0 + ฮต, ฯ†1 + ฮต ], [ ฮป0 + ฮต, ฯ†0 - ฮต ] ], 30));\n }\n return {\n type: \"Polygon\",\n coordinates: [ d3.merge(coordinates) ]\n };\n }\n function resample(coordinates, m) {\n var i = -1, n = coordinates.length, p0 = coordinates[0], p1, dx, dy, resampled = [];\n while (++i < n) {\n p1 = coordinates[i];\n dx = (p1[0] - p0[0]) / m;\n dy = (p1[1] - p0[1]) / m;\n for (var j = 0; j < m; ++j) resampled.push([ p0[0] + j * dx, p0[1] + j * dy ]);\n p0 = p1;\n }\n resampled.push(p1);\n return resampled;\n }\n function pointEqual(a, b) {\n return Math.abs(a[0] - b[0]) < ฮต && Math.abs(a[1] - b[1]) < ฮต;\n }\n return projection;\n };\n function eckert4(ฮป, ฯ†) {\n var k = (2 + halfฯ€) * Math.sin(ฯ†);\n ฯ† /= 2;\n for (var i = 0, ฮด = Infinity; i < 10 && Math.abs(ฮด) > ฮต; i++) {\n var cosฯ† = Math.cos(ฯ†);\n ฯ† -= ฮด = (ฯ† + Math.sin(ฯ†) * (cosฯ† + 2) - k) / (2 * cosฯ† * (1 + cosฯ†));\n }\n return [ 2 / Math.sqrt(ฯ€ * (4 + ฯ€)) * ฮป * (1 + Math.cos(ฯ†)), 2 * Math.sqrt(ฯ€ / (4 + ฯ€)) * Math.sin(ฯ†) ];\n }\n eckert4.invert = function(x, y) {\n var A = .5 * y * Math.sqrt((4 + ฯ€) / ฯ€), k = asin(A), c = Math.cos(k);\n return [ x / (2 / Math.sqrt(ฯ€ * (4 + ฯ€)) * (1 + c)), asin((k + A * (c + 2)) / (2 + halfฯ€)) ];\n };\n (d3.geo.eckert4 = function() {\n return projection(eckert4);\n }).raw = eckert4;\n var hammerAzimuthalEqualArea = d3.geo.azimuthalEqualArea.raw;\n function hammer(A, B) {\n if (arguments.length < 2) B = A;\n if (B === 1) return hammerAzimuthalEqualArea;\n if (B === Infinity) return hammerQuarticAuthalic;\n function forward(ฮป, ฯ†) {\n var coordinates = hammerAzimuthalEqualArea(ฮป / B, ฯ†);\n coordinates[0] *= A;\n return coordinates;\n }\n forward.invert = function(x, y) {\n var coordinates = hammerAzimuthalEqualArea.invert(x / A, y);\n coordinates[0] *= B;\n return coordinates;\n };\n return forward;\n }\n function hammerProjection() {\n var B = 2, m = projectionMutator(hammer), p = m(B);\n p.coefficient = function(_) {\n if (!arguments.length) return B;\n return m(B = +_);\n };\n return p;\n }\n function hammerQuarticAuthalic(ฮป, ฯ†) {\n return [ ฮป * Math.cos(ฯ†) / Math.cos(ฯ† /= 2), 2 * Math.sin(ฯ†) ];\n }\n hammerQuarticAuthalic.invert = function(x, y) {\n var ฯ† = 2 * asin(y / 2);\n return [ x * Math.cos(ฯ† / 2) / Math.cos(ฯ†), ฯ† ];\n };\n (d3.geo.hammer = hammerProjection).raw = hammer;\n function kavrayskiy7(ฮป, ฯ†) {\n return [ 3 * ฮป / (2 * ฯ€) * Math.sqrt(ฯ€ * ฯ€ / 3 - ฯ† * ฯ†), ฯ† ];\n }\n kavrayskiy7.invert = function(x, y) {\n return [ 2 / 3 * ฯ€ * x / Math.sqrt(ฯ€ * ฯ€ / 3 - y * y), y ];\n };\n (d3.geo.kavrayskiy7 = function() {\n return projection(kavrayskiy7);\n }).raw = kavrayskiy7;\n function miller(ฮป, ฯ†) {\n return [ ฮป, 1.25 * Math.log(Math.tan(ฯ€ / 4 + .4 * ฯ†)) ];\n }\n miller.invert = function(x, y) {\n return [ x, 2.5 * Math.atan(Math.exp(.8 * y)) - .625 * ฯ€ ];\n };\n (d3.geo.miller = function() {\n return projection(miller);\n }).raw = miller;\n function mollweideBromleyฮธ(Cp) {\n return function(ฮธ) {\n var Cpsinฮธ = Cp * Math.sin(ฮธ), i = 30, ฮด;\n do ฮธ -= ฮด = (ฮธ + Math.sin(ฮธ) - Cpsinฮธ) / (1 + Math.cos(ฮธ)); while (Math.abs(ฮด) > ฮต && --i > 0);\n return ฮธ / 2;\n };\n }\n function mollweideBromley(Cx, Cy, Cp) {\n var ฮธ = mollweideBromleyฮธ(Cp);\n function forward(ฮป, ฯ†) {\n return [ Cx * ฮป * Math.cos(ฯ† = ฮธ(ฯ†)), Cy * Math.sin(ฯ†) ];\n }\n forward.invert = function(x, y) {\n var ฮธ = asin(y / Cy);\n return [ x / (Cx * Math.cos(ฮธ)), asin((2 * ฮธ + Math.sin(2 * ฮธ)) / Cp) ];\n };\n return forward;\n }\n var mollweideฮธ = mollweideBromleyฮธ(ฯ€), mollweide = mollweideBromley(Math.SQRT2 / halfฯ€, Math.SQRT2, ฯ€);\n (d3.geo.mollweide = function() {\n return projection(mollweide);\n }).raw = mollweide;\n function naturalEarth(ฮป, ฯ†) {\n var ฯ†2 = ฯ† * ฯ†, ฯ†4 = ฯ†2 * ฯ†2;\n return [ ฮป * (.8707 - .131979 * ฯ†2 + ฯ†4 * (-.013791 + ฯ†4 * (.003971 * ฯ†2 - .001529 * ฯ†4))), ฯ† * (1.007226 + ฯ†2 * (.015085 + ฯ†4 * (-.044475 + .028874 * ฯ†2 - .005916 * ฯ†4))) ];\n }\n naturalEarth.invert = function(x, y) {\n var ฯ† = y, i = 25, ฮด;\n do {\n var ฯ†2 = ฯ† * ฯ†, ฯ†4 = ฯ†2 * ฯ†2;\n ฯ† -= ฮด = (ฯ† * (1.007226 + ฯ†2 * (.015085 + ฯ†4 * (-.044475 + .028874 * ฯ†2 - .005916 * ฯ†4))) - y) / (1.007226 + ฯ†2 * (.015085 * 3 + ฯ†4 * (-.044475 * 7 + .028874 * 9 * ฯ†2 - .005916 * 11 * ฯ†4)));\n } while (Math.abs(ฮด) > ฮต && --i > 0);\n return [ x / (.8707 + (ฯ†2 = ฯ† * ฯ†) * (-.131979 + ฯ†2 * (-.013791 + ฯ†2 * ฯ†2 * ฯ†2 * (.003971 - .001529 * ฯ†2)))), ฯ† ];\n };\n (d3.geo.naturalEarth = function() {\n return projection(naturalEarth);\n }).raw = naturalEarth;\n var robinsonConstants = [ [ .9986, -.062 ], [ 1, 0 ], [ .9986, .062 ], [ .9954, .124 ], [ .99, .186 ], [ .9822, .248 ], [ .973, .31 ], [ .96, .372 ], [ .9427, .434 ], [ .9216, .4958 ], [ .8962, .5571 ], [ .8679, .6176 ], [ .835, .6769 ], [ .7986, .7346 ], [ .7597, .7903 ], [ .7186, .8435 ], [ .6732, .8936 ], [ .6213, .9394 ], [ .5722, .9761 ], [ .5322, 1 ] ];\n robinsonConstants.forEach(function(d) {\n d[1] *= 1.0144;\n });\n function robinson(ฮป, ฯ†) {\n var i = Math.min(18, Math.abs(ฯ†) * 36 / ฯ€), i0 = Math.floor(i), di = i - i0, ax = (k = robinsonConstants[i0])[0], ay = k[1], bx = (k = robinsonConstants[++i0])[0], by = k[1], cx = (k = robinsonConstants[Math.min(19, ++i0)])[0], cy = k[1], k;\n return [ ฮป * (bx + di * (cx - ax) / 2 + di * di * (cx - 2 * bx + ax) / 2), (ฯ† > 0 ? halfฯ€ : -halfฯ€) * (by + di * (cy - ay) / 2 + di * di * (cy - 2 * by + ay) / 2) ];\n }\n robinson.invert = function(x, y) {\n var yy = y / halfฯ€, ฯ† = yy * 90, i = Math.min(18, Math.abs(ฯ† / 5)), i0 = Math.max(0, Math.floor(i));\n do {\n var ay = robinsonConstants[i0][1], by = robinsonConstants[i0 + 1][1], cy = robinsonConstants[Math.min(19, i0 + 2)][1], u = cy - ay, v = cy - 2 * by + ay, t = 2 * (Math.abs(yy) - by) / u, c = v / u, di = t * (1 - c * t * (1 - 2 * c * t));\n if (di >= 0 || i0 === 1) {\n ฯ† = (y >= 0 ? 5 : -5) * (di + i);\n var j = 50, ฮด;\n do {\n i = Math.min(18, Math.abs(ฯ†) / 5);\n i0 = Math.floor(i);\n di = i - i0;\n ay = robinsonConstants[i0][1];\n by = robinsonConstants[i0 + 1][1];\n cy = robinsonConstants[Math.min(19, i0 + 2)][1];\n ฯ† -= (ฮด = (y >= 0 ? halfฯ€ : -halfฯ€) * (by + di * (cy - ay) / 2 + di * di * (cy - 2 * by + ay) / 2) - y) * degrees;\n } while (Math.abs(ฮด) > ฮต2 && --j > 0);\n break;\n }\n } while (--i0 >= 0);\n var ax = robinsonConstants[i0][0], bx = robinsonConstants[i0 + 1][0], cx = robinsonConstants[Math.min(19, i0 + 2)][0];\n return [ x / (bx + di * (cx - ax) / 2 + di * di * (cx - 2 * bx + ax) / 2), ฯ† * radians ];\n };\n (d3.geo.robinson = function() {\n return projection(robinson);\n }).raw = robinson;\n function sinusoidal(ฮป, ฯ†) {\n return [ ฮป * Math.cos(ฯ†), ฯ† ];\n }\n sinusoidal.invert = function(x, y) {\n return [ x / Math.cos(y), y ];\n };\n (d3.geo.sinusoidal = function() {\n return projection(sinusoidal);\n }).raw = sinusoidal;\n function aitoff(ฮป, ฯ†) {\n var cosฯ† = Math.cos(ฯ†), sinciฮฑ = sinci(acos(cosฯ† * Math.cos(ฮป /= 2)));\n return [ 2 * cosฯ† * Math.sin(ฮป) * sinciฮฑ, Math.sin(ฯ†) * sinciฮฑ ];\n }\n aitoff.invert = function(x, y) {\n if (x * x + 4 * y * y > ฯ€ * ฯ€ + ฮต) return;\n var ฮป = x, ฯ† = y, i = 25;\n do {\n var sinฮป = Math.sin(ฮป), sinฮป_2 = Math.sin(ฮป / 2), cosฮป_2 = Math.cos(ฮป / 2), sinฯ† = Math.sin(ฯ†), cosฯ† = Math.cos(ฯ†), sin_2ฯ† = Math.sin(2 * ฯ†), sin2ฯ† = sinฯ† * sinฯ†, cos2ฯ† = cosฯ† * cosฯ†, sin2ฮป_2 = sinฮป_2 * sinฮป_2, C = 1 - cos2ฯ† * cosฮป_2 * cosฮป_2, E = C ? acos(cosฯ† * cosฮป_2) * Math.sqrt(F = 1 / C) : F = 0, F, fx = 2 * E * cosฯ† * sinฮป_2 - x, fy = E * sinฯ† - y, ฮดxฮดฮป = F * (cos2ฯ† * sin2ฮป_2 + E * cosฯ† * cosฮป_2 * sin2ฯ†), ฮดxฮดฯ† = F * (.5 * sinฮป * sin_2ฯ† - E * 2 * sinฯ† * sinฮป_2), ฮดyฮดฮป = F * .25 * (sin_2ฯ† * sinฮป_2 - E * sinฯ† * cos2ฯ† * sinฮป), ฮดyฮดฯ† = F * (sin2ฯ† * cosฮป_2 + E * sin2ฮป_2 * cosฯ†), denominator = ฮดxฮดฯ† * ฮดyฮดฮป - ฮดyฮดฯ† * ฮดxฮดฮป;\n if (!denominator) break;\n var ฮดฮป = (fy * ฮดxฮดฯ† - fx * ฮดyฮดฯ†) / denominator, ฮดฯ† = (fx * ฮดyฮดฮป - fy * ฮดxฮดฮป) / denominator;\n ฮป -= ฮดฮป, ฯ† -= ฮดฯ†;\n } while ((Math.abs(ฮดฮป) > ฮต || Math.abs(ฮดฯ†) > ฮต) && --i > 0);\n return [ ฮป, ฯ† ];\n };\n (d3.geo.aitoff = function() {\n return projection(aitoff);\n }).raw = aitoff;\n function winkel3(ฮป, ฯ†) {\n var coordinates = aitoff(ฮป, ฯ†);\n return [ (coordinates[0] + ฮป / halfฯ€) / 2, (coordinates[1] + ฯ†) / 2 ];\n }\n winkel3.invert = function(x, y) {\n var ฮป = x, ฯ† = y, i = 25;\n do {\n var cosฯ† = Math.cos(ฯ†), sinฯ† = Math.sin(ฯ†), sin_2ฯ† = Math.sin(2 * ฯ†), sin2ฯ† = sinฯ† * sinฯ†, cos2ฯ† = cosฯ† * cosฯ†, sinฮป = Math.sin(ฮป), cosฮป_2 = Math.cos(ฮป / 2), sinฮป_2 = Math.sin(ฮป / 2), sin2ฮป_2 = sinฮป_2 * sinฮป_2, C = 1 - cos2ฯ† * cosฮป_2 * cosฮป_2, E = C ? acos(cosฯ† * cosฮป_2) * Math.sqrt(F = 1 / C) : F = 0, F, fx = .5 * (2 * E * cosฯ† * sinฮป_2 + ฮป / halfฯ€) - x, fy = .5 * (E * sinฯ† + ฯ†) - y, ฮดxฮดฮป = .5 * F * (cos2ฯ† * sin2ฮป_2 + E * cosฯ† * cosฮป_2 * sin2ฯ†) + .5 / halfฯ€, ฮดxฮดฯ† = F * (sinฮป * sin_2ฯ† / 4 - E * sinฯ† * sinฮป_2), ฮดyฮดฮป = .125 * F * (sin_2ฯ† * sinฮป_2 - E * sinฯ† * cos2ฯ† * sinฮป), ฮดyฮดฯ† = .5 * F * (sin2ฯ† * cosฮป_2 + E * sin2ฮป_2 * cosฯ†) + .5, denominator = ฮดxฮดฯ† * ฮดyฮดฮป - ฮดyฮดฯ† * ฮดxฮดฮป, ฮดฮป = (fy * ฮดxฮดฯ† - fx * ฮดyฮดฯ†) / denominator, ฮดฯ† = (fx * ฮดyฮดฮป - fy * ฮดxฮดฮป) / denominator;\n ฮป -= ฮดฮป, ฯ† -= ฮดฯ†;\n } while ((Math.abs(ฮดฮป) > ฮต || Math.abs(ฮดฯ†) > ฮต) && --i > 0);\n return [ ฮป, ฯ† ];\n };\n (d3.geo.winkel3 = function() {\n return projection(winkel3);\n }).raw = winkel3;\n}\n\nmodule.exports = addProjectionsToD3;\n\n\n/***/ }),\n\n/***/ \"4bba\":\n/***/ (function(module, exports) {\n\nmodule.exports = inverse;\n\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to invert\n * @returns {vec3} out\n */\nfunction inverse(out, a) {\n out[0] = 1.0 / a[0]\n out[1] = 1.0 / a[1]\n out[2] = 1.0 / a[2]\n return out\n}\n\n/***/ }),\n\n/***/ \"4c18\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar uniq = __webpack_require__(\"175e\")\n\n// This function generates very simple loops analogous to how you typically traverse arrays (the outermost loop corresponds to the slowest changing index, the innermost loop to the fastest changing index)\n// TODO: If two arrays have the same strides (and offsets) there is potential for decreasing the number of \"pointers\" and related variables. The drawback is that the type signature would become more specific and that there would thus be less potential for caching, but it might still be worth it, especially when dealing with large numbers of arguments.\nfunction innerFill(order, proc, body) {\n var dimension = order.length\n , nargs = proc.arrayArgs.length\n , has_index = proc.indexArgs.length>0\n , code = []\n , vars = []\n , idx=0, pidx=0, i, j\n for(i=0; i 0) {\n code.push(\"var \" + vars.join(\",\"))\n } \n //Scan loop\n for(i=dimension-1; i>=0; --i) { // Start at largest stride and work your way inwards\n idx = order[i]\n code.push([\"for(i\",i,\"=0;i\",i,\" 0) {\n code.push([\"index[\",pidx,\"]-=s\",pidx].join(\"\"))\n }\n code.push([\"++index[\",idx,\"]\"].join(\"\"))\n }\n code.push(\"}\")\n }\n return code.join(\"\\n\")\n}\n\n// Generate \"outer\" loops that loop over blocks of data, applying \"inner\" loops to the blocks by manipulating the local variables in such a way that the inner loop only \"sees\" the current block.\n// TODO: If this is used, then the previous declaration (done by generateCwiseOp) of s* is essentially unnecessary.\n// I believe the s* are not used elsewhere (in particular, I don't think they're used in the pre/post parts and \"shape\" is defined independently), so it would be possible to make defining the s* dependent on what loop method is being used.\nfunction outerFill(matched, order, proc, body) {\n var dimension = order.length\n , nargs = proc.arrayArgs.length\n , blockSize = proc.blockSize\n , has_index = proc.indexArgs.length > 0\n , code = []\n for(var i=0; i0;){\"].join(\"\")) // Iterate back to front\n code.push([\"if(j\",i,\"<\",blockSize,\"){\"].join(\"\")) // Either decrease j by blockSize (s = blockSize), or set it to zero (after setting s = j).\n code.push([\"s\",order[i],\"=j\",i].join(\"\"))\n code.push([\"j\",i,\"=0\"].join(\"\"))\n code.push([\"}else{s\",order[i],\"=\",blockSize].join(\"\"))\n code.push([\"j\",i,\"-=\",blockSize,\"}\"].join(\"\"))\n if(has_index) {\n code.push([\"index[\",order[i],\"]=j\",i].join(\"\"))\n }\n }\n for(var i=0; i 0) {\n allEqual = allEqual && summary[i] === summary[i-1]\n }\n }\n if(allEqual) {\n return summary[0]\n }\n return summary.join(\"\")\n}\n\n//Generates a cwise operator\nfunction generateCWiseOp(proc, typesig) {\n\n //Compute dimension\n // Arrays get put first in typesig, and there are two entries per array (dtype and order), so this gets the number of dimensions in the first array arg.\n var dimension = (typesig[1].length - Math.abs(proc.arrayBlockIndices[0]))|0\n var orders = new Array(proc.arrayArgs.length)\n var dtypes = new Array(proc.arrayArgs.length)\n for(var i=0; i 0) {\n vars.push(\"shape=SS.slice(0)\") // Makes the shape over which we iterate available to the user defined functions (so you can use width/height for example)\n }\n if(proc.indexArgs.length > 0) {\n // Prepare an array to keep track of the (logical) indices, initialized to dimension zeroes.\n var zeros = new Array(dimension)\n for(var i=0; i 0) {\n code.push(\"var \" + vars.join(\",\"))\n }\n for(var i=0; i 3) {\n code.push(processBlock(proc.pre, proc, dtypes))\n }\n\n //Process body\n var body = processBlock(proc.body, proc, dtypes)\n var matched = countMatches(loopOrders)\n if(matched < dimension) {\n code.push(outerFill(matched, loopOrders[0], proc, body)) // TODO: Rather than passing loopOrders[0], it might be interesting to look at passing an order that represents the majority of the arguments for example.\n } else {\n code.push(innerFill(loopOrders[0], proc, body))\n }\n\n //Inline epilog\n if(proc.post.body.length > 3) {\n code.push(processBlock(proc.post, proc, dtypes))\n }\n \n if(proc.debug) {\n console.log(\"-----Generated cwise routine for \", typesig, \":\\n\" + code.join(\"\\n\") + \"\\n----------\")\n }\n \n var loopName = [(proc.funcName||\"unnamed\"), \"_cwise_loop_\", orders[0].join(\"s\"),\"m\",matched,typeSummary(dtypes)].join(\"\")\n var f = new Function([\"function \",loopName,\"(\", arglist.join(\",\"),\"){\", code.join(\"\\n\"),\"} return \", loopName].join(\"\"))\n return f()\n}\nmodule.exports = generateCWiseOp\n\n\n/***/ }),\n\n/***/ \"4c66\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar axisIDs = __webpack_require__(\"3c1c\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar constants = __webpack_require__(\"22f9\");\nvar LINE_SPACING = __webpack_require__(\"63dc\").LINE_SPACING;\nvar name = constants.name;\n\nfunction isVisible(ax) {\n var rangeSlider = ax && ax[name];\n return rangeSlider && rangeSlider.visible;\n}\nexports.isVisible = isVisible;\n\nexports.makeData = function(fullLayout) {\n var axes = axisIDs.list({ _fullLayout: fullLayout }, 'x', true);\n var margin = fullLayout.margin;\n var rangeSliderData = [];\n\n if(!fullLayout._has('gl2d')) {\n for(var i = 0; i < axes.length; i++) {\n var ax = axes[i];\n\n if(isVisible(ax)) {\n rangeSliderData.push(ax);\n\n var opts = ax[name];\n opts._id = name + ax._id;\n opts._height = (fullLayout.height - margin.b - margin.t) * opts.thickness;\n opts._offsetShift = Math.floor(opts.borderwidth / 2);\n }\n }\n }\n\n fullLayout._rangeSliderData = rangeSliderData;\n};\n\nexports.autoMarginOpts = function(gd, ax) {\n var fullLayout = gd._fullLayout;\n var opts = ax[name];\n var axLetter = ax._id.charAt(0);\n\n var bottomDepth = 0;\n var titleHeight = 0;\n if(ax.side === 'bottom') {\n bottomDepth = ax._depth;\n if(ax.title.text !== fullLayout._dfltTitle[axLetter]) {\n // as in rangeslider/draw.js\n titleHeight = 1.5 * ax.title.font.size + 10 + opts._offsetShift;\n // multi-line extra bump\n var extraLines = (ax.title.text.match(svgTextUtils.BR_TAG_ALL) || []).length;\n titleHeight += extraLines * ax.title.font.size * LINE_SPACING;\n }\n }\n\n return {\n x: 0,\n y: ax._counterDomainMin,\n l: 0,\n r: 0,\n t: 0,\n b: opts._height + bottomDepth + Math.max(fullLayout.margin.b, titleHeight),\n pad: constants.extraPad + opts._offsetShift * 2\n };\n};\n\n\n/***/ }),\n\n/***/ \"4c69\":\n/***/ (function(module, exports) {\n\nmodule.exports = function parseUnit(str, out) {\n if (!out)\n out = [ 0, '' ]\n\n str = String(str)\n var num = parseFloat(str, 10)\n out[0] = num\n out[1] = str.match(/[\\d.\\-\\+]*\\s*(.*)/)[1] || ''\n return out\n}\n\n/***/ }),\n\n/***/ \"4cd2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar listAxes = __webpack_require__(\"3c1c\").list;\nvar getAutoRange = __webpack_require__(\"ce56\").getAutoRange;\nvar constants = __webpack_require__(\"22f9\");\n\nmodule.exports = function calcAutorange(gd) {\n var axes = listAxes(gd, 'x', true);\n\n // Compute new slider range using axis autorange if necessary.\n //\n // Copy back range to input range slider container to skip\n // this step in subsequent draw calls.\n\n for(var i = 0; i < axes.length; i++) {\n var ax = axes[i];\n var opts = ax[constants.name];\n\n if(opts && opts.visible && opts.autorange) {\n opts._input.autorange = true;\n opts._input.range = opts.range = getAutoRange(gd, ax);\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4cd5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n RELATIVE_CULL_TOLERANCE: 1e-6\n};\n\n\n/***/ }),\n\n/***/ \"4ce7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n barmode: {\n valType: 'enumerated',\n values: ['stack', 'overlay'],\n dflt: 'stack',\n \n editType: 'calc',\n \n },\n bargap: {\n valType: 'number',\n dflt: 0.1,\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"4d64\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\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\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\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.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ \"4de4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $filter = __webpack_require__(\"b727\").filter;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"4e7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar BN = __webpack_require__(\"399f\")\n\nmodule.exports = isBN\n\n//Test if x is a bignumber\n//FIXME: obviously this is the wrong way to do it\nfunction isBN(x) {\n return x && typeof x === 'object' && Boolean(x.words)\n}\n\n\n/***/ }),\n\n/***/ \"4e89\":\n/***/ (function(module, exports) {\n\nmodule.exports = length\n\n/**\n * Calculates the length of a vec4\n *\n * @param {vec4} a vector to calculate length of\n * @returns {Number} length of a\n */\nfunction length (a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3]\n return Math.sqrt(x * x + y * y + z * z + w * w)\n}\n\n\n/***/ }),\n\n/***/ \"4ebd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar EventEmitter = __webpack_require__(\"7e25\").EventEmitter;\n\nvar helpers = __webpack_require__(\"4248\");\n\nfunction svgToImg(opts) {\n var ev = opts.emitter || new EventEmitter();\n\n var promise = new Promise(function(resolve, reject) {\n var Image = window.Image;\n var svg = opts.svg;\n var format = opts.format || 'png';\n\n // IE only support svg\n if(Lib.isIE() && format !== 'svg') {\n var ieSvgError = new Error(helpers.MSG_IE_BAD_FORMAT);\n reject(ieSvgError);\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n return ev.emit('error', ieSvgError);\n } else {\n return promise;\n }\n }\n\n var canvas = opts.canvas;\n var scale = opts.scale || 1;\n var w0 = opts.width || 300;\n var h0 = opts.height || 150;\n var w1 = scale * w0;\n var h1 = scale * h0;\n\n var ctx = canvas.getContext('2d');\n var img = new Image();\n var svgBlob, url;\n\n if(format === 'svg' || Lib.isIE9orBelow() || Lib.isSafari()) {\n url = helpers.encodeSVG(svg);\n } else {\n svgBlob = helpers.createBlob(svg, 'svg');\n url = helpers.createObjectURL(svgBlob);\n }\n\n canvas.width = w1;\n canvas.height = h1;\n\n img.onload = function() {\n var imgData;\n\n svgBlob = null;\n helpers.revokeObjectURL(url);\n\n // don't need to draw to canvas if svg\n // save some time and also avoid failure on IE\n if(format !== 'svg') {\n ctx.drawImage(img, 0, 0, w1, h1);\n }\n\n switch(format) {\n case 'jpeg':\n imgData = canvas.toDataURL('image/jpeg');\n break;\n case 'png':\n imgData = canvas.toDataURL('image/png');\n break;\n case 'webp':\n imgData = canvas.toDataURL('image/webp');\n break;\n case 'svg':\n imgData = url;\n break;\n default:\n var errorMsg = 'Image format is not jpeg, png, svg or webp.';\n reject(new Error(errorMsg));\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n return ev.emit('error', errorMsg);\n }\n }\n resolve(imgData);\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n ev.emit('success', imgData);\n }\n };\n\n img.onerror = function(err) {\n svgBlob = null;\n helpers.revokeObjectURL(url);\n\n reject(err);\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n return ev.emit('error', err);\n }\n };\n\n img.src = url;\n });\n\n // temporary for backward compatibility\n // move to only Promise in 2.0.0\n // and eliminate the EventEmitter\n if(opts.promise) {\n return promise;\n }\n\n return ev;\n}\n\nmodule.exports = svgToImg;\n\n\n/***/ }),\n\n/***/ \"4eee\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\n/*\n * Construct a 2D array of cheater values given a, b, and a slope.\n * If\n */\nmodule.exports = function(a, b, cheaterslope) {\n var i, j, ascal, bscal, aval, bval;\n var data = [];\n\n var na = isArrayOrTypedArray(a) ? a.length : a;\n var nb = isArrayOrTypedArray(b) ? b.length : b;\n var adata = isArrayOrTypedArray(a) ? a : null;\n var bdata = isArrayOrTypedArray(b) ? b : null;\n\n // If we're using data, scale it so that for data that's just barely\n // not evenly spaced, the switch to value-based indexing is continuous.\n // This means evenly spaced data should look the same whether value\n // or index cheatertype.\n if(adata) {\n ascal = (adata.length - 1) / (adata[adata.length - 1] - adata[0]) / (na - 1);\n }\n\n if(bdata) {\n bscal = (bdata.length - 1) / (bdata[bdata.length - 1] - bdata[0]) / (nb - 1);\n }\n\n var xval;\n var xmin = Infinity;\n var xmax = -Infinity;\n for(j = 0; j < nb; j++) {\n data[j] = [];\n bval = bdata ? (bdata[j] - bdata[0]) * bscal : j / (nb - 1);\n for(i = 0; i < na; i++) {\n aval = adata ? (adata[i] - adata[0]) * ascal : i / (na - 1);\n xval = aval - bval * cheaterslope;\n xmin = Math.min(xval, xmin);\n xmax = Math.max(xval, xmax);\n data[j][i] = xval;\n }\n }\n\n // Normalize cheater values to the 0-1 range. This comes into play when you have\n // multiple cheater plots. After careful consideration, it seems better if cheater\n // values are normalized to a consistent range. Otherwise one cheater affects the\n // layout of other cheaters on the same axis.\n var slope = 1.0 / (xmax - xmin);\n var offset = -xmin * slope;\n for(j = 0; j < nb; j++) {\n for(i = 0; i < na; i++) {\n data[j][i] = slope * data[j][i] + offset;\n }\n }\n\n return data;\n};\n\n\n/***/ }),\n\n/***/ \"4efe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mouseOffset = __webpack_require__(\"8b98\");\nvar hasHover = __webpack_require__(\"2c8d\");\nvar supportsPassive = __webpack_require__(\"1477\");\n\nvar removeElement = __webpack_require__(\"fc26\").removeElement;\nvar constants = __webpack_require__(\"d301\");\n\nvar dragElement = module.exports = {};\n\ndragElement.align = __webpack_require__(\"296e\");\ndragElement.getCursor = __webpack_require__(\"13a4\");\n\nvar unhover = __webpack_require__(\"855b\");\ndragElement.unhover = unhover.wrapped;\ndragElement.unhoverRaw = unhover.raw;\n\n/**\n * Abstracts click & drag interactions\n *\n * During the interaction, a \"coverSlip\" element - a transparent\n * div covering the whole page - is created, which has two key effects:\n * - Lets you drag beyond the boundaries of the plot itself without\n * dropping (but if you drag all the way out of the browser window the\n * interaction will end)\n * - Freezes the cursor: whatever mouse cursor the drag element had when the\n * interaction started gets copied to the coverSlip for use until mouseup\n *\n * If the user executes a drag bigger than MINDRAG, callbacks will fire as:\n * prepFn, moveFn (1 or more times), doneFn\n * If the user does not drag enough, prepFn and clickFn will fire.\n *\n * Note: If you cancel contextmenu, clickFn will fire even with a right click\n * (unlike native events) so you'll get a `plotly_click` event. Cancel context eg:\n * gd.addEventListener('contextmenu', function(e) { e.preventDefault(); });\n * TODO: we should probably turn this into a `config` parameter, so we can fix it\n * such that if you *don't* cancel contextmenu, we can prevent partial drags, which\n * put you in a weird state.\n *\n * If the user clicks multiple times quickly, clickFn will fire each time\n * but numClicks will increase to help you recognize doubleclicks.\n *\n * @param {object} options with keys:\n * element (required) the DOM element to drag\n * prepFn (optional) function(event, startX, startY)\n * executed on mousedown\n * startX and startY are the clientX and clientY pixel position\n * of the mousedown event\n * moveFn (optional) function(dx, dy)\n * executed on move, ONLY after we've exceeded MINDRAG\n * (we keep executing moveFn if you move back to where you started)\n * dx and dy are the net pixel offset of the drag,\n * dragged is true/false, has the mouse moved enough to\n * constitute a drag\n * doneFn (optional) function(e)\n * executed on mouseup, ONLY if we exceeded MINDRAG (so you can be\n * sure that moveFn has been called at least once)\n * numClicks is how many clicks we've registered within\n * a doubleclick time\n * e is the original mouseup event\n * clickFn (optional) function(numClicks, e)\n * executed on mouseup if we have NOT exceeded MINDRAG (ie moveFn\n * has not been called at all)\n * numClicks is how many clicks we've registered within\n * a doubleclick time\n * e is the original mousedown event\n * clampFn (optional, function(dx, dy) return [dx2, dy2])\n * Provide custom clamping function for small displacements.\n * By default, clamping is done using `minDrag` to x and y displacements\n * independently.\n */\ndragElement.init = function init(options) {\n var gd = options.gd;\n var numClicks = 1;\n var doubleClickDelay = gd._context.doubleClickDelay;\n var element = options.element;\n\n var startX,\n startY,\n newMouseDownTime,\n cursor,\n dragCover,\n initialEvent,\n initialTarget,\n rightClick;\n\n if(!gd._mouseDownTime) gd._mouseDownTime = 0;\n\n element.style.pointerEvents = 'all';\n\n element.onmousedown = onStart;\n\n if(!supportsPassive) {\n element.ontouchstart = onStart;\n } else {\n if(element._ontouchstart) {\n element.removeEventListener('touchstart', element._ontouchstart);\n }\n element._ontouchstart = onStart;\n element.addEventListener('touchstart', onStart, {passive: false});\n }\n\n function _clampFn(dx, dy, minDrag) {\n if(Math.abs(dx) < minDrag) dx = 0;\n if(Math.abs(dy) < minDrag) dy = 0;\n return [dx, dy];\n }\n\n var clampFn = options.clampFn || _clampFn;\n\n function onStart(e) {\n // make dragging and dragged into properties of gd\n // so that others can look at and modify them\n gd._dragged = false;\n gd._dragging = true;\n var offset = pointerOffset(e);\n startX = offset[0];\n startY = offset[1];\n initialTarget = e.target;\n initialEvent = e;\n rightClick = e.buttons === 2 || e.ctrlKey;\n\n // fix Fx.hover for touch events\n if(typeof e.clientX === 'undefined' && typeof e.clientY === 'undefined') {\n e.clientX = startX;\n e.clientY = startY;\n }\n\n newMouseDownTime = (new Date()).getTime();\n if(newMouseDownTime - gd._mouseDownTime < doubleClickDelay) {\n // in a click train\n numClicks += 1;\n } else {\n // new click train\n numClicks = 1;\n gd._mouseDownTime = newMouseDownTime;\n }\n\n if(options.prepFn) options.prepFn(e, startX, startY);\n\n if(hasHover && !rightClick) {\n dragCover = coverSlip();\n dragCover.style.cursor = window.getComputedStyle(element).cursor;\n } else if(!hasHover) {\n // document acts as a dragcover for mobile, bc we can't create dragcover dynamically\n dragCover = document;\n cursor = window.getComputedStyle(document.documentElement).cursor;\n document.documentElement.style.cursor = window.getComputedStyle(element).cursor;\n }\n\n document.addEventListener('mouseup', onDone);\n document.addEventListener('touchend', onDone);\n\n if(options.dragmode !== false) {\n e.preventDefault();\n document.addEventListener('mousemove', onMove);\n document.addEventListener('touchmove', onMove, {passive: false});\n }\n\n return;\n }\n\n function onMove(e) {\n e.preventDefault();\n\n var offset = pointerOffset(e);\n var minDrag = options.minDrag || constants.MINDRAG;\n var dxdy = clampFn(offset[0] - startX, offset[1] - startY, minDrag);\n var dx = dxdy[0];\n var dy = dxdy[1];\n\n if(dx || dy) {\n gd._dragged = true;\n dragElement.unhover(gd);\n }\n\n if(gd._dragged && options.moveFn && !rightClick) {\n gd._dragdata = {\n element: element,\n dx: dx,\n dy: dy\n };\n options.moveFn(dx, dy);\n }\n\n return;\n }\n\n function onDone(e) {\n delete gd._dragdata;\n\n if(options.dragmode !== false) {\n e.preventDefault();\n document.removeEventListener('mousemove', onMove);\n document.removeEventListener('touchmove', onMove);\n }\n\n document.removeEventListener('mouseup', onDone);\n document.removeEventListener('touchend', onDone);\n\n if(hasHover) {\n removeElement(dragCover);\n } else if(cursor) {\n dragCover.documentElement.style.cursor = cursor;\n cursor = null;\n }\n\n if(!gd._dragging) {\n gd._dragged = false;\n return;\n }\n gd._dragging = false;\n\n // don't count as a dblClick unless the mouseUp is also within\n // the dblclick delay\n if((new Date()).getTime() - gd._mouseDownTime > doubleClickDelay) {\n numClicks = Math.max(numClicks - 1, 1);\n }\n\n if(gd._dragged) {\n if(options.doneFn) options.doneFn();\n } else {\n if(options.clickFn) options.clickFn(numClicks, initialEvent);\n\n // If we haven't dragged, this should be a click. But because of the\n // coverSlip changing the element, the natural system might not generate one,\n // so we need to make our own. But right clicks don't normally generate\n // click events, only contextmenu events, which happen on mousedown.\n if(!rightClick) {\n var e2;\n\n try {\n e2 = new MouseEvent('click', e);\n } catch(err) {\n var offset = pointerOffset(e);\n e2 = document.createEvent('MouseEvents');\n e2.initMouseEvent('click',\n e.bubbles, e.cancelable,\n e.view, e.detail,\n e.screenX, e.screenY,\n offset[0], offset[1],\n e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,\n e.button, e.relatedTarget);\n }\n\n initialTarget.dispatchEvent(e2);\n }\n }\n\n gd._dragging = false;\n gd._dragged = false;\n return;\n }\n};\n\nfunction coverSlip() {\n var cover = document.createElement('div');\n\n cover.className = 'dragcover';\n var cStyle = cover.style;\n cStyle.position = 'fixed';\n cStyle.left = 0;\n cStyle.right = 0;\n cStyle.top = 0;\n cStyle.bottom = 0;\n cStyle.zIndex = 999999999;\n cStyle.background = 'none';\n\n document.body.appendChild(cover);\n\n return cover;\n}\n\ndragElement.coverSlip = coverSlip;\n\nfunction pointerOffset(e) {\n return mouseOffset(\n e.changedTouches ? e.changedTouches[0] : e,\n document.body\n );\n}\n\n\n/***/ }),\n\n/***/ \"4f25\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar glslify = __webpack_require__(\"e98f\")\n\nmodule.exports = {\n fragment: glslify([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),\n vertex: glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n fragColor = color;\\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),\n pickFragment: glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n vec2 d = step(.5, vWeight);\\n vec4 id = fragId + pickOffset;\\n id.x += d.x + d.y*shape.x;\\n\\n id.y += floor(id.x / 256.0);\\n id.x -= floor(id.x / 256.0) * 256.0;\\n\\n id.z += floor(id.y / 256.0);\\n id.y -= floor(id.y / 256.0) * 256.0;\\n\\n id.w += floor(id.z / 256.0);\\n id.z -= floor(id.z / 256.0) * 256.0;\\n\\n gl_FragColor = id/255.;\\n}\\n\"]),\n pickVertex: glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n vWeight = weight;\\n\\n fragId = pickId;\\n\\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])\n}\n\n\n/***/ }),\n\n/***/ \"4f4d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n/***/ }),\n\n/***/ \"4f65\":\n/***/ (function(module, exports) {\n\nmodule.exports = rotateY;\n\n/**\n * Rotate a 3D vector around the y-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nfunction rotateY(out, a, b, c){\n var bx = b[0]\n var bz = b[2]\n\n // translate point to the origin\n var px = a[0] - bx\n var pz = a[2] - bz\n \n var sc = Math.sin(c)\n var cc = Math.cos(c)\n \n // perform rotation and translate to correct position\n out[0] = bx + pz * sc + px * cc\n out[1] = a[1]\n out[2] = bz + pz * cc - px * sc\n \n return out\n}\n\n\n/***/ }),\n\n/***/ \"4f94\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"1ebf\"),\n layoutAttributes: __webpack_require__(\"60dc\"),\n supplyDefaults: __webpack_require__(\"abc9\").supplyDefaults,\n crossTraceDefaults: __webpack_require__(\"abc9\").crossTraceDefaults,\n supplyLayoutDefaults: __webpack_require__(\"06ad\").supplyLayoutDefaults,\n calc: __webpack_require__(\"6a77\"),\n crossTraceCalc: __webpack_require__(\"f4b3\").crossTraceCalc,\n plot: __webpack_require__(\"d34f\").plot,\n style: __webpack_require__(\"b4c7\").style,\n styleOnSelect: __webpack_require__(\"b4c7\").styleOnSelect,\n hoverPoints: __webpack_require__(\"fa10\").hoverPoints,\n eventData: __webpack_require__(\"5885\"),\n selectPoints: __webpack_require__(\"71b1\"),\n\n moduleType: 'trace',\n name: 'box',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', 'symbols', 'oriented', 'box-violin', 'showLegend', 'boxLayout', 'zoomScale'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"4fc7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"af50\");\n\n\n/***/ }),\n\n/***/ \"4ffa\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = extractPlanes\n\nfunction extractPlanes(M, zNear, zFar) {\n var z = zNear || 0.0\n var zf = zFar || 1.0\n return [\n [ M[12] + M[0], M[13] + M[1], M[14] + M[2], M[15] + M[3] ],\n [ M[12] - M[0], M[13] - M[1], M[14] - M[2], M[15] - M[3] ],\n [ M[12] + M[4], M[13] + M[5], M[14] + M[6], M[15] + M[7] ],\n [ M[12] - M[4], M[13] - M[5], M[14] - M[6], M[15] - M[7] ],\n [ z*M[12] + M[8], z*M[13] + M[9], z*M[14] + M[10], z*M[15] + M[11] ],\n [ zf*M[12] - M[8], zf*M[13] - M[9], zf*M[14] - M[10], zf*M[15] - M[11] ]\n ]\n}\n\n/***/ }),\n\n/***/ \"5008\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"d798\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nmodule.exports = function handleTickLabelDefaults(containerIn, containerOut, coerce, axType, options, config) {\n if(!config || config.pass === 1) {\n handlePrefixSuffix(containerIn, containerOut, coerce, axType, options);\n }\n\n if(!config || config.pass === 2) {\n handleOtherDefaults(containerIn, containerOut, coerce, axType, options);\n }\n};\n\nfunction handlePrefixSuffix(containerIn, containerOut, coerce, axType, options) {\n var showAttrDflt = getShowAttrDflt(containerIn);\n\n var tickPrefix = coerce('tickprefix');\n if(tickPrefix) coerce('showtickprefix', showAttrDflt);\n\n var tickSuffix = coerce('ticksuffix', options.tickSuffixDflt);\n if(tickSuffix) coerce('showticksuffix', showAttrDflt);\n}\n\nfunction handleOtherDefaults(containerIn, containerOut, coerce, axType, options) {\n var showAttrDflt = getShowAttrDflt(containerIn);\n\n var tickPrefix = coerce('tickprefix');\n if(tickPrefix) coerce('showtickprefix', showAttrDflt);\n\n var tickSuffix = coerce('ticksuffix', options.tickSuffixDflt);\n if(tickSuffix) coerce('showticksuffix', showAttrDflt);\n\n var showTickLabels = coerce('showticklabels');\n if(showTickLabels) {\n var font = options.font || {};\n var contColor = containerOut.color;\n // as with titlefont.color, inherit axis.color only if one was\n // explicitly provided\n var dfltFontColor = (contColor && contColor !== layoutAttributes.color.dflt) ?\n contColor : font.color;\n Lib.coerceFont(coerce, 'tickfont', {\n family: font.family,\n size: font.size,\n color: dfltFontColor\n });\n coerce('tickangle');\n\n if(axType !== 'category') {\n var tickFormat = coerce('tickformat');\n var tickformatStops = containerIn.tickformatstops;\n if(Array.isArray(tickformatStops) && tickformatStops.length) {\n handleArrayContainerDefaults(containerIn, containerOut, {\n name: 'tickformatstops',\n inclusionAttr: 'enabled',\n handleItemDefaults: tickformatstopDefaults\n });\n }\n if(!tickFormat && axType !== 'date') {\n coerce('showexponent', showAttrDflt);\n coerce('exponentformat');\n coerce('separatethousands');\n }\n }\n }\n}\n\n/*\n * Attributes 'showexponent', 'showtickprefix' and 'showticksuffix'\n * share values.\n *\n * If only 1 attribute is set,\n * the remaining attributes inherit that value.\n *\n * If 2 attributes are set to the same value,\n * the remaining attribute inherits that value.\n *\n * If 2 attributes are set to different values,\n * the remaining is set to its dflt value.\n *\n */\nfunction getShowAttrDflt(containerIn) {\n var showAttrsAll = ['showexponent', 'showtickprefix', 'showticksuffix'];\n var showAttrs = showAttrsAll.filter(function(a) {\n return containerIn[a] !== undefined;\n });\n var sameVal = function(a) {\n return containerIn[a] === containerIn[showAttrs[0]];\n };\n\n if(showAttrs.every(sameVal) || showAttrs.length === 1) {\n return containerIn[showAttrs[0]];\n }\n}\n\nfunction tickformatstopDefaults(valueIn, valueOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(valueIn, valueOut, layoutAttributes.tickformatstops, attr, dflt);\n }\n\n var enabled = coerce('enabled');\n if(enabled) {\n coerce('dtickrange');\n coerce('value');\n }\n}\n\n\n/***/ }),\n\n/***/ \"5047\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Color = __webpack_require__(\"d115\");\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar colorscaleDefaults = __webpack_require__(\"4183\");\n\nvar subTypes = __webpack_require__(\"de81\");\n\n/*\n * opts: object of flags to control features not all marker users support\n * noLine: caller does not support marker lines\n * gradient: caller supports gradients\n * noSelect: caller does not support selected/unselected attribute containers\n */\nmodule.exports = function markerDefaults(traceIn, traceOut, defaultColor, layout, coerce, opts) {\n var isBubble = subTypes.isBubble(traceIn);\n var lineColor = (traceIn.line || {}).color;\n var defaultMLC;\n\n opts = opts || {};\n\n // marker.color inherit from line.color (even if line.color is an array)\n if(lineColor) defaultColor = lineColor;\n\n coerce('marker.symbol');\n coerce('marker.opacity', isBubble ? 0.7 : 1);\n coerce('marker.size');\n\n coerce('marker.color', defaultColor);\n if(hasColorscale(traceIn, 'marker')) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.', cLetter: 'c'});\n }\n\n if(!opts.noSelect) {\n coerce('selected.marker.color');\n coerce('unselected.marker.color');\n coerce('selected.marker.size');\n coerce('unselected.marker.size');\n }\n\n if(!opts.noLine) {\n // if there's a line with a different color than the marker, use\n // that line color as the default marker line color\n // (except when it's an array)\n // mostly this is for transparent markers to behave nicely\n if(lineColor && !Array.isArray(lineColor) && (traceOut.marker.color !== lineColor)) {\n defaultMLC = lineColor;\n } else if(isBubble) defaultMLC = Color.background;\n else defaultMLC = Color.defaultLine;\n\n coerce('marker.line.color', defaultMLC);\n if(hasColorscale(traceIn, 'marker.line')) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.line.', cLetter: 'c'});\n }\n\n coerce('marker.line.width', isBubble ? 1 : 0);\n }\n\n if(isBubble) {\n coerce('marker.sizeref');\n coerce('marker.sizemin');\n coerce('marker.sizemode');\n }\n\n if(opts.gradient) {\n var gradientType = coerce('marker.gradient.type');\n if(gradientType !== 'none') {\n coerce('marker.gradient.color');\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"5053\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"8be6\")\n\n\n/***/ }),\n\n/***/ \"50c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/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/***/ \"50da\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar constants = __webpack_require__(\"b326\");\n\nexports.isOpenSymbol = function(symbol) {\n return (typeof symbol === 'string') ?\n constants.OPEN_RE.test(symbol) :\n symbol % 200 > 100;\n};\n\nexports.isDotSymbol = function(symbol) {\n return (typeof symbol === 'string') ?\n constants.DOT_RE.test(symbol) :\n symbol > 200;\n};\n\n\n/***/ }),\n\n/***/ \"510f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Color = __webpack_require__(\"d115\");\n\nvar heatmapHoverPoints = __webpack_require__(\"d6fb\");\n\nmodule.exports = function hoverPoints(pointData, xval, yval, hovermode, hoverLayer) {\n var hoverData = heatmapHoverPoints(pointData, xval, yval, hovermode, hoverLayer, true);\n\n if(hoverData) {\n hoverData.forEach(function(hoverPt) {\n var trace = hoverPt.trace;\n if(trace.contours.type === 'constraint') {\n if(trace.fillcolor && Color.opacity(trace.fillcolor)) {\n hoverPt.color = Color.addOpacity(trace.fillcolor, 1);\n } else if(trace.contours.showlines && Color.opacity(trace.line.color)) {\n hoverPt.color = Color.addOpacity(trace.line.color, 1);\n }\n }\n });\n }\n\n return hoverData;\n};\n\n\n/***/ }),\n\n/***/ \"5135\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"5243\":\n/***/ (function(module, exports) {\n\nmodule.exports = normalize\n\n/**\n * Normalize a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a vector to normalize\n * @returns {vec4} out\n */\nfunction normalize (out, a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3]\n var len = x * x + y * y + z * z + w * w\n if (len > 0) {\n len = 1 / Math.sqrt(len)\n out[0] = x * len\n out[1] = y * len\n out[2] = z * len\n out[3] = w * len\n }\n return out\n}\n\n\n/***/ }),\n\n/***/ \"52d8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"a08c\"),\n supplyDefaults: __webpack_require__(\"07dd\").supplyDefaults,\n calc: __webpack_require__(\"edf7\"),\n colorbar: {\n min: 'cmin',\n max: 'cmax'\n },\n plot: __webpack_require__(\"caf7\").createIsosurfaceTrace,\n\n moduleType: 'trace',\n name: 'isosurface',\n basePlotModule: __webpack_require__(\"134c\"),\n categories: ['gl3d', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"52e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Registry = __webpack_require__(\"371e\");\n\nfunction style(gd) {\n var s = d3.select(gd).selectAll('g.trace.scatter');\n\n s.style('opacity', function(d) {\n return d[0].trace.opacity;\n });\n\n s.selectAll('g.points').each(function(d) {\n var sel = d3.select(this);\n var trace = d.trace || d[0].trace;\n stylePoints(sel, trace, gd);\n });\n\n s.selectAll('g.text').each(function(d) {\n var sel = d3.select(this);\n var trace = d.trace || d[0].trace;\n styleText(sel, trace, gd);\n });\n\n s.selectAll('g.trace path.js-line')\n .call(Drawing.lineGroupStyle);\n\n s.selectAll('g.trace path.js-fill')\n .call(Drawing.fillGroupStyle);\n\n Registry.getComponentMethod('errorbars', 'style')(s);\n}\n\nfunction stylePoints(sel, trace, gd) {\n Drawing.pointStyle(sel.selectAll('path.point'), trace, gd);\n}\n\nfunction styleText(sel, trace, gd) {\n Drawing.textPointStyle(sel.selectAll('text'), trace, gd);\n}\n\nfunction styleOnSelect(gd, cd, sel) {\n var trace = cd[0].trace;\n\n if(trace.selectedpoints) {\n Drawing.selectedPointStyle(sel.selectAll('path.point'), trace);\n Drawing.selectedTextStyle(sel.selectAll('text'), trace);\n } else {\n stylePoints(sel, trace, gd);\n styleText(sel, trace, gd);\n }\n}\n\nmodule.exports = {\n style: style,\n stylePoints: stylePoints,\n styleText: styleText,\n styleOnSelect: styleOnSelect\n};\n\n\n/***/ }),\n\n/***/ \"5319\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(\"d784\");\nvar anObject = __webpack_require__(\"825a\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar advanceStringIndex = __webpack_require__(\"8aa5\");\nvar regExpExec = __webpack_require__(\"14c3\");\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\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.github.io/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.github.io/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 // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(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 nativeReplace.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\n/***/ \"531f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar glslify = __webpack_require__(\"e98f\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar vertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n vec4 worldPosition = model * vec4(position, 1.0);\\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n gl_Position = projection * view * worldPosition;\\n fragColor = color;\\n fragPosition = position;\\n}\"])\nvar fragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n gl_FragColor = opacity * fragColor;\\n}\"])\n\nmodule.exports = function(gl) {\n return createShader(gl, vertSrc, fragSrc, null, [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'offset', type: 'vec3'}\n ])\n}\n\n\n/***/ }),\n\n/***/ \"5348\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar isosurfaceAttrs = __webpack_require__(\"a08c\");\nvar baseAttrs = __webpack_require__(\"a876\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar attrs = module.exports = overrideAll(extendFlat({\n x: isosurfaceAttrs.x,\n y: isosurfaceAttrs.y,\n z: isosurfaceAttrs.z,\n value: isosurfaceAttrs.value,\n isomin: isosurfaceAttrs.isomin,\n isomax: isosurfaceAttrs.isomax,\n surface: isosurfaceAttrs.surface,\n spaceframe: {\n show: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n fill: {\n valType: 'number',\n \n min: 0,\n max: 1,\n dflt: 1,\n \n }\n },\n\n slices: isosurfaceAttrs.slices,\n caps: isosurfaceAttrs.caps,\n text: isosurfaceAttrs.text,\n hovertext: isosurfaceAttrs.hovertext,\n hovertemplate: isosurfaceAttrs.hovertemplate\n},\n\ncolorScaleAttrs('', {\n colorAttr: '`value`',\n showScaleDflt: true,\n editTypeOverride: 'calc'\n}), {\n\n colorbar: isosurfaceAttrs.colorbar,\n opacity: isosurfaceAttrs.opacity,\n opacityscale: {\n valType: 'any',\n \n editType: 'calc',\n \n },\n\n lightposition: isosurfaceAttrs.lightposition,\n lighting: isosurfaceAttrs.lighting,\n flatshading: isosurfaceAttrs.flatshading,\n contour: isosurfaceAttrs.contour,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n}), 'calc', 'nested');\n\nattrs.x.editType = attrs.y.editType = attrs.z.editType = attrs.value.editType = 'calc+clearAxisTypes';\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"535c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar baseAttrs = __webpack_require__(\"a876\");\nvar scatterMapboxAttrs = __webpack_require__(\"74b4\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\n/*\n * - https://docs.mapbox.com/help/tutorials/make-a-heatmap-with-mapbox-gl-js/\n * - https://docs.mapbox.com/mapbox-gl-js/example/heatmap-layer/\n * - https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers-heatmap\n * - https://blog.mapbox.com/introducing-heatmaps-in-mapbox-gl-js-71355ada9e6c\n *\n * Gotchas:\n * - https://github.com/mapbox/mapbox-gl-js/issues/6463\n * - https://github.com/mapbox/mapbox-gl-js/issues/6112\n */\n\n/*\n *\n * In mathematical terms, Mapbox GL heatmaps are a bivariate (2D) kernel density\n * estimation with a Gaussian kernel. It means that each data point has an area\n * of โ€œinfluenceโ€ around it (called a kernel) where the numerical value of\n * influence (which we call density) decreases as you go further from the point.\n * If we sum density values of all points in every pixel of the screen, we get a\n * combined density value which we then map to a heatmap color.\n *\n */\n\nmodule.exports = extendFlat({\n lon: scatterMapboxAttrs.lon,\n lat: scatterMapboxAttrs.lat,\n\n z: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n radius: {\n valType: 'number',\n \n editType: 'plot',\n arrayOk: true,\n min: 1,\n dflt: 30,\n \n },\n\n below: {\n valType: 'string',\n \n editType: 'plot',\n \n },\n\n text: scatterMapboxAttrs.text,\n hovertext: scatterMapboxAttrs.hovertext,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['lon', 'lat', 'z', 'text', 'name']\n }),\n hovertemplate: hovertemplateAttrs(),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n},\n colorScaleAttrs('', {\n cLetter: 'z',\n editTypeOverride: 'calc'\n })\n);\n\n\n/***/ }),\n\n/***/ \"5374\":\n/***/ (function(module, exports) {\n\nmodule.exports = min\n\n/**\n * Returns the minimum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nfunction min (out, a, b) {\n out[0] = Math.min(a[0], b[0])\n out[1] = Math.min(a[1], b[1])\n out[2] = Math.min(a[2], b[2])\n out[3] = Math.min(a[3], b[3])\n return out\n}\n\n\n/***/ }),\n\n/***/ \"538c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar geoUtils = __webpack_require__(\"0919\");\nvar getTopojsonFeatures = __webpack_require__(\"c400\").getTopojsonFeatures;\nvar findExtremes = __webpack_require__(\"ce56\").findExtremes;\n\nvar style = __webpack_require__(\"e7ab\").style;\n\nfunction plot(gd, geo, calcData) {\n var choroplethLayer = geo.layers.backplot.select('.choroplethlayer');\n\n Lib.makeTraceGroups(choroplethLayer, calcData, 'trace choropleth').each(function(calcTrace) {\n var sel = d3.select(this);\n\n var paths = sel.selectAll('path.choroplethlocation')\n .data(Lib.identity);\n\n paths.enter().append('path')\n .classed('choroplethlocation', true);\n\n paths.exit().remove();\n\n // call style here within topojson request callback\n style(gd, calcTrace);\n });\n}\n\nfunction calcGeoJSON(calcTrace, fullLayout) {\n var trace = calcTrace[0].trace;\n var geoLayout = fullLayout[trace.geo];\n var geo = geoLayout._subplot;\n var locationmode = trace.locationmode;\n var len = trace._length;\n\n var features = locationmode === 'geojson-id' ?\n geoUtils.extractTraceFeature(calcTrace) :\n getTopojsonFeatures(trace, geo.topojson);\n\n var lonArray = [];\n var latArray = [];\n\n for(var i = 0; i < len; i++) {\n var calcPt = calcTrace[i];\n var feature = locationmode === 'geojson-id' ?\n calcPt.fOut :\n geoUtils.locationToFeature(locationmode, calcPt.loc, features);\n\n if(feature) {\n calcPt.geojson = feature;\n calcPt.ct = feature.properties.ct;\n calcPt._polygons = geoUtils.feature2polygons(feature);\n\n var bboxFeature = geoUtils.computeBbox(feature);\n lonArray.push(bboxFeature[0], bboxFeature[2]);\n latArray.push(bboxFeature[1], bboxFeature[3]);\n } else {\n calcPt.geojson = null;\n }\n }\n\n if(geoLayout.fitbounds === 'geojson' && locationmode === 'geojson-id') {\n var bboxGeojson = geoUtils.computeBbox(geoUtils.getTraceGeojson(trace));\n lonArray = [bboxGeojson[0], bboxGeojson[2]];\n latArray = [bboxGeojson[1], bboxGeojson[3]];\n }\n\n var opts = {padded: true};\n trace._extremes.lon = findExtremes(geoLayout.lonaxis._ax, lonArray, opts);\n trace._extremes.lat = findExtremes(geoLayout.lataxis._ax, latArray, opts);\n}\n\nmodule.exports = {\n calcGeoJSON: calcGeoJSON,\n plot: plot\n};\n\n\n/***/ }),\n\n/***/ \"53a5\":\n/***/ (function(module, exports) {\n\nmodule.exports = clamp\n\nfunction clamp(value, min, max) {\n return min < max\n ? (value < min ? min : value > max ? max : value)\n : (value < max ? max : value > min ? min : value)\n}\n\n\n/***/ }),\n\n/***/ \"53cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = stronglyConnectedComponents\n\nfunction stronglyConnectedComponents(adjList) {\n var numVertices = adjList.length;\n var index = new Array(numVertices)\n var lowValue = new Array(numVertices)\n var active = new Array(numVertices)\n var child = new Array(numVertices)\n var scc = new Array(numVertices)\n var sccLinks = new Array(numVertices)\n \n //Initialize tables\n for(var i=0; i 0) {\n v = T[T.length-1]\n var e = adjList[v]\n if (child[v] < e.length) { // If we're not done iterating over the children, first try finishing that.\n for(var i=child[v]; i= 0) {\n // Node v is not yet assigned an scc, but once it is that scc can apparently reach scc[u].\n sccLinks[v].push(scc[u])\n }\n }\n child[v] = i // Remember where we left off.\n } else { // If we're done iterating over the children, check whether we have an scc.\n if(lowValue[v] === index[v]) { // TODO: It /might/ be true that T is always a prefix of S (at this point!!!), and if so, this could be used here.\n var component = []\n var links = [], linkCount = 0\n for(var i=S.length-1; i>=0; --i) {\n var w = S[i]\n active[w] = false\n component.push(w)\n links.push(sccLinks[w])\n linkCount += sccLinks[w].length\n scc[w] = components.length\n if(w === v) {\n S.length = i\n break\n }\n }\n components.push(component)\n var allLinks = new Array(linkCount)\n for(var i=0; i= numVertices - 0.5) { // Note: the indices would be rounded -0.49 is valid.\n return false;\n }\n }\n return true;\n}\n\nproto.update = function(data) {\n var scene = this.scene;\n var layout = scene.fullSceneLayout;\n\n this.data = data;\n\n var numVertices = data.x.length;\n\n var positions = zip3(\n toDataCoords(layout.xaxis, data.x, scene.dataScale[0], data.xcalendar),\n toDataCoords(layout.yaxis, data.y, scene.dataScale[1], data.ycalendar),\n toDataCoords(layout.zaxis, data.z, scene.dataScale[2], data.zcalendar)\n );\n\n var cells;\n if(data.i && data.j && data.k) {\n if(\n data.i.length !== data.j.length ||\n data.j.length !== data.k.length ||\n !hasValidIndices(data.i, numVertices) ||\n !hasValidIndices(data.j, numVertices) ||\n !hasValidIndices(data.k, numVertices)\n ) {\n return;\n }\n cells = zip3(\n toRoundIndex(data.i),\n toRoundIndex(data.j),\n toRoundIndex(data.k)\n );\n } else if(data.alphahull === 0) {\n cells = convexHull(positions);\n } else if(data.alphahull > 0) {\n cells = alphaShape(data.alphahull, positions);\n } else {\n cells = delaunayCells(data.delaunayaxis, positions);\n }\n\n var config = {\n positions: positions,\n cells: cells,\n lightPosition: [data.lightposition.x, data.lightposition.y, data.lightposition.z],\n ambient: data.lighting.ambient,\n diffuse: data.lighting.diffuse,\n specular: data.lighting.specular,\n roughness: data.lighting.roughness,\n fresnel: data.lighting.fresnel,\n vertexNormalsEpsilon: data.lighting.vertexnormalsepsilon,\n faceNormalsEpsilon: data.lighting.facenormalsepsilon,\n opacity: data.opacity,\n contourEnable: data.contour.show,\n contourColor: str2RgbaArray(data.contour.color).slice(0, 3),\n contourWidth: data.contour.width,\n useFacetNormals: data.flatshading\n };\n\n if(data.intensity) {\n var cOpts = extractOpts(data);\n this.color = '#fff';\n var mode = data.intensitymode;\n config[mode + 'Intensity'] = data.intensity;\n config[mode + 'IntensityBounds'] = [cOpts.min, cOpts.max];\n config.colormap = parseColorScale(data);\n } else if(data.vertexcolor) {\n this.color = data.vertexcolor[0];\n config.vertexColors = parseColorArray(data.vertexcolor);\n } else if(data.facecolor) {\n this.color = data.facecolor[0];\n config.cellColors = parseColorArray(data.facecolor);\n } else {\n this.color = data.color;\n config.meshColor = str2RgbaArray(data.color);\n }\n\n // Update mesh\n this.mesh.update(config);\n};\n\nproto.dispose = function() {\n this.scene.glplot.remove(this.mesh);\n this.mesh.dispose();\n};\n\nfunction createMesh3DTrace(scene, data) {\n var gl = scene.glplot.gl;\n var mesh = createMesh({gl: gl});\n var result = new Mesh3DTrace(scene, mesh, data.uid);\n mesh._trace = result;\n result.update(data);\n scene.glplot.add(mesh);\n return result;\n}\n\nmodule.exports = createMesh3DTrace;\n\n\n/***/ }),\n\n/***/ \"54ea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n Calendars extras for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar assign = __webpack_require__(\"320c\");\nvar main = __webpack_require__(\"0230\");\n\n\nassign(main.regionalOptions[''], {\n invalidArguments: 'Invalid arguments',\n invalidFormat: 'Cannot format a date from another calendar',\n missingNumberAt: 'Missing number at position {0}',\n unknownNameAt: 'Unknown name at position {0}',\n unexpectedLiteralAt: 'Unexpected literal at position {0}',\n unexpectedText: 'Additional text found at end'\n});\nmain.local = main.regionalOptions[''];\n\nassign(main.cdate.prototype, {\n\n /** Format this date.\n Found in the jquery.calendars.plus.js module.\n @memberof CDate\n @param [format] {string} The date format to use (see formatDate).\n @param [settings] {object} Options for the formatDate function.\n @return {string} The formatted date. */\n formatDate: function(format, settings) {\n if (typeof format !== 'string') {\n settings = format;\n format = '';\n }\n return this._calendar.formatDate(format || '', this, settings);\n }\n});\n\nassign(main.baseCalendar.prototype, {\n\n UNIX_EPOCH: main.instance().newDate(1970, 1, 1).toJD(),\n SECS_PER_DAY: 24 * 60 * 60,\n TICKS_EPOCH: main.instance().jdEpoch, // 1 January 0001 CE\n TICKS_PER_DAY: 24 * 60 * 60 * 10000000,\n\n /** Date form for ATOM (RFC 3339/ISO 8601).\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n ATOM: 'yyyy-mm-dd',\n /** Date form for cookies.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n COOKIE: 'D, dd M yyyy',\n /** Date form for full date.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n FULL: 'DD, MM d, yyyy',\n /** Date form for ISO 8601.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n ISO_8601: 'yyyy-mm-dd',\n /** Date form for Julian date.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n JULIAN: 'J',\n /** Date form for RFC 822.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_822: 'D, d M yy',\n /** Date form for RFC 850.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_850: 'DD, dd-M-yy',\n /** Date form for RFC 1036.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_1036: 'D, d M yy',\n /** Date form for RFC 1123.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_1123: 'D, d M yyyy',\n /** Date form for RFC 2822.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_2822: 'D, d M yyyy',\n /** Date form for RSS (RFC 822).\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RSS: 'D, d M yy',\n /** Date form for Windows ticks.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n TICKS: '!',\n /** Date form for Unix timestamp.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n TIMESTAMP: '@',\n /** Date form for W3c (ISO 8601).\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n W3C: 'yyyy-mm-dd',\n\n /** Format a date object into a string value.\n The format can be combinations of the following:\n

    \n
  • d - day of month (no leading zero)
  • \n
  • dd - day of month (two digit)
  • \n
  • o - day of year (no leading zeros)
  • \n
  • oo - day of year (three digit)
  • \n
  • D - day name short
  • \n
  • DD - day name long
  • \n
  • w - week of year (no leading zero)
  • \n
  • ww - week of year (two digit)
  • \n
  • m - month of year (no leading zero)
  • \n
  • mm - month of year (two digit)
  • \n
  • M - month name short
  • \n
  • MM - month name long
  • \n
  • yy - year (two digit)
  • \n
  • yyyy - year (four digit)
  • \n
  • YYYY - formatted year
  • \n
  • J - Julian date (days since January 1, 4713 BCE Greenwich noon)
  • \n
  • @ - Unix timestamp (s since 01/01/1970)
  • \n
  • ! - Windows ticks (100ns since 01/01/0001)
  • \n
  • '...' - literal text
  • \n
  • '' - single quote
  • \n
\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar\n @param [format] {string} The desired format of the date (defaults to calendar format).\n @param date {CDate} The date value to format.\n @param [settings] {object} Addition options, whose attributes include:\n @property [dayNamesShort] {string[]} Abbreviated names of the days from Sunday.\n @property [dayNames] {string[]} Names of the days from Sunday.\n @property [monthNamesShort] {string[]} Abbreviated names of the months.\n @property [monthNames] {string[]} Names of the months.\n @property [calculateWeek] {CalendarsPickerCalculateWeek} Function that determines week of the year.\n @property [localNumbers=false] {boolean} true to localise numbers (if available),\n false to use normal Arabic numerals.\n @return {string} The date in the above format.\n @throws Errors if the date is from a different calendar. */\n formatDate: function(format, date, settings) {\n if (typeof format !== 'string') {\n settings = date;\n date = format;\n format = '';\n }\n if (!date) {\n return '';\n }\n if (date.calendar() !== this) {\n throw main.local.invalidFormat || main.regionalOptions[''].invalidFormat;\n }\n format = format || this.local.dateFormat;\n settings = settings || {};\n var dayNamesShort = settings.dayNamesShort || this.local.dayNamesShort;\n var dayNames = settings.dayNames || this.local.dayNames;\n var monthNumbers = settings.monthNumbers || this.local.monthNumbers;\n var monthNamesShort = settings.monthNamesShort || this.local.monthNamesShort;\n var monthNames = settings.monthNames || this.local.monthNames;\n var calculateWeek = settings.calculateWeek || this.local.calculateWeek;\n // Check whether a format character is doubled\n var doubled = function(match, step) {\n var matches = 1;\n while (iFormat + matches < format.length && format.charAt(iFormat + matches) === match) {\n matches++;\n }\n iFormat += matches - 1;\n return Math.floor(matches / (step || 1)) > 1;\n };\n // Format a number, with leading zeroes if necessary\n var formatNumber = function(match, value, len, step) {\n var num = '' + value;\n if (doubled(match, step)) {\n while (num.length < len) {\n num = '0' + num;\n }\n }\n return num;\n };\n // Format a name, short or long as requested\n var formatName = function(match, value, shortNames, longNames) {\n return (doubled(match) ? longNames[value] : shortNames[value]);\n };\n // Format month number\n // (e.g. Chinese calendar needs to account for intercalary months)\n var calendar = this;\n var formatMonth = function(date) {\n return (typeof monthNumbers === 'function') ?\n monthNumbers.call(calendar, date, doubled('m')) :\n localiseNumbers(formatNumber('m', date.month(), 2));\n };\n // Format a month name, short or long as requested\n var formatMonthName = function(date, useLongName) {\n if (useLongName) {\n return (typeof monthNames === 'function') ?\n monthNames.call(calendar, date) :\n monthNames[date.month() - calendar.minMonth];\n } else {\n return (typeof monthNamesShort === 'function') ?\n monthNamesShort.call(calendar, date) :\n monthNamesShort[date.month() - calendar.minMonth];\n }\n };\n // Localise numbers if requested and available\n var digits = this.local.digits;\n var localiseNumbers = function(value) {\n return (settings.localNumbers && digits ? digits(value) : value);\n };\n var output = '';\n var literal = false;\n for (var iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !doubled(\"'\")) {\n literal = false;\n }\n else {\n output += format.charAt(iFormat);\n }\n }\n else {\n switch (format.charAt(iFormat)) {\n case 'd': output += localiseNumbers(formatNumber('d', date.day(), 2)); break;\n case 'D': output += formatName('D', date.dayOfWeek(),\n dayNamesShort, dayNames); break;\n case 'o': output += formatNumber('o', date.dayOfYear(), 3); break;\n case 'w': output += formatNumber('w', date.weekOfYear(), 2); break;\n case 'm': output += formatMonth(date); break;\n case 'M': output += formatMonthName(date, doubled('M')); break;\n case 'y':\n output += (doubled('y', 2) ? date.year() :\n (date.year() % 100 < 10 ? '0' : '') + date.year() % 100);\n break;\n case 'Y':\n doubled('Y', 2);\n output += date.formatYear();\n break;\n case 'J': output += date.toJD(); break;\n case '@': output += (date.toJD() - this.UNIX_EPOCH) * this.SECS_PER_DAY; break;\n case '!': output += (date.toJD() - this.TICKS_EPOCH) * this.TICKS_PER_DAY; break;\n case \"'\":\n if (doubled(\"'\")) {\n output += \"'\";\n }\n else {\n literal = true;\n }\n break;\n default:\n output += format.charAt(iFormat);\n }\n }\n }\n return output;\n },\n\n /** Parse a string value into a date object.\n See formatDate for the possible formats, plus:\n
    \n
  • * - ignore rest of string
  • \n
\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar\n @param format {string} The expected format of the date ('' for default calendar format).\n @param value {string} The date in the above format.\n @param [settings] {object} Additional options whose attributes include:\n @property [shortYearCutoff] {number} The cutoff year for determining the century.\n @property [dayNamesShort] {string[]} Abbreviated names of the days from Sunday.\n @property [dayNames] {string[]} Names of the days from Sunday.\n @property [monthNamesShort] {string[]} Abbreviated names of the months.\n @property [monthNames] {string[]} Names of the months.\n @return {CDate} The extracted date value or null if value is blank.\n @throws Errors if the format and/or value are missing,\n if the value doesn't match the format, or if the date is invalid. */\n parseDate: function(format, value, settings) {\n if (value == null) {\n throw main.local.invalidArguments || main.regionalOptions[''].invalidArguments;\n }\n value = (typeof value === 'object' ? value.toString() : value + '');\n if (value === '') {\n return null;\n }\n format = format || this.local.dateFormat;\n settings = settings || {};\n var shortYearCutoff = settings.shortYearCutoff || this.shortYearCutoff;\n shortYearCutoff = (typeof shortYearCutoff !== 'string' ? shortYearCutoff :\n this.today().year() % 100 + parseInt(shortYearCutoff, 10));\n var dayNamesShort = settings.dayNamesShort || this.local.dayNamesShort;\n var dayNames = settings.dayNames || this.local.dayNames;\n var parseMonth = settings.parseMonth || this.local.parseMonth;\n var monthNumbers = settings.monthNumbers || this.local.monthNumbers;\n var monthNamesShort = settings.monthNamesShort || this.local.monthNamesShort;\n var monthNames = settings.monthNames || this.local.monthNames;\n var jd = -1;\n var year = -1;\n var month = -1;\n var day = -1;\n var doy = -1;\n var shortYear = false;\n var literal = false;\n // Check whether a format character is doubled\n var doubled = function(match, step) {\n var matches = 1;\n while (iFormat + matches < format.length && format.charAt(iFormat + matches) === match) {\n matches++;\n }\n iFormat += matches - 1;\n return Math.floor(matches / (step || 1)) > 1;\n };\n // Extract a number from the string value\n var getNumber = function(match, step) {\n var isDoubled = doubled(match, step);\n var size = [2, 3, isDoubled ? 4 : 2, isDoubled ? 4 : 2, 10, 11, 20]['oyYJ@!'.indexOf(match) + 1];\n var digits = new RegExp('^-?\\\\d{1,' + size + '}');\n var num = value.substring(iValue).match(digits);\n if (!num) {\n throw (main.local.missingNumberAt || main.regionalOptions[''].missingNumberAt).\n replace(/\\{0\\}/, iValue);\n }\n iValue += num[0].length;\n return parseInt(num[0], 10);\n };\n // Extract a month number from the string value\n var calendar = this;\n var getMonthNumber = function() {\n if (typeof monthNumbers === 'function') {\n doubled('m'); // update iFormat\n var month = monthNumbers.call(calendar, value.substring(iValue));\n iValue += month.length;\n return month;\n }\n\n return getNumber('m');\n };\n // Extract a name from the string value and convert to an index\n var getName = function(match, shortNames, longNames, step) {\n var names = (doubled(match, step) ? longNames : shortNames);\n for (var i = 0; i < names.length; i++) {\n if (value.substr(iValue, names[i].length).toLowerCase() === names[i].toLowerCase()) {\n iValue += names[i].length;\n return i + calendar.minMonth;\n }\n }\n throw (main.local.unknownNameAt || main.regionalOptions[''].unknownNameAt).\n replace(/\\{0\\}/, iValue);\n };\n // Extract a month number from the string value\n var getMonthName = function() {\n if (typeof monthNames === 'function') {\n var month = doubled('M') ?\n monthNames.call(calendar, value.substring(iValue)) :\n monthNamesShort.call(calendar, value.substring(iValue));\n iValue += month.length;\n return month;\n }\n\n return getName('M', monthNamesShort, monthNames);\n };\n // Confirm that a literal character matches the string value\n var checkLiteral = function() {\n if (value.charAt(iValue) !== format.charAt(iFormat)) {\n throw (main.local.unexpectedLiteralAt ||\n main.regionalOptions[''].unexpectedLiteralAt).replace(/\\{0\\}/, iValue);\n }\n iValue++;\n };\n var iValue = 0;\n for (var iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !doubled(\"'\")) {\n literal = false;\n }\n else {\n checkLiteral();\n }\n }\n else {\n switch (format.charAt(iFormat)) {\n case 'd': day = getNumber('d'); break;\n case 'D': getName('D', dayNamesShort, dayNames); break;\n case 'o': doy = getNumber('o'); break;\n case 'w': getNumber('w'); break;\n case 'm': month = getMonthNumber(); break;\n case 'M': month = getMonthName(); break;\n case 'y':\n var iSave = iFormat;\n shortYear = !doubled('y', 2);\n iFormat = iSave;\n year = getNumber('y', 2);\n break;\n case 'Y': year = getNumber('Y', 2); break;\n case 'J':\n jd = getNumber('J') + 0.5;\n if (value.charAt(iValue) === '.') {\n iValue++;\n getNumber('J');\n }\n break;\n case '@': jd = getNumber('@') / this.SECS_PER_DAY + this.UNIX_EPOCH; break;\n case '!': jd = getNumber('!') / this.TICKS_PER_DAY + this.TICKS_EPOCH; break;\n case '*': iValue = value.length; break;\n case \"'\":\n if (doubled(\"'\")) {\n checkLiteral();\n }\n else {\n literal = true;\n }\n break;\n default: checkLiteral();\n }\n }\n }\n if (iValue < value.length) {\n throw main.local.unexpectedText || main.regionalOptions[''].unexpectedText;\n }\n if (year === -1) {\n year = this.today().year();\n }\n else if (year < 100 && shortYear) {\n year += (shortYearCutoff === -1 ? 1900 : this.today().year() -\n this.today().year() % 100 - (year <= shortYearCutoff ? 0 : 100));\n }\n if (typeof month === 'string') {\n month = parseMonth.call(this, year, month);\n }\n if (doy > -1) {\n month = 1;\n day = doy;\n for (var dim = this.daysInMonth(year, month); day > dim; dim = this.daysInMonth(year, month)) {\n month++;\n day -= dim;\n }\n }\n return (jd > -1 ? this.fromJD(jd) : this.newDate(year, month, day));\n },\n\n /** A date may be specified as an exact value or a relative one.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar\n @param dateSpec {CDate|number|string} The date as an object or string in the given format or\n an offset - numeric days from today, or string amounts and periods, e.g. '+1m +2w'.\n @param defaultDate {CDate} The date to use if no other supplied, may be null.\n @param currentDate {CDate} The current date as a possible basis for relative dates,\n if null today is used (optional)\n @param [dateFormat] {string} The expected date format - see formatDate.\n @param [settings] {object} Additional options whose attributes include:\n @property [shortYearCutoff] {number} The cutoff year for determining the century.\n @property [dayNamesShort] {string[]} Abbreviated names of the days from Sunday.\n @property [dayNames] {string[]} Names of the days from Sunday.\n @property [monthNamesShort] {string[]} Abbreviated names of the months.\n @property [monthNames] {string[]} Names of the months.\n @return {CDate} The decoded date. */\n determineDate: function(dateSpec, defaultDate, currentDate, dateFormat, settings) {\n if (currentDate && typeof currentDate !== 'object') {\n settings = dateFormat;\n dateFormat = currentDate;\n currentDate = null;\n }\n if (typeof dateFormat !== 'string') {\n settings = dateFormat;\n dateFormat = '';\n }\n var calendar = this;\n var offsetString = function(offset) {\n try {\n return calendar.parseDate(dateFormat, offset, settings);\n }\n catch (e) {\n // Ignore\n }\n offset = offset.toLowerCase();\n var date = (offset.match(/^c/) && currentDate ?\n currentDate.newDate() : null) || calendar.today();\n var pattern = /([+-]?[0-9]+)\\s*(d|w|m|y)?/g;\n var matches = pattern.exec(offset);\n while (matches) {\n date.add(parseInt(matches[1], 10), matches[2] || 'd');\n matches = pattern.exec(offset);\n }\n return date;\n };\n defaultDate = (defaultDate ? defaultDate.newDate() : null);\n dateSpec = (dateSpec == null ? defaultDate :\n (typeof dateSpec === 'string' ? offsetString(dateSpec) : (typeof dateSpec === 'number' ?\n (isNaN(dateSpec) || dateSpec === Infinity || dateSpec === -Infinity ? defaultDate :\n calendar.today().add(dateSpec, 'd')) : calendar.newDate(dateSpec))));\n return dateSpec;\n }\n});\n\n\n\n/***/ }),\n\n/***/ \"5506\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Polar = module.exports = __webpack_require__(\"3a99\");\n\nPolar.manager = __webpack_require__(\"2381\");\n\n\n/***/ }),\n\n/***/ \"551a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar DEFAULT_VERTEX_NORMALS_EPSILON = 1e-6; // may be too large if triangles are very small\nvar DEFAULT_FACE_NORMALS_EPSILON = 1e-6;\n\nvar createShader = __webpack_require__(\"28dd\")\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createTexture = __webpack_require__(\"1d5b\")\nvar normals = __webpack_require__(\"075f\")\nvar multiply = __webpack_require__(\"1417\")\nvar invert = __webpack_require__(\"9343\")\nvar ndarray = __webpack_require__(\"b5bb\")\nvar colormap = __webpack_require__(\"595c\")\nvar getContour = __webpack_require__(\"b7f8\")\nvar pool = __webpack_require__(\"cea5\")\nvar shaders = __webpack_require__(\"38eb\")\nvar closestPoint = __webpack_require__(\"b82b\")\n\nvar meshShader = shaders.meshShader\nvar wireShader = shaders.wireShader\nvar pointShader = shaders.pointShader\nvar pickShader = shaders.pickShader\nvar pointPickShader = shaders.pointPickShader\nvar contourShader = shaders.contourShader\n\nvar IDENTITY = [\n 1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\n\nfunction SimplicialMesh(gl\n , texture\n , triShader\n , lineShader\n , pointShader\n , pickShader\n , pointPickShader\n , contourShader\n , trianglePositions\n , triangleIds\n , triangleColors\n , triangleUVs\n , triangleNormals\n , triangleVAO\n , edgePositions\n , edgeIds\n , edgeColors\n , edgeUVs\n , edgeVAO\n , pointPositions\n , pointIds\n , pointColors\n , pointUVs\n , pointSizes\n , pointVAO\n , contourPositions\n , contourVAO) {\n\n this.gl = gl\n this.pixelRatio = 1\n this.cells = []\n this.positions = []\n this.intensity = []\n this.texture = texture\n this.dirty = true\n\n this.triShader = triShader\n this.lineShader = lineShader\n this.pointShader = pointShader\n this.pickShader = pickShader\n this.pointPickShader = pointPickShader\n this.contourShader = contourShader\n\n this.trianglePositions = trianglePositions\n this.triangleColors = triangleColors\n this.triangleNormals = triangleNormals\n this.triangleUVs = triangleUVs\n this.triangleIds = triangleIds\n this.triangleVAO = triangleVAO\n this.triangleCount = 0\n\n this.lineWidth = 1\n this.edgePositions = edgePositions\n this.edgeColors = edgeColors\n this.edgeUVs = edgeUVs\n this.edgeIds = edgeIds\n this.edgeVAO = edgeVAO\n this.edgeCount = 0\n\n this.pointPositions = pointPositions\n this.pointColors = pointColors\n this.pointUVs = pointUVs\n this.pointSizes = pointSizes\n this.pointIds = pointIds\n this.pointVAO = pointVAO\n this.pointCount = 0\n\n this.contourLineWidth = 1\n this.contourPositions = contourPositions\n this.contourVAO = contourVAO\n this.contourCount = 0\n this.contourColor = [0,0,0]\n this.contourEnable = true\n\n this.pickId = 1\n this.bounds = [\n [ Infinity, Infinity, Infinity],\n [-Infinity,-Infinity,-Infinity] ]\n this.clipBounds = [\n [-Infinity,-Infinity,-Infinity],\n [ Infinity, Infinity, Infinity] ]\n\n this.lightPosition = [1e5, 1e5, 0]\n this.ambientLight = 0.8\n this.diffuseLight = 0.8\n this.specularLight = 2.0\n this.roughness = 0.5\n this.fresnel = 1.5\n\n this.opacity = 1.0\n this.hasAlpha = false\n this.opacityscale = false\n\n this._model = IDENTITY\n this._view = IDENTITY\n this._projection = IDENTITY\n this._resolution = [1,1]\n}\n\nvar proto = SimplicialMesh.prototype\n\nproto.isOpaque = function() {\n return !this.hasAlpha\n}\n\nproto.isTransparent = function() {\n return this.hasAlpha\n}\n\nproto.pickSlots = 1\n\nproto.setPickBase = function(id) {\n this.pickId = id\n}\n\nfunction getOpacityFromScale(ratio, opacityscale) {\n\n if(!opacityscale) return 1\n if(!opacityscale.length) return 1\n\n for(var i = 0; i < opacityscale.length; ++i) {\n if(opacityscale.length < 2) return 1\n if(opacityscale[i][0] === ratio) return opacityscale[i][1]\n if(opacityscale[i][0] > ratio && i > 0) {\n var d = (opacityscale[i][0] - ratio) / (opacityscale[i][0] - opacityscale[i - 1][0])\n return opacityscale[i][1] * (1 - d) + d * opacityscale[i - 1][1]\n }\n }\n\n return 1\n}\n\nfunction genColormap(param, opacityscale) {\n var colors = colormap({\n colormap: param\n , nshades: 256\n , format: 'rgba'\n })\n\n var result = new Uint8Array(256*4)\n for(var i=0; i<256; ++i) {\n var c = colors[i]\n for(var j=0; j<3; ++j) {\n result[4*i+j] = c[j]\n }\n if(!opacityscale) {\n result[4*i+3] = 255 * c[3]\n } else {\n result[4*i+3] = 255 * getOpacityFromScale(i / 255.0, opacityscale)\n }\n }\n\n return ndarray(result, [256,256,4], [4,0,1])\n}\n\nfunction unpackIntensity(cells, numVerts, cellIntensity) {\n var result = new Array(numVerts)\n for(var i=0; i 0) {\n var shader = this.triShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n\n if(this.edgeCount > 0 && this.lineWidth > 0) {\n var shader = this.lineShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.edgeVAO.bind()\n gl.lineWidth(this.lineWidth * this.pixelRatio)\n gl.drawArrays(gl.LINES, 0, this.edgeCount*2)\n this.edgeVAO.unbind()\n }\n\n if(this.pointCount > 0) {\n var shader = this.pointShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.pointVAO.bind()\n gl.drawArrays(gl.POINTS, 0, this.pointCount)\n this.pointVAO.unbind()\n }\n\n if(this.contourEnable && this.contourCount > 0 && this.contourLineWidth > 0) {\n var shader = this.contourShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.contourVAO.bind()\n gl.drawArrays(gl.LINES, 0, this.contourCount)\n this.contourVAO.unbind()\n }\n}\n\nproto.drawPick = function(params) {\n params = params || {}\n\n var gl = this.gl\n\n var model = params.model || IDENTITY\n var view = params.view || IDENTITY\n var projection = params.projection || IDENTITY\n\n var clipBounds = [[-1e6,-1e6,-1e6],[1e6,1e6,1e6]]\n for(var i=0; i<3; ++i) {\n clipBounds[0][i] = Math.max(clipBounds[0][i], this.clipBounds[0][i])\n clipBounds[1][i] = Math.min(clipBounds[1][i], this.clipBounds[1][i])\n }\n\n //Save camera parameters\n this._model = [].slice.call(model)\n this._view = [].slice.call(view)\n this._projection = [].slice.call(projection)\n this._resolution = [gl.drawingBufferWidth, gl.drawingBufferHeight]\n\n var uniforms = {\n model: model,\n view: view,\n projection: projection,\n clipBounds: clipBounds,\n pickId: this.pickId / 255.0,\n }\n\n var shader = this.pickShader\n shader.bind()\n shader.uniforms = uniforms\n\n if(this.triangleCount > 0) {\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n\n if(this.edgeCount > 0) {\n this.edgeVAO.bind()\n gl.lineWidth(this.lineWidth * this.pixelRatio)\n gl.drawArrays(gl.LINES, 0, this.edgeCount*2)\n this.edgeVAO.unbind()\n }\n\n if(this.pointCount > 0) {\n var shader = this.pointPickShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.pointVAO.bind()\n gl.drawArrays(gl.POINTS, 0, this.pointCount)\n this.pointVAO.unbind()\n }\n}\n\n\nproto.pick = function(pickData) {\n if(!pickData) {\n return null\n }\n if(pickData.id !== this.pickId) {\n return null\n }\n\n var cellId = pickData.value[0] + 256*pickData.value[1] + 65536*pickData.value[2]\n var cell = this.cells[cellId]\n var positions = this.positions\n\n var simplex = new Array(cell.length)\n for(var i=0; i 0;\n\n traces.each(function(d) {\n var trace = d[0].trace;\n // || {} is in case the trace (specifically scatterternary)\n // doesn't support error bars at all, but does go through\n // the scatter.plot mechanics, which calls ErrorBars.plot\n // internally\n var xObj = trace.error_x || {};\n var yObj = trace.error_y || {};\n\n var keyFunc;\n\n if(trace.ids) {\n keyFunc = function(d) {return d.id;};\n }\n\n var sparse = (\n subTypes.hasMarkers(trace) &&\n trace.marker.maxdisplayed > 0\n );\n\n if(!yObj.visible && !xObj.visible) d = [];\n\n var errorbars = d3.select(this).selectAll('g.errorbar')\n .data(d, keyFunc);\n\n errorbars.exit().remove();\n\n if(!d.length) return;\n\n if(!xObj.visible) errorbars.selectAll('path.xerror').remove();\n if(!yObj.visible) errorbars.selectAll('path.yerror').remove();\n\n errorbars.style('opacity', 1);\n\n var enter = errorbars.enter().append('g')\n .classed('errorbar', true);\n\n if(hasAnimation) {\n enter.style('opacity', 0).transition()\n .duration(transitionOpts.duration)\n .style('opacity', 1);\n }\n\n Drawing.setClipUrl(errorbars, plotinfo.layerClipId, gd);\n\n errorbars.each(function(d) {\n var errorbar = d3.select(this);\n var coords = errorCoords(d, xa, ya);\n\n if(sparse && !d.vis) return;\n\n var path;\n\n var yerror = errorbar.select('path.yerror');\n if(yObj.visible && isNumeric(coords.x) &&\n isNumeric(coords.yh) &&\n isNumeric(coords.ys)) {\n var yw = yObj.width;\n\n path = 'M' + (coords.x - yw) + ',' +\n coords.yh + 'h' + (2 * yw) + // hat\n 'm-' + yw + ',0V' + coords.ys; // bar\n\n\n if(!coords.noYS) path += 'm-' + yw + ',0h' + (2 * yw); // shoe\n\n isNew = !yerror.size();\n\n if(isNew) {\n yerror = errorbar.append('path')\n .style('vector-effect', 'non-scaling-stroke')\n .classed('yerror', true);\n } else if(hasAnimation) {\n yerror = yerror\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing);\n }\n\n yerror.attr('d', path);\n } else yerror.remove();\n\n var xerror = errorbar.select('path.xerror');\n if(xObj.visible && isNumeric(coords.y) &&\n isNumeric(coords.xh) &&\n isNumeric(coords.xs)) {\n var xw = (xObj.copy_ystyle ? yObj : xObj).width;\n\n path = 'M' + coords.xh + ',' +\n (coords.y - xw) + 'v' + (2 * xw) + // hat\n 'm0,-' + xw + 'H' + coords.xs; // bar\n\n if(!coords.noXS) path += 'm0,-' + xw + 'v' + (2 * xw); // shoe\n\n isNew = !xerror.size();\n\n if(isNew) {\n xerror = errorbar.append('path')\n .style('vector-effect', 'non-scaling-stroke')\n .classed('xerror', true);\n } else if(hasAnimation) {\n xerror = xerror\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing);\n }\n\n xerror.attr('d', path);\n } else xerror.remove();\n });\n });\n};\n\n// compute the coordinates of the error-bar objects\nfunction errorCoords(d, xa, ya) {\n var out = {\n x: xa.c2p(d.x),\n y: ya.c2p(d.y)\n };\n\n // calculate the error bar size and hat and shoe locations\n if(d.yh !== undefined) {\n out.yh = ya.c2p(d.yh);\n out.ys = ya.c2p(d.ys);\n\n // if the shoes go off-scale (ie log scale, error bars past zero)\n // clip the bar and hide the shoes\n if(!isNumeric(out.ys)) {\n out.noYS = true;\n out.ys = ya.c2p(d.ys, true);\n }\n }\n\n if(d.xh !== undefined) {\n out.xh = xa.c2p(d.xh);\n out.xs = xa.c2p(d.xs);\n\n if(!isNumeric(out.xs)) {\n out.noXS = true;\n out.xs = xa.c2p(d.xs, true);\n }\n }\n\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"5567\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n/**\n * Return news array containing only the unique items\n * found in input array.\n *\n * IMPORTANT: Note that items are considered unique\n * if `String({})` is unique. For example;\n *\n * Lib.filterUnique([ { a: 1 }, { b: 2 } ])\n *\n * returns [{ a: 1 }]\n *\n * and\n *\n * Lib.filterUnique([ '1', 1 ])\n *\n * returns ['1']\n *\n *\n * @param {array} array base array\n * @return {array} new filtered array\n */\nmodule.exports = function filterUnique(array) {\n var seen = {};\n var out = [];\n var j = 0;\n\n for(var i = 0; i < array.length; i++) {\n var item = array[i];\n\n if(seen[item] !== 1) {\n seen[item] = 1;\n out[j++] = item;\n }\n }\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"55eb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n eventDataKeys: [\n 'initial',\n 'delta',\n 'final'\n ]\n};\n\n\n/***/ }),\n\n/***/ \"55f6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar _ = __webpack_require__(\"fc26\")._;\n\nmodule.exports = function calc(gd, trace) {\n var len = trace._length;\n var calcTrace = new Array(len);\n var z = trace.z;\n var hasZ = isArrayOrTypedArray(z) && z.length;\n\n for(var i = 0; i < len; i++) {\n var cdi = calcTrace[i] = {};\n\n var lon = trace.lon[i];\n var lat = trace.lat[i];\n\n cdi.lonlat = isNumeric(lon) && isNumeric(lat) ?\n [+lon, +lat] :\n [BADNUM, BADNUM];\n\n if(hasZ) {\n var zi = z[i];\n cdi.z = isNumeric(zi) ? zi : BADNUM;\n }\n }\n\n colorscaleCalc(gd, trace, {\n vals: hasZ ? z : [0, 1],\n containerStr: '',\n cLetter: 'z'\n });\n\n if(len) {\n calcTrace[0].t = {\n labels: {\n lat: _(gd, 'lat:') + ' ',\n lon: _(gd, 'lon:') + ' '\n }\n };\n }\n\n return calcTrace;\n};\n\n\n/***/ }),\n\n/***/ \"5664\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = earcut;\nmodule.exports.default = earcut;\n\nfunction earcut(data, holeIndices, dim) {\n\n dim = dim || 2;\n\n var hasHoles = holeIndices && holeIndices.length,\n outerLen = hasHoles ? holeIndices[0] * dim : data.length,\n outerNode = linkedList(data, 0, outerLen, dim, true),\n triangles = [];\n\n if (!outerNode || outerNode.next === outerNode.prev) return triangles;\n\n var minX, minY, maxX, maxY, x, y, invSize;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = maxX = data[0];\n minY = maxY = data[1];\n\n for (var i = dim; i < outerLen; i += dim) {\n x = data[i];\n y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and invSize are later used to transform coords into integers for z-order calculation\n invSize = Math.max(maxX - minX, maxY - minY);\n invSize = invSize !== 0 ? 1 / invSize : 0;\n }\n\n earcutLinked(outerNode, triangles, dim, minX, minY, invSize);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\nfunction linkedList(data, start, end, dim, clockwise) {\n var i, last;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);\n } else {\n for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// eliminate colinear or duplicate points\nfunction filterPoints(start, end) {\n if (!start) return start;\n if (!end) end = start;\n\n var p = start,\n again;\n do {\n again = false;\n\n if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n removeNode(p);\n p = end = p.prev;\n if (p === p.next) break;\n again = true;\n\n } else {\n p = p.next;\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\nfunction earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {\n if (!ear) return;\n\n // interlink polygon nodes in z-order\n if (!pass && invSize) indexCurve(ear, minX, minY, invSize);\n\n var stop = ear,\n prev, next;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n prev = ear.prev;\n next = ear.next;\n\n if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {\n // cut off the triangle\n triangles.push(prev.i / dim);\n triangles.push(ear.i / dim);\n triangles.push(next.i / dim);\n\n removeNode(ear);\n\n // skipping the next vertex leads to less sliver triangles\n ear = next.next;\n stop = next.next;\n\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering points and slicing again\n if (!pass) {\n earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);\n\n // if this didn't work, try curing all small self-intersections locally\n } else if (pass === 1) {\n ear = cureLocalIntersections(filterPoints(ear), triangles, dim);\n earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);\n\n // as a last resort, try splitting the remaining polygon into two\n } else if (pass === 2) {\n splitEarcut(ear, triangles, dim, minX, minY, invSize);\n }\n\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\nfunction isEar(ear) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // now make sure we don't have other points inside the potential ear\n var p = ear.next.next;\n\n while (p !== ear.prev) {\n if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n\n return true;\n}\n\nfunction isEarHashed(ear, minX, minY, invSize) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // triangle bbox; min & max are calculated like this for speed\n var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),\n minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),\n maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),\n maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);\n\n // z-order range for the current triangle bbox;\n var minZ = zOrder(minTX, minTY, minX, minY, invSize),\n maxZ = zOrder(maxTX, maxTY, minX, minY, invSize);\n\n var p = ear.prevZ,\n n = ear.nextZ;\n\n // look for points inside the triangle in both directions\n while (p && p.z >= minZ && n && n.z <= maxZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n // look for remaining points in decreasing z-order\n while (p && p.z >= minZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n\n // look for remaining points in increasing z-order\n while (n && n.z <= maxZ) {\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\nfunction cureLocalIntersections(start, triangles, dim) {\n var p = start;\n do {\n var a = p.prev,\n b = p.next.next;\n\n if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i / dim);\n triangles.push(p.i / dim);\n triangles.push(b.i / dim);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n }\n p = p.next;\n } while (p !== start);\n\n return filterPoints(p);\n}\n\n// try splitting polygon into two and triangulate them independently\nfunction splitEarcut(start, triangles, dim, minX, minY, invSize) {\n // look for a valid diagonal that divides the polygon into two\n var a = start;\n do {\n var b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n var c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, dim, minX, minY, invSize);\n earcutLinked(c, triangles, dim, minX, minY, invSize);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n var queue = [],\n i, len, start, end, list;\n\n for (i = 0, len = holeIndices.length; i < len; i++) {\n start = holeIndices[i] * dim;\n end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n list = linkedList(data, start, end, dim, false);\n if (list === list.next) list.steiner = true;\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareX);\n\n // process holes from left to right\n for (i = 0; i < queue.length; i++) {\n eliminateHole(queue[i], outerNode);\n outerNode = filterPoints(outerNode, outerNode.next);\n }\n\n return outerNode;\n}\n\nfunction compareX(a, b) {\n return a.x - b.x;\n}\n\n// find a bridge between vertices that connects hole with an outer ring and and link it\nfunction eliminateHole(hole, outerNode) {\n outerNode = findHoleBridge(hole, outerNode);\n if (outerNode) {\n var b = splitPolygon(outerNode, hole);\n filterPoints(b, b.next);\n }\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\nfunction findHoleBridge(hole, outerNode) {\n var p = outerNode,\n hx = hole.x,\n hy = hole.y,\n qx = -Infinity,\n m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n do {\n if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n if (x === hx) {\n if (hy === p.y) return p;\n if (hy === p.next.y) return p.next;\n }\n m = p.x < p.next.x ? p : p.next;\n }\n }\n p = p.next;\n } while (p !== outerNode);\n\n if (!m) return null;\n\n if (hx === qx) return m; // hole touches outer segment; pick leftmost endpoint\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n var stop = m,\n mx = m.x,\n my = m.y,\n tanMin = Infinity,\n tan;\n\n p = m;\n\n do {\n if (hx >= p.x && p.x >= mx && hx !== p.x &&\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n if (locallyInside(p, hole) &&\n (tan < tanMin || (tan === tanMin && (p.x > m.x || (p.x === m.x && sectorContainsSector(m, p)))))) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n } while (p !== stop);\n\n return m;\n}\n\n// whether sector in vertex m contains sector in vertex p in the same coordinates\nfunction sectorContainsSector(m, p) {\n return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;\n}\n\n// interlink polygon nodes in z-order\nfunction indexCurve(start, minX, minY, invSize) {\n var p = start;\n do {\n if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, invSize);\n p.prevZ = p.prev;\n p.nextZ = p.next;\n p = p.next;\n } while (p !== start);\n\n p.prevZ.nextZ = null;\n p.prevZ = null;\n\n sortLinked(p);\n}\n\n// Simon Tatham's linked list merge sort algorithm\n// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\nfunction sortLinked(list) {\n var i, p, q, e, tail, numMerges, pSize, qSize,\n inSize = 1;\n\n do {\n p = list;\n list = null;\n tail = null;\n numMerges = 0;\n\n while (p) {\n numMerges++;\n q = p;\n pSize = 0;\n for (i = 0; i < inSize; i++) {\n pSize++;\n q = q.nextZ;\n if (!q) break;\n }\n qSize = inSize;\n\n while (pSize > 0 || (qSize > 0 && q)) {\n\n if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {\n e = p;\n p = p.nextZ;\n pSize--;\n } else {\n e = q;\n q = q.nextZ;\n qSize--;\n }\n\n if (tail) tail.nextZ = e;\n else list = e;\n\n e.prevZ = tail;\n tail = e;\n }\n\n p = q;\n }\n\n tail.nextZ = null;\n inSize *= 2;\n\n } while (numMerges > 1);\n\n return list;\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\nfunction zOrder(x, y, minX, minY, invSize) {\n // coords are transformed into non-negative 15-bit integer range\n x = 32767 * (x - minX) * invSize;\n y = 32767 * (y - minY) * invSize;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\nfunction getLeftmost(start) {\n var p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x || (p.x === leftmost.x && p.y < leftmost.y)) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&\n (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&\n (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\nfunction isValidDiagonal(a, b) {\n return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges\n (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible\n (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors\n equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); // special zero-length case\n}\n\n// signed area of a triangle\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect\nfunction intersects(p1, q1, p2, q2) {\n var o1 = sign(area(p1, q1, p2));\n var o2 = sign(area(p1, q1, q2));\n var o3 = sign(area(p2, q2, p1));\n var o4 = sign(area(p2, q2, q1));\n\n if (o1 !== o2 && o3 !== o4) return true; // general case\n\n if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1\n if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1\n if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2\n if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2\n\n return false;\n}\n\n// for collinear points p, q, r, check if point q lies on segment pr\nfunction onSegment(p, q, r) {\n return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);\n}\n\nfunction sign(num) {\n return num > 0 ? 1 : num < 0 ? -1 : 0;\n}\n\n// check if a polygon diagonal intersects any polygon segments\nfunction intersectsPolygon(a, b) {\n var p = a;\n do {\n if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&\n intersects(p, p.next, a, b)) return true;\n p = p.next;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\nfunction middleInside(a, b) {\n var p = a,\n inside = false,\n px = (a.x + b.x) / 2,\n py = (a.y + b.y) / 2;\n do {\n if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&\n (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))\n inside = !inside;\n p = p.next;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\nfunction splitPolygon(a, b) {\n var a2 = new Node(a.i, a.x, a.y),\n b2 = new Node(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\nfunction insertNode(i, x, y, last) {\n var p = new Node(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n}\n\nfunction Node(i, x, y) {\n // vertex index in coordinates array\n this.i = i;\n\n // vertex coordinates\n this.x = x;\n this.y = y;\n\n // previous and next vertex nodes in a polygon ring\n this.prev = null;\n this.next = null;\n\n // z-order curve value\n this.z = null;\n\n // previous and next nodes in z-order\n this.prevZ = null;\n this.nextZ = null;\n\n // indicates whether this is a steiner point\n this.steiner = false;\n}\n\n// return a percentage difference between the polygon area and its triangulation area;\n// used to verify correctness of triangulation\nearcut.deviation = function (data, holeIndices, dim, triangles) {\n var hasHoles = holeIndices && holeIndices.length;\n var outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (var i = 0, len = holeIndices.length; i < len; i++) {\n var start = holeIndices[i] * dim;\n var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n var trianglesArea = 0;\n for (i = 0; i < triangles.length; i += 3) {\n var a = triangles[i] * dim;\n var b = triangles[i + 1] * dim;\n var c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n};\n\nfunction signedArea(data, start, end, dim) {\n var sum = 0;\n for (var i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n// turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts\nearcut.flatten = function (data) {\n var dim = data[0][0].length,\n result = {vertices: [], holes: [], dimensions: dim},\n holeIndex = 0;\n\n for (var i = 0; i < data.length; i++) {\n for (var j = 0; j < data[i].length; j++) {\n for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);\n }\n if (i > 0) {\n holeIndex += data[i - 1].length;\n result.holes.push(holeIndex);\n }\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"566e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = boundary\n\nfunction boundary (cells) {\n var i, j, k\n var n = cells.length\n var sz = 0\n for (i = 0; i < n; ++i) {\n sz += cells[i].length\n }\n var result = new Array(sz)\n var ptr = 0\n for (i = 0; i < n; ++i) {\n var c = cells[i]\n var d = c.length\n for (j = 0; j < d; ++j) {\n var b = result[ptr++] = new Array(d - 1)\n var p = 0\n for (k = 0; k < d; ++k) {\n if (k === j) {\n continue\n }\n b[p++] = c[k]\n }\n if (j & 1) {\n var tmp = b[1]\n b[1] = b[0]\n b[0] = tmp\n }\n }\n }\n return result\n}\n\n\n/***/ }),\n\n/***/ \"567e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nvar attributes = __webpack_require__(\"a5cc\");\nvar helpers = __webpack_require__(\"fdc7\");\n\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n handleArrayContainerDefaults(layoutIn, layoutOut, {\n name: 'shapes',\n handleItemDefaults: handleShapeDefaults\n });\n};\n\nfunction handleShapeDefaults(shapeIn, shapeOut, fullLayout) {\n function coerce(attr, dflt) {\n return Lib.coerce(shapeIn, shapeOut, attributes, attr, dflt);\n }\n\n var visible = coerce('visible');\n\n if(!visible) return;\n\n coerce('layer');\n coerce('opacity');\n coerce('fillcolor');\n coerce('line.color');\n coerce('line.width');\n coerce('line.dash');\n\n var dfltType = shapeIn.path ? 'path' : 'rect';\n var shapeType = coerce('type', dfltType);\n var xSizeMode = coerce('xsizemode');\n var ySizeMode = coerce('ysizemode');\n\n // positioning\n var axLetters = ['x', 'y'];\n for(var i = 0; i < 2; i++) {\n var axLetter = axLetters[i];\n var attrAnchor = axLetter + 'anchor';\n var sizeMode = axLetter === 'x' ? xSizeMode : ySizeMode;\n var gdMock = {_fullLayout: fullLayout};\n var ax;\n var pos2r;\n var r2pos;\n\n // xref, yref\n var axRef = Axes.coerceRef(shapeIn, shapeOut, gdMock, axLetter, '', 'paper');\n\n if(axRef !== 'paper') {\n ax = Axes.getFromId(gdMock, axRef);\n ax._shapeIndices.push(shapeOut._index);\n r2pos = helpers.rangeToShapePosition(ax);\n pos2r = helpers.shapePositionToRange(ax);\n } else {\n pos2r = r2pos = Lib.identity;\n }\n\n // Coerce x0, x1, y0, y1\n if(shapeType !== 'path') {\n var dflt0 = 0.25;\n var dflt1 = 0.75;\n\n // hack until V2.0 when log has regular range behavior - make it look like other\n // ranges to send to coerce, then put it back after\n // this is all to give reasonable default position behavior on log axes, which is\n // a pretty unimportant edge case so we could just ignore this.\n var attr0 = axLetter + '0';\n var attr1 = axLetter + '1';\n var in0 = shapeIn[attr0];\n var in1 = shapeIn[attr1];\n shapeIn[attr0] = pos2r(shapeIn[attr0], true);\n shapeIn[attr1] = pos2r(shapeIn[attr1], true);\n\n if(sizeMode === 'pixel') {\n coerce(attr0, 0);\n coerce(attr1, 10);\n } else {\n Axes.coercePosition(shapeOut, gdMock, coerce, axRef, attr0, dflt0);\n Axes.coercePosition(shapeOut, gdMock, coerce, axRef, attr1, dflt1);\n }\n\n // hack part 2\n shapeOut[attr0] = r2pos(shapeOut[attr0]);\n shapeOut[attr1] = r2pos(shapeOut[attr1]);\n shapeIn[attr0] = in0;\n shapeIn[attr1] = in1;\n }\n\n // Coerce xanchor and yanchor\n if(sizeMode === 'pixel') {\n // Hack for log axis described above\n var inAnchor = shapeIn[attrAnchor];\n shapeIn[attrAnchor] = pos2r(shapeIn[attrAnchor], true);\n\n Axes.coercePosition(shapeOut, gdMock, coerce, axRef, attrAnchor, 0.25);\n\n // Hack part 2\n shapeOut[attrAnchor] = r2pos(shapeOut[attrAnchor]);\n shapeIn[attrAnchor] = inAnchor;\n }\n }\n\n if(shapeType === 'path') {\n coerce('path');\n } else {\n Lib.noneOrAll(shapeIn, shapeOut, ['x0', 'x1', 'y0', 'y1']);\n }\n}\n\n\n/***/ }),\n\n/***/ \"5692\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(\"c430\");\nvar store = __webpack_require__(\"c6cd\");\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: 'ยฉ 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"569b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function zip3(x, y, z, len) {\n len = len || x.length;\n\n var result = new Array(len);\n for(var i = 0; i < len; i++) {\n result[i] = [x[i], y[i], z[i]];\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"56b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar layoutAttributes = __webpack_require__(\"78d8\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n\n coerce('hiddenlabels');\n coerce('piecolorway', layoutOut.colorway);\n coerce('extendpiecolors');\n};\n\n\n/***/ }),\n\n/***/ \"56cf\":\n/***/ (function(module, exports) {\n\nmodule.exports = subtract\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nfunction subtract (out, a, b) {\n out[0] = a[0] - b[0]\n out[1] = a[1] - b[1]\n out[2] = a[2] - b[2]\n out[3] = a[3] - b[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"56ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar getOwnPropertyNamesModule = __webpack_require__(\"241c\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar anObject = __webpack_require__(\"825a\");\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/***/ \"56f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar texttemplateAttrs = __webpack_require__(\"94d5\").texttemplateAttrs;\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar colorAttributes = __webpack_require__(\"f4e9\");\nvar dash = __webpack_require__(\"db54\").dash;\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterLineAttrs = scatterAttrs.line;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nmodule.exports = overrideAll({\n lon: {\n valType: 'data_array',\n \n },\n lat: {\n valType: 'data_array',\n \n },\n\n locations: {\n valType: 'data_array',\n \n },\n locationmode: {\n valType: 'enumerated',\n values: ['ISO-3', 'USA-states', 'country names', 'geojson-id'],\n \n dflt: 'ISO-3',\n \n },\n\n geojson: {\n valType: 'any',\n \n editType: 'calc',\n \n },\n featureidkey: {\n valType: 'string',\n \n editType: 'calc',\n dflt: 'id',\n \n },\n\n mode: extendFlat({}, scatterAttrs.mode, {dflt: 'markers'}),\n\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n texttemplate: texttemplateAttrs({editType: 'plot'}, {\n keys: ['lat', 'lon', 'location', 'text']\n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n\n textfont: scatterAttrs.textfont,\n textposition: scatterAttrs.textposition,\n\n line: {\n color: scatterLineAttrs.color,\n width: scatterLineAttrs.width,\n dash: dash\n },\n connectgaps: scatterAttrs.connectgaps,\n\n marker: extendFlat({\n symbol: scatterMarkerAttrs.symbol,\n opacity: scatterMarkerAttrs.opacity,\n size: scatterMarkerAttrs.size,\n sizeref: scatterMarkerAttrs.sizeref,\n sizemin: scatterMarkerAttrs.sizemin,\n sizemode: scatterMarkerAttrs.sizemode,\n colorbar: scatterMarkerAttrs.colorbar,\n line: extendFlat({\n width: scatterMarkerLineAttrs.width\n },\n colorAttributes('marker.line')\n ),\n gradient: scatterMarkerAttrs.gradient\n },\n colorAttributes('marker')\n ),\n\n fill: {\n valType: 'enumerated',\n values: ['none', 'toself'],\n dflt: 'none',\n \n \n },\n fillcolor: scatterAttrs.fillcolor,\n\n selected: scatterAttrs.selected,\n unselected: scatterAttrs.unselected,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['lon', 'lat', 'location', 'text', 'name']\n }),\n hovertemplate: hovertemplateAttrs(),\n}, 'calc', 'nested');\n\n\n/***/ }),\n\n/***/ \"56fc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/*\n * Return a function that evaluates a set of linear or bicubic control points.\n * This will get evaluated a lot, so we'll at least do a bit of extra work to\n * flatten some of the choices. In particular, we'll unroll the linear/bicubic\n * combinations and we'll allow computing results in parallel to cut down\n * on repeated arithmetic.\n *\n * Take note that we don't search for the correct range in this function. The\n * reason is for consistency due to the corrresponding derivative function. In\n * particular, the derivatives aren't continuous across cells, so it's important\n * to be able control whether the derivative at a cell boundary is approached\n * from one side or the other.\n */\nmodule.exports = function(arrays, na, nb, asmoothing, bsmoothing) {\n var imax = na - 2;\n var jmax = nb - 2;\n\n if(asmoothing && bsmoothing) {\n return function(out, i, j) {\n if(!out) out = [];\n var f0, f1, f2, f3, ak, k;\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n // Since it's a grid of control points, the actual indices are * 3:\n i0 *= 3;\n j0 *= 3;\n\n // Precompute some numbers:\n var u2 = u * u;\n var u3 = u2 * u;\n var ou = 1 - u;\n var ou2 = ou * ou;\n var ou3 = ou2 * ou;\n\n var v2 = v * v;\n var v3 = v2 * v;\n var ov = 1 - v;\n var ov2 = ov * ov;\n var ov3 = ov2 * ov;\n\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ou3 * ak[j0][i0] + 3 * (ou2 * u * ak[j0][i0 + 1] + ou * u2 * ak[j0][i0 + 2]) + u3 * ak[j0][i0 + 3];\n f1 = ou3 * ak[j0 + 1][i0] + 3 * (ou2 * u * ak[j0 + 1][i0 + 1] + ou * u2 * ak[j0 + 1][i0 + 2]) + u3 * ak[j0 + 1][i0 + 3];\n f2 = ou3 * ak[j0 + 2][i0] + 3 * (ou2 * u * ak[j0 + 2][i0 + 1] + ou * u2 * ak[j0 + 2][i0 + 2]) + u3 * ak[j0 + 2][i0 + 3];\n f3 = ou3 * ak[j0 + 3][i0] + 3 * (ou2 * u * ak[j0 + 3][i0 + 1] + ou * u2 * ak[j0 + 3][i0 + 2]) + u3 * ak[j0 + 3][i0 + 3];\n out[k] = ov3 * f0 + 3 * (ov2 * v * f1 + ov * v2 * f2) + v3 * f3;\n }\n\n return out;\n };\n } else if(asmoothing) {\n // Handle smooth in the a-direction but linear in the b-direction by performing four\n // linear interpolations followed by one cubic interpolation of the result\n return function(out, i, j) {\n if(!out) out = [];\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n var f0, f1, f2, f3, k, ak;\n i0 *= 3;\n var u2 = u * u;\n var u3 = u2 * u;\n var ou = 1 - u;\n var ou2 = ou * ou;\n var ou3 = ou2 * ou;\n var ov = 1 - v;\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ov * ak[j0][i0] + v * ak[j0 + 1][i0];\n f1 = ov * ak[j0][i0 + 1] + v * ak[j0 + 1][i0 + 1];\n f2 = ov * ak[j0][i0 + 2] + v * ak[j0 + 1][i0 + 1];\n f3 = ov * ak[j0][i0 + 3] + v * ak[j0 + 1][i0 + 1];\n\n out[k] = ou3 * f0 + 3 * (ou2 * u * f1 + ou * u2 * f2) + u3 * f3;\n }\n return out;\n };\n } else if(bsmoothing) {\n // Same as the above case, except reversed:\n return function(out, i, j) {\n if(!out) out = [];\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n var f0, f1, f2, f3, k, ak;\n j0 *= 3;\n var v2 = v * v;\n var v3 = v2 * v;\n var ov = 1 - v;\n var ov2 = ov * ov;\n var ov3 = ov2 * ov;\n var ou = 1 - u;\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ou * ak[j0][i0] + u * ak[j0][i0 + 1];\n f1 = ou * ak[j0 + 1][i0] + u * ak[j0 + 1][i0 + 1];\n f2 = ou * ak[j0 + 2][i0] + u * ak[j0 + 2][i0 + 1];\n f3 = ou * ak[j0 + 3][i0] + u * ak[j0 + 3][i0 + 1];\n\n out[k] = ov3 * f0 + 3 * (ov2 * v * f1 + ov * v2 * f2) + v3 * f3;\n }\n return out;\n };\n } else {\n // Finally, both directions are linear:\n return function(out, i, j) {\n if(!out) out = [];\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n var f0, f1, k, ak;\n var ov = 1 - v;\n var ou = 1 - u;\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ou * ak[j0][i0] + u * ak[j0][i0 + 1];\n f1 = ou * ak[j0 + 1][i0] + u * ak[j0 + 1][i0 + 1];\n\n out[k] = ov * f0 + v * f1;\n }\n return out;\n };\n }\n};\n\n\n/***/ }),\n\n/***/ \"5714\":\n/***/ (function(module, exports) {\n\nmodule.exports = ceil\n\n/**\n * Math.ceil the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to ceil\n * @returns {vec3} out\n */\nfunction ceil(out, a) {\n out[0] = Math.ceil(a[0])\n out[1] = Math.ceil(a[1])\n out[2] = Math.ceil(a[2])\n return out\n}\n\n\n/***/ }),\n\n/***/ \"5752\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar BN = __webpack_require__(\"399f\")\n\nmodule.exports = str2BN\n\nfunction str2BN(x) {\n return new BN(x)\n}\n\n\n/***/ }),\n\n/***/ \"578f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createSelectBuffer\n\nvar createFBO = __webpack_require__(\"44c3\")\nvar pool = __webpack_require__(\"cea5\")\nvar ndarray = __webpack_require__(\"b5bb\")\n\nvar nextPow2 = __webpack_require__(\"a48a\").nextPow2\n\nvar selectRange = __webpack_require__(\"dd8f\")({\"args\":[\"array\",{\"offset\":[0,0,1],\"array\":0},{\"offset\":[0,0,2],\"array\":0},{\"offset\":[0,0,3],\"array\":0},\"scalar\",\"scalar\",\"index\"],\"pre\":{\"body\":\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\",\"args\":[],\"thisVars\":[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],\"localVars\":[]},\"body\":{\"body\":\"{if(_inline_4_arg0_<255||_inline_4_arg1_<255||_inline_4_arg2_<255||_inline_4_arg3_<255){var _inline_4_l=_inline_4_arg4_-_inline_4_arg6_[0],_inline_4_a=_inline_4_arg5_-_inline_4_arg6_[1],_inline_4_f=_inline_4_l*_inline_4_l+_inline_4_a*_inline_4_a;_inline_4_f this.buffer.length) {\n pool.free(this.buffer)\n var buffer = this.buffer = pool.mallocUint8(nextPow2(r*c*4))\n for(var i=0; i -1 ? vph + barPad : -(barH + barPad);\n\n var pathbarOrigin = {\n x0: barW, // slide to the right\n x1: barW,\n y0: barDifY,\n y1: barDifY + barH\n };\n\n var findClosestEdge = function(pt, ref, size) {\n var e = trace.tiling.pad;\n var isLeftOfRect = function(x) { return x - e <= ref.x0; };\n var isRightOfRect = function(x) { return x + e >= ref.x1; };\n var isBottomOfRect = function(y) { return y - e <= ref.y0; };\n var isTopOfRect = function(y) { return y + e >= ref.y1; };\n\n return {\n x0: isLeftOfRect(pt.x0 - e) ? 0 : isRightOfRect(pt.x0 - e) ? size[0] : pt.x0,\n x1: isLeftOfRect(pt.x1 + e) ? 0 : isRightOfRect(pt.x1 + e) ? size[0] : pt.x1,\n y0: isBottomOfRect(pt.y0 - e) ? 0 : isTopOfRect(pt.y0 - e) ? size[1] : pt.y0,\n y1: isBottomOfRect(pt.y1 + e) ? 0 : isTopOfRect(pt.y1 + e) ? size[1] : pt.y1\n };\n };\n\n // stash of 'previous' position data used by tweening functions\n var prevEntry = null;\n var prevLookupPathbar = {};\n var prevLookupSlices = {};\n var nextOfPrevEntry = null;\n var getPrev = function(pt, onPathbar) {\n return onPathbar ?\n prevLookupPathbar[getKey(pt)] :\n prevLookupSlices[getKey(pt)];\n };\n\n var getOrigin = function(pt, onPathbar, refRect, size) {\n if(onPathbar) {\n return prevLookupPathbar[getKey(hierarchy)] || pathbarOrigin;\n } else {\n var ref = prevLookupSlices[trace.level] || refRect;\n\n if(hasVisibleDepth(pt)) { // case of an empty object - happens when maxdepth is set\n return findClosestEdge(pt, ref, size);\n }\n }\n return {};\n };\n\n // N.B. handle multiple-root special case\n if(cd0.hasMultipleRoots && isRoot) {\n maxDepth++;\n }\n\n trace._maxDepth = maxDepth;\n trace._backgroundColor = fullLayout.paper_bgcolor;\n trace._entryDepth = entry.data.depth;\n trace._atRootLevel = isRoot;\n\n var cenX = -vpw / 2 + gs.l + gs.w * (domain.x[1] + domain.x[0]) / 2;\n var cenY = -vph / 2 + gs.t + gs.h * (1 - (domain.y[1] + domain.y[0]) / 2);\n\n var viewMapX = function(x) { return cenX + x; };\n var viewMapY = function(y) { return cenY + y; };\n\n var barY0 = viewMapY(0);\n var barX0 = viewMapX(0);\n\n var viewBarX = function(x) { return barX0 + x; };\n var viewBarY = function(y) { return barY0 + y; };\n\n function pos(x, y) {\n return x + ',' + y;\n }\n\n var xStart = viewBarX(0);\n var limitX0 = function(p) { p.x = Math.max(xStart, p.x); };\n\n var edgeshape = trace.pathbar.edgeshape;\n\n // pathbar(directory) path generation fn\n var pathAncestor = function(d) {\n var _x0 = viewBarX(Math.max(Math.min(d.x0, d.x0), 0));\n var _x1 = viewBarX(Math.min(Math.max(d.x1, d.x1), barW));\n var _y0 = viewBarY(d.y0);\n var _y1 = viewBarY(d.y1);\n\n var halfH = barH / 2;\n\n var pL = {};\n var pR = {};\n\n pL.x = _x0;\n pR.x = _x1;\n\n pL.y = pR.y = (_y0 + _y1) / 2;\n\n var pA = {x: _x0, y: _y0};\n var pB = {x: _x1, y: _y0};\n var pC = {x: _x1, y: _y1};\n var pD = {x: _x0, y: _y1};\n\n if(edgeshape === '>') {\n pA.x -= halfH;\n pB.x -= halfH;\n pC.x -= halfH;\n pD.x -= halfH;\n } else if(edgeshape === '/') {\n pC.x -= halfH;\n pD.x -= halfH;\n pL.x -= halfH / 2;\n pR.x -= halfH / 2;\n } else if(edgeshape === '\\\\') {\n pA.x -= halfH;\n pB.x -= halfH;\n pL.x -= halfH / 2;\n pR.x -= halfH / 2;\n } else if(edgeshape === '<') {\n pL.x -= halfH;\n pR.x -= halfH;\n }\n\n limitX0(pA);\n limitX0(pD);\n limitX0(pL);\n\n limitX0(pB);\n limitX0(pC);\n limitX0(pR);\n\n return (\n 'M' + pos(pA.x, pA.y) +\n 'L' + pos(pB.x, pB.y) +\n 'L' + pos(pR.x, pR.y) +\n 'L' + pos(pC.x, pC.y) +\n 'L' + pos(pD.x, pD.y) +\n 'L' + pos(pL.x, pL.y) +\n 'Z'\n );\n };\n\n // slice path generation fn\n var pathDescendant = function(d) {\n var _x0 = viewMapX(d.x0);\n var _x1 = viewMapX(d.x1);\n var _y0 = viewMapY(d.y0);\n var _y1 = viewMapY(d.y1);\n\n var dx = _x1 - _x0;\n var dy = _y1 - _y0;\n if(!dx || !dy) return '';\n\n var FILLET = 0; // TODO: may expose this constant\n\n var r = (\n dx > 2 * FILLET &&\n dy > 2 * FILLET\n ) ? FILLET : 0;\n\n var arc = function(rx, ry) { return r ? 'a' + pos(r, r) + ' 0 0 1 ' + pos(rx, ry) : ''; };\n\n return (\n 'M' + pos(_x0, _y0 + r) +\n arc(r, -r) +\n 'L' + pos(_x1 - r, _y0) +\n arc(r, r) +\n 'L' + pos(_x1, _y1 - r) +\n arc(-r, r) +\n 'L' + pos(_x0 + r, _y1) +\n arc(-r, -r) + 'Z'\n );\n };\n\n var toMoveInsideSlice = function(pt, opts) {\n var x0 = pt.x0;\n var x1 = pt.x1;\n var y0 = pt.y0;\n var y1 = pt.y1;\n var textBB = pt.textBB;\n\n var hasFlag = function(f) { return trace.textposition.indexOf(f) !== -1; };\n\n var hasBottom = hasFlag('bottom');\n var hasTop = hasFlag('top') || (opts.isHeader && !hasBottom);\n\n var anchor =\n hasTop ? 'start' :\n hasBottom ? 'end' : 'middle';\n\n var hasRight = hasFlag('right');\n var hasLeft = hasFlag('left') || opts.onPathbar;\n\n var leftToRight =\n hasLeft ? -1 :\n hasRight ? 1 : 0;\n\n var pad = trace.marker.pad;\n if(opts.isHeader) {\n x0 += pad.l - TEXTPAD;\n x1 -= pad.r - TEXTPAD;\n if(x0 >= x1) {\n var mid = (x0 + x1) / 2;\n x0 = mid;\n x1 = mid;\n }\n\n // limit the drawing area for headers\n var limY;\n if(hasBottom) {\n limY = y1 - pad.b;\n if(y0 < limY && limY < y1) y0 = limY;\n } else {\n limY = y0 + pad.t;\n if(y0 < limY && limY < y1) y1 = limY;\n }\n }\n\n // position the text relative to the slice\n var transform = toMoveInsideBar(x0, x1, y0, y1, textBB, {\n isHorizontal: false,\n constrained: true,\n angle: 0,\n anchor: anchor,\n leftToRight: leftToRight\n });\n transform.fontSize = opts.fontSize;\n\n transform.targetX = viewMapX(transform.targetX);\n transform.targetY = viewMapY(transform.targetY);\n\n if(isNaN(transform.targetX) || isNaN(transform.targetY)) {\n return {};\n }\n\n if(x0 !== x1 && y0 !== y1) {\n recordMinTextSize(trace.type, transform, fullLayout);\n }\n\n return {\n scale: transform.scale,\n rotate: transform.rotate,\n textX: transform.textX,\n textY: transform.textY,\n anchorX: transform.anchorX,\n anchorY: transform.anchorY,\n targetX: transform.targetX,\n targetY: transform.targetY\n };\n };\n\n var interpFromParent = function(pt, onPathbar) {\n var parentPrev;\n var i = 0;\n var Q = pt;\n while(!parentPrev && i < maxDepth) { // loop to find a parent/grandParent on the previous graph\n i++;\n Q = Q.parent;\n if(Q) {\n parentPrev = getPrev(Q, onPathbar);\n } else i = maxDepth;\n }\n return parentPrev || {};\n };\n\n var makeExitSliceInterpolator = function(pt, onPathbar, refRect, size) {\n var prev = getPrev(pt, onPathbar);\n var next;\n\n if(onPathbar) {\n next = pathbarOrigin;\n } else {\n var entryPrev = getPrev(entry, onPathbar);\n if(entryPrev) {\n // 'entryPrev' is here has the previous coordinates of the entry\n // node, which corresponds to the last \"clicked\" node when zooming in\n next = findClosestEdge(pt, entryPrev, size);\n } else {\n // this happens when maxdepth is set, when leaves must\n // be removed and the entry is new (i.e. does not have a 'prev' object)\n next = {};\n }\n }\n\n return d3.interpolate(prev, next);\n };\n\n var makeUpdateSliceInterpolator = function(pt, onPathbar, refRect, size) {\n var prev0 = getPrev(pt, onPathbar);\n var prev;\n\n if(prev0) {\n // if pt already on graph, this is easy\n prev = prev0;\n } else {\n // for new pts:\n if(onPathbar) {\n prev = pathbarOrigin;\n } else {\n if(prevEntry) {\n // if trace was visible before\n if(pt.parent) {\n var ref = nextOfPrevEntry || refRect;\n\n if(ref && !onPathbar) {\n prev = findClosestEdge(pt, ref, size);\n } else {\n // if new leaf (when maxdepth is set),\n // grow it from its parent node\n prev = {};\n Lib.extendFlat(prev, interpFromParent(pt, onPathbar));\n }\n } else {\n prev = pt;\n }\n } else {\n prev = {};\n }\n }\n }\n\n return d3.interpolate(prev, {\n x0: pt.x0,\n x1: pt.x1,\n y0: pt.y0,\n y1: pt.y1\n });\n };\n\n var makeUpdateTextInterpolator = function(pt, onPathbar, refRect, size) {\n var prev0 = getPrev(pt, onPathbar);\n var prev = {};\n var origin = getOrigin(pt, onPathbar, refRect, size);\n\n Lib.extendFlat(prev, {\n transform: toMoveInsideSlice({\n x0: origin.x0,\n x1: origin.x1,\n y0: origin.y0,\n y1: origin.y1,\n textBB: pt.textBB,\n _text: pt._text\n }, {\n isHeader: helpers.isHeader(pt, trace)\n })\n });\n\n if(prev0) {\n // if pt already on graph, this is easy\n prev = prev0;\n } else {\n // for new pts:\n if(pt.parent) {\n Lib.extendFlat(prev, interpFromParent(pt, onPathbar));\n }\n }\n\n var transform = pt.transform;\n if(pt.x0 !== pt.x1 && pt.y0 !== pt.y1) {\n recordMinTextSize(trace.type, transform, fullLayout);\n }\n\n return d3.interpolate(prev, {\n transform: {\n scale: transform.scale,\n rotate: transform.rotate,\n textX: transform.textX,\n textY: transform.textY,\n anchorX: transform.anchorX,\n anchorY: transform.anchorY,\n targetX: transform.targetX,\n targetY: transform.targetY\n }\n });\n };\n\n var handleSlicesExit = function(slices, onPathbar, refRect, size, pathSlice) {\n var width = size[0];\n var height = size[1];\n\n if(hasTransition) {\n slices.exit().transition()\n .each(function() {\n var sliceTop = d3.select(this);\n\n var slicePath = sliceTop.select('path.surface');\n slicePath.transition().attrTween('d', function(pt2) {\n var interp = makeExitSliceInterpolator(pt2, onPathbar, refRect, [width, height]);\n return function(t) { return pathSlice(interp(t)); };\n });\n\n var sliceTextGroup = sliceTop.select('g.slicetext');\n sliceTextGroup.attr('opacity', 0);\n })\n .remove();\n } else {\n slices.exit().remove();\n }\n };\n\n var strTransform = function(d) {\n var transform = d.transform;\n\n if(d.x0 !== d.x1 && d.y0 !== d.y1) {\n recordMinTextSize(trace.type, transform, fullLayout);\n }\n\n return Lib.getTextTransform({\n textX: transform.textX,\n textY: transform.textY,\n anchorX: transform.anchorX,\n anchorY: transform.anchorY,\n targetX: transform.targetX,\n targetY: transform.targetY,\n scale: transform.scale,\n rotate: transform.rotate\n });\n };\n\n if(hasTransition) {\n // Important: do this before binding new sliceData!\n\n selAncestors.each(function(pt) {\n prevLookupPathbar[getKey(pt)] = {\n x0: pt.x0,\n x1: pt.x1,\n y0: pt.y0,\n y1: pt.y1\n };\n\n if(pt.transform) {\n prevLookupPathbar[getKey(pt)].transform = {\n textX: pt.transform.textX,\n textY: pt.transform.textY,\n anchorX: pt.transform.anchorX,\n anchorY: pt.transform.anchorY,\n targetX: pt.transform.targetX,\n targetY: pt.transform.targetY,\n scale: pt.transform.scale,\n rotate: pt.transform.rotate\n };\n }\n });\n\n selDescendants.each(function(pt) {\n prevLookupSlices[getKey(pt)] = {\n x0: pt.x0,\n x1: pt.x1,\n y0: pt.y0,\n y1: pt.y1\n };\n\n if(pt.transform) {\n prevLookupSlices[getKey(pt)].transform = {\n textX: pt.transform.textX,\n textY: pt.transform.textY,\n anchorX: pt.transform.anchorX,\n anchorY: pt.transform.anchorY,\n targetX: pt.transform.targetX,\n targetY: pt.transform.targetY,\n scale: pt.transform.scale,\n rotate: pt.transform.rotate\n };\n }\n\n if(!prevEntry && helpers.isEntry(pt)) {\n prevEntry = pt;\n }\n });\n }\n\n nextOfPrevEntry = drawDescendants(gd, cd, entry, selDescendants, {\n width: vpw,\n height: vph,\n\n viewX: viewMapX,\n viewY: viewMapY,\n\n pathSlice: pathDescendant,\n toMoveInsideSlice: toMoveInsideSlice,\n\n prevEntry: prevEntry,\n makeUpdateSliceInterpolator: makeUpdateSliceInterpolator,\n makeUpdateTextInterpolator: makeUpdateTextInterpolator,\n\n handleSlicesExit: handleSlicesExit,\n hasTransition: hasTransition,\n strTransform: strTransform\n });\n\n if(trace.pathbar.visible) {\n drawAncestors(gd, cd, entry, selAncestors, {\n barDifY: barDifY,\n width: barW,\n height: barH,\n\n viewX: viewBarX,\n viewY: viewBarY,\n\n pathSlice: pathAncestor,\n toMoveInsideSlice: toMoveInsideSlice,\n\n makeUpdateSliceInterpolator: makeUpdateSliceInterpolator,\n makeUpdateTextInterpolator: makeUpdateTextInterpolator,\n\n handleSlicesExit: handleSlicesExit,\n hasTransition: hasTransition,\n strTransform: strTransform\n });\n }\n}\n\n\n/***/ }),\n\n/***/ \"5844\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n // not really a 'subplot' attribute container,\n // but this is the flag we use to denote attributes that\n // support yaxis, yaxis2, yaxis3, ... counters\n _isSubplotObj: true,\n\n rangemode: {\n valType: 'enumerated',\n values: ['auto', 'fixed', 'match'],\n dflt: 'match',\n \n editType: 'calc',\n \n },\n range: {\n valType: 'info_array',\n \n items: [\n {valType: 'any', editType: 'plot'},\n {valType: 'any', editType: 'plot'}\n ],\n editType: 'plot',\n \n },\n editType: 'calc'\n};\n\n\n/***/ }),\n\n/***/ \"5885\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt) {\n // Note: hoverOnBox property is needed for click-to-select\n // to ignore when a box was clicked. This is the reason box\n // implements this custom eventData function.\n if(pt.hoverOnBox) out.hoverOnBox = pt.hoverOnBox;\n\n if('xVal' in pt) out.x = pt.xVal;\n if('yVal' in pt) out.y = pt.yVal;\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"5913\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar numConstants = __webpack_require__(\"e806\");\nvar oneYear = numConstants.ONEAVGYEAR;\nvar oneMonth = numConstants.ONEAVGMONTH;\nvar oneDay = numConstants.ONEDAY;\nvar oneHour = numConstants.ONEHOUR;\nvar oneMin = numConstants.ONEMIN;\nvar oneSec = numConstants.ONESEC;\nvar tickIncrement = __webpack_require__(\"0642\").tickIncrement;\n\n\n/*\n * make a function that will find rounded bin edges\n * @param {number} leftGap: how far from the left edge of any bin is the closest data value?\n * @param {number} rightGap: how far from the right edge of any bin is the closest data value?\n * @param {Array[number]} binEdges: the actual edge values used in binning\n * @param {object} pa: the position axis\n * @param {string} calendar: the data calendar\n *\n * @return {function(v, isRightEdge)}:\n * find the start (isRightEdge is falsy) or end (truthy) label value for a bin edge `v`\n */\nmodule.exports = function getBinSpanLabelRound(leftGap, rightGap, binEdges, pa, calendar) {\n // the rounding digit is the largest digit that changes in *all* of 4 regions:\n // - inside the rightGap before binEdges[0] (shifted 10% to the left)\n // - inside the leftGap after binEdges[0] (expanded by 10% of rightGap on each end)\n // - same for binEdges[1]\n var dv0 = -1.1 * rightGap;\n var dv1 = -0.1 * rightGap;\n var dv2 = leftGap - dv1;\n var edge0 = binEdges[0];\n var edge1 = binEdges[1];\n var leftDigit = Math.min(\n biggestDigitChanged(edge0 + dv1, edge0 + dv2, pa, calendar),\n biggestDigitChanged(edge1 + dv1, edge1 + dv2, pa, calendar)\n );\n var rightDigit = Math.min(\n biggestDigitChanged(edge0 + dv0, edge0 + dv1, pa, calendar),\n biggestDigitChanged(edge1 + dv0, edge1 + dv1, pa, calendar)\n );\n\n // normally we try to make the label for the right edge different from\n // the left edge label, so it's unambiguous which bin gets data on the edge.\n // but if this results in more than 3 extra digits (or for dates, more than\n // 2 fields ie hr&min or min&sec, which is 3600x), it'll be more clutter than\n // useful so keep the label cleaner instead\n var digit, disambiguateEdges;\n if(leftDigit > rightDigit && rightDigit < Math.abs(edge1 - edge0) / 4000) {\n digit = leftDigit;\n disambiguateEdges = false;\n } else {\n digit = Math.min(leftDigit, rightDigit);\n disambiguateEdges = true;\n }\n\n if(pa.type === 'date' && digit > oneDay) {\n var dashExclude = (digit === oneYear) ? 1 : 6;\n var increment = (digit === oneYear) ? 'M12' : 'M1';\n\n return function(v, isRightEdge) {\n var dateStr = pa.c2d(v, oneYear, calendar);\n var dashPos = dateStr.indexOf('-', dashExclude);\n if(dashPos > 0) dateStr = dateStr.substr(0, dashPos);\n var roundedV = pa.d2c(dateStr, 0, calendar);\n\n if(roundedV < v) {\n var nextV = tickIncrement(roundedV, increment, false, calendar);\n if((roundedV + nextV) / 2 < v + leftGap) roundedV = nextV;\n }\n\n if(isRightEdge && disambiguateEdges) {\n return tickIncrement(roundedV, increment, true, calendar);\n }\n\n return roundedV;\n };\n }\n\n return function(v, isRightEdge) {\n var roundedV = digit * Math.round(v / digit);\n // if we rounded down and we could round up and still be < leftGap\n // (or what leftGap values round to), do that\n if(roundedV + (digit / 10) < v && roundedV + (digit * 0.9) < v + leftGap) {\n roundedV += digit;\n }\n // finally for the right edge back off one digit - but only if we can do that\n // and not clip off any data that's potentially in the bin\n if(isRightEdge && disambiguateEdges) {\n roundedV -= digit;\n }\n return roundedV;\n };\n};\n\n/*\n * Find the largest digit that changes within a (calcdata) region [v1, v2]\n * if dates, \"digit\" means date/time part when it's bigger than a second\n * returns the unit value to round to this digit, eg 0.01 to round to hundredths, or\n * 100 to round to hundreds. returns oneMonth or oneYear for month or year rounding,\n * so that Math.min will work, rather than 'M1' and 'M12'\n */\nfunction biggestDigitChanged(v1, v2, pa, calendar) {\n // are we crossing zero? can't say anything.\n // in principle this doesn't apply to dates but turns out this doesn't matter.\n if(v1 * v2 <= 0) return Infinity;\n\n var dv = Math.abs(v2 - v1);\n var isDate = pa.type === 'date';\n var digit = biggestGuaranteedDigitChanged(dv, isDate);\n // see if a larger digit also changed\n for(var i = 0; i < 10; i++) {\n // numbers: next digit needs to be >10x but <100x then gets rounded down.\n // dates: next digit can be as much as 60x (then rounded down)\n var nextDigit = biggestGuaranteedDigitChanged(digit * 80, isDate);\n // if we get to years, the chain stops\n if(digit === nextDigit) break;\n if(didDigitChange(nextDigit, v1, v2, isDate, pa, calendar)) digit = nextDigit;\n else break;\n }\n return digit;\n}\n\n/*\n * Find the largest digit that *definitely* changes in a region [v, v + dv] for any v\n * for nonuniform date regions (months/years) pick the largest\n */\nfunction biggestGuaranteedDigitChanged(dv, isDate) {\n if(isDate && dv > oneSec) {\n // this is supposed to be the biggest *guaranteed* change\n // so compare to the longest month and year across any calendar,\n // and we'll iterate back up later\n // note: does not support rounding larger than one year. We could add\n // that if anyone wants it, but seems unusual and not strictly necessary.\n if(dv > oneDay) {\n if(dv > oneYear * 1.1) return oneYear;\n if(dv > oneMonth * 1.1) return oneMonth;\n return oneDay;\n }\n\n if(dv > oneHour) return oneHour;\n if(dv > oneMin) return oneMin;\n return oneSec;\n }\n return Math.pow(10, Math.floor(Math.log(dv) / Math.LN10));\n}\n\nfunction didDigitChange(digit, v1, v2, isDate, pa, calendar) {\n if(isDate && digit > oneDay) {\n var dateParts1 = dateParts(v1, pa, calendar);\n var dateParts2 = dateParts(v2, pa, calendar);\n var parti = (digit === oneYear) ? 0 : 1;\n return dateParts1[parti] !== dateParts2[parti];\n }\n return Math.floor(v2 / digit) - Math.floor(v1 / digit) > 0.1;\n}\n\nfunction dateParts(v, pa, calendar) {\n var parts = pa.c2d(v, oneYear, calendar).split('-');\n if(parts[0] === '') {\n parts.unshift();\n parts[0] = '-' + parts[0];\n }\n return parts;\n}\n\n\n/***/ }),\n\n/***/ \"5928\":\n/***/ (function(module, exports) {\n\nmodule.exports = fromQuat;\n\n/**\n * Creates a matrix from a quaternion rotation.\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @returns {mat4} out\n */\nfunction fromQuat(out, q) {\n var x = q[0], y = q[1], z = q[2], w = q[3],\n x2 = x + x,\n y2 = y + y,\n z2 = z + z,\n\n xx = x * x2,\n yx = y * x2,\n yy = y * y2,\n zx = z * x2,\n zy = z * y2,\n zz = z * z2,\n wx = w * x2,\n wy = w * y2,\n wz = w * z2;\n\n out[0] = 1 - yy - zz;\n out[1] = yx + wz;\n out[2] = zx - wy;\n out[3] = 0;\n\n out[4] = yx - wz;\n out[5] = 1 - xx - zz;\n out[6] = zy + wx;\n out[7] = 0;\n\n out[8] = zx + wy;\n out[9] = zy - wx;\n out[10] = 1 - xx - yy;\n out[11] = 0;\n\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n\n return out;\n};\n\n/***/ }),\n\n/***/ \"595c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n * Ben Postlethwaite\n * January 2013\n * License MIT\n */\n\n\nvar colorScale = __webpack_require__(\"9a02\");\nvar lerp = __webpack_require__(\"9b49\")\n\nmodule.exports = createColormap;\n\nfunction createColormap (spec) {\n /*\n * Default Options\n */\n var indicies, fromrgba, torgba,\n nsteps, cmap, colormap, format,\n nshades, colors, alpha, i;\n\n if ( !spec ) spec = {};\n\n nshades = (spec.nshades || 72) - 1;\n format = spec.format || 'hex';\n\n colormap = spec.colormap;\n if (!colormap) colormap = 'jet';\n\n if (typeof colormap === 'string') {\n colormap = colormap.toLowerCase();\n\n if (!colorScale[colormap]) {\n throw Error(colormap + ' not a supported colorscale');\n }\n\n cmap = colorScale[colormap];\n\n } else if (Array.isArray(colormap)) {\n cmap = colormap.slice();\n\n } else {\n throw Error('unsupported colormap option', colormap);\n }\n\n if (cmap.length > nshades + 1) {\n throw new Error(\n colormap+' map requires nshades to be at least size '+cmap.length\n );\n }\n\n if (!Array.isArray(spec.alpha)) {\n\n if (typeof spec.alpha === 'number') {\n alpha = [spec.alpha, spec.alpha];\n\n } else {\n alpha = [1, 1];\n }\n\n } else if (spec.alpha.length !== 2) {\n alpha = [1, 1];\n\n } else {\n alpha = spec.alpha.slice();\n }\n\n // map index points from 0..1 to 0..n-1\n indicies = cmap.map(function(c) {\n return Math.round(c.index * nshades);\n });\n\n // Add alpha channel to the map\n alpha[0] = Math.min(Math.max(alpha[0], 0), 1);\n alpha[1] = Math.min(Math.max(alpha[1], 0), 1);\n\n var steps = cmap.map(function(c, i) {\n var index = cmap[i].index\n\n var rgba = cmap[i].rgb.slice();\n\n // if user supplies their own map use it\n if (rgba.length === 4 && rgba[3] >= 0 && rgba[3] <= 1) {\n return rgba\n }\n rgba[3] = alpha[0] + (alpha[1] - alpha[0])*index;\n\n return rgba\n })\n\n\n /*\n * map increasing linear values between indicies to\n * linear steps in colorvalues\n */\n var colors = []\n for (i = 0; i < indicies.length-1; ++i) {\n nsteps = indicies[i+1] - indicies[i];\n fromrgba = steps[i];\n torgba = steps[i+1];\n\n for (var j = 0; j < nsteps; j++) {\n var amt = j / nsteps\n colors.push([\n Math.round(lerp(fromrgba[0], torgba[0], amt)),\n Math.round(lerp(fromrgba[1], torgba[1], amt)),\n Math.round(lerp(fromrgba[2], torgba[2], amt)),\n lerp(fromrgba[3], torgba[3], amt)\n ])\n }\n }\n\n //add 1 step as last value\n colors.push(cmap[cmap.length - 1].rgb.concat(alpha[1]))\n\n if (format === 'hex') colors = colors.map( rgb2hex );\n else if (format === 'rgbaString') colors = colors.map( rgbaStr );\n else if (format === 'float') colors = colors.map( rgb2float );\n\n return colors;\n};\n\nfunction rgb2float (rgba) {\n return [\n rgba[0] / 255,\n rgba[1] / 255,\n rgba[2] / 255,\n rgba[3]\n ]\n}\n\nfunction rgb2hex (rgba) {\n var dig, hex = '#';\n for (var i = 0; i < 3; ++i) {\n dig = rgba[i];\n dig = dig.toString(16);\n hex += ('00' + dig).substr( dig.length );\n }\n return hex;\n}\n\nfunction rgbaStr (rgba) {\n return 'rgba(' + rgba.join(',') + ')';\n}\n\n\n/***/ }),\n\n/***/ \"59be\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar colorscaleDefaults = __webpack_require__(\"4183\");\n\nmodule.exports = function lineDefaults(traceIn, traceOut, defaultColor, layout, coerce, opts) {\n var markerColor = (traceIn.marker || {}).color;\n\n coerce('line.color', defaultColor);\n\n if(hasColorscale(traceIn, 'line')) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'line.', cLetter: 'c'});\n } else {\n var lineColorDflt = (isArrayOrTypedArray(markerColor) ? false : markerColor) || defaultColor;\n coerce('line.color', lineColorDflt);\n }\n\n coerce('line.width');\n if(!(opts || {}).noDash) coerce('line.dash');\n};\n\n\n/***/ }),\n\n/***/ \"59ce\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Plots = __webpack_require__(\"bb71\");\nvar Axes = __webpack_require__(\"0642\");\nvar setConvertCartesian = __webpack_require__(\"1a40\");\nvar setConvertPolar = __webpack_require__(\"7a52\");\nvar doAutoRange = __webpack_require__(\"ce56\").doAutoRange;\nvar dragBox = __webpack_require__(\"9676\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar Fx = __webpack_require__(\"a5c4\");\nvar Titles = __webpack_require__(\"1999\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar selectOnClick = __webpack_require__(\"1876\").selectOnClick;\nvar clearSelect = __webpack_require__(\"1876\").clearSelect;\nvar setCursor = __webpack_require__(\"0f37\");\nvar clearGlCanvases = __webpack_require__(\"821b\");\nvar redrawReglTraces = __webpack_require__(\"a392\").redrawReglTraces;\n\nvar MID_SHIFT = __webpack_require__(\"63dc\").MID_SHIFT;\nvar constants = __webpack_require__(\"f510\");\nvar helpers = __webpack_require__(\"a60f\");\n\nvar _ = Lib._;\nvar mod = Lib.mod;\nvar deg2rad = Lib.deg2rad;\nvar rad2deg = Lib.rad2deg;\n\nfunction Polar(gd, id) {\n this.id = id;\n this.gd = gd;\n\n this._hasClipOnAxisFalse = null;\n this.vangles = null;\n this.radialAxisAngle = null;\n this.traceHash = {};\n this.layers = {};\n this.clipPaths = {};\n this.clipIds = {};\n this.viewInitial = {};\n\n var fullLayout = gd._fullLayout;\n var clipIdBase = 'clip' + fullLayout._uid + id;\n\n this.clipIds.forTraces = clipIdBase + '-for-traces';\n this.clipPaths.forTraces = fullLayout._clips.append('clipPath')\n .attr('id', this.clipIds.forTraces);\n this.clipPaths.forTraces.append('path');\n\n this.framework = fullLayout._polarlayer.append('g')\n .attr('class', id);\n\n // unfortunately, we have to keep track of some axis tick settings\n // as polar subplots do not implement the 'ticks' editType\n this.radialTickLayout = null;\n this.angularTickLayout = null;\n}\n\nvar proto = Polar.prototype;\n\nmodule.exports = function createPolar(gd, id) {\n return new Polar(gd, id);\n};\n\nproto.plot = function(polarCalcData, fullLayout) {\n var _this = this;\n var polarLayout = fullLayout[_this.id];\n\n _this._hasClipOnAxisFalse = false;\n for(var i = 0; i < polarCalcData.length; i++) {\n var trace = polarCalcData[i][0].trace;\n if(trace.cliponaxis === false) {\n _this._hasClipOnAxisFalse = true;\n break;\n }\n }\n\n _this.updateLayers(fullLayout, polarLayout);\n _this.updateLayout(fullLayout, polarLayout);\n Plots.generalUpdatePerTraceModule(_this.gd, _this, polarCalcData, polarLayout);\n _this.updateFx(fullLayout, polarLayout);\n};\n\nproto.updateLayers = function(fullLayout, polarLayout) {\n var _this = this;\n var layers = _this.layers;\n var radialLayout = polarLayout.radialaxis;\n var angularLayout = polarLayout.angularaxis;\n var layerNames = constants.layerNames;\n\n var frontPlotIndex = layerNames.indexOf('frontplot');\n var layerData = layerNames.slice(0, frontPlotIndex);\n var isAngularAxisBelowTraces = angularLayout.layer === 'below traces';\n var isRadialAxisBelowTraces = radialLayout.layer === 'below traces';\n\n if(isAngularAxisBelowTraces) layerData.push('angular-line');\n if(isRadialAxisBelowTraces) layerData.push('radial-line');\n if(isAngularAxisBelowTraces) layerData.push('angular-axis');\n if(isRadialAxisBelowTraces) layerData.push('radial-axis');\n\n layerData.push('frontplot');\n\n if(!isAngularAxisBelowTraces) layerData.push('angular-line');\n if(!isRadialAxisBelowTraces) layerData.push('radial-line');\n if(!isAngularAxisBelowTraces) layerData.push('angular-axis');\n if(!isRadialAxisBelowTraces) layerData.push('radial-axis');\n\n var join = _this.framework.selectAll('.polarsublayer')\n .data(layerData, String);\n\n join.enter().append('g')\n .attr('class', function(d) { return 'polarsublayer ' + d;})\n .each(function(d) {\n var sel = layers[d] = d3.select(this);\n\n switch(d) {\n case 'frontplot':\n // TODO add option to place in 'backplot' layer??\n sel.append('g').classed('barlayer', true);\n sel.append('g').classed('scatterlayer', true);\n break;\n case 'backplot':\n sel.append('g').classed('maplayer', true);\n break;\n case 'plotbg':\n layers.bg = sel.append('path');\n break;\n case 'radial-grid':\n sel.style('fill', 'none');\n break;\n case 'angular-grid':\n sel.style('fill', 'none');\n break;\n case 'radial-line':\n sel.append('line').style('fill', 'none');\n break;\n case 'angular-line':\n sel.append('path').style('fill', 'none');\n break;\n }\n });\n\n join.order();\n};\n\n/* Polar subplots juggle with 6 'axis objects' (!), these are:\n *\n * - polarLayout.radialaxis (aka radialLayout in this file):\n * - polarLayout.angularaxis (aka angularLayout in this file):\n * used for data -> calcdata conversions (aka d2c) during the calc step\n *\n * - this.radialAxis\n * extends polarLayout.radialaxis, adds mocked 'domain' and\n * few other keys in order to reuse Cartesian doAutoRange and the Axes\n * drawing routines.\n * used for calcdata -> geometric conversions (aka c2g) during the plot step\n * + setGeometry setups ax.c2g for given ax.range\n * + setScale setups ax._m,ax._b for given ax.range\n *\n * - this.angularAxis\n * extends polarLayout.angularaxis, adds mocked 'range' and 'domain' and\n * a few other keys in order to reuse the Axes drawing routines.\n * used for calcdata -> geometric conversions (aka c2g) during the plot step\n * + setGeometry setups ax.c2g given ax.rotation, ax.direction & ax._categories,\n * and mocks ax.range\n * + setScale setups ax._m,ax._b with that mocked ax.range\n *\n * - this.xaxis\n * - this.yaxis\n * setup so that polar traces can reuse plot methods of Cartesian traces\n * which mostly rely on 2pixel methods (e.g ax.c2p)\n */\nproto.updateLayout = function(fullLayout, polarLayout) {\n var _this = this;\n var layers = _this.layers;\n var gs = fullLayout._size;\n\n // axis attributes\n var radialLayout = polarLayout.radialaxis;\n var angularLayout = polarLayout.angularaxis;\n // layout domains\n var xDomain = polarLayout.domain.x;\n var yDomain = polarLayout.domain.y;\n // offsets from paper edge to layout domain box\n _this.xOffset = gs.l + gs.w * xDomain[0];\n _this.yOffset = gs.t + gs.h * (1 - yDomain[1]);\n // lengths of the layout domain box\n var xLength = _this.xLength = gs.w * (xDomain[1] - xDomain[0]);\n var yLength = _this.yLength = gs.h * (yDomain[1] - yDomain[0]);\n // sector to plot\n var sector = polarLayout.sector;\n _this.sectorInRad = sector.map(deg2rad);\n var sectorBBox = _this.sectorBBox = computeSectorBBox(sector);\n var dxSectorBBox = sectorBBox[2] - sectorBBox[0];\n var dySectorBBox = sectorBBox[3] - sectorBBox[1];\n // aspect ratios\n var arDomain = yLength / xLength;\n var arSector = Math.abs(dySectorBBox / dxSectorBBox);\n // actual lengths and domains of subplot box\n var xLength2, yLength2;\n var xDomain2, yDomain2;\n var gap;\n if(arDomain > arSector) {\n xLength2 = xLength;\n yLength2 = xLength * arSector;\n gap = (yLength - yLength2) / gs.h / 2;\n xDomain2 = [xDomain[0], xDomain[1]];\n yDomain2 = [yDomain[0] + gap, yDomain[1] - gap];\n } else {\n xLength2 = yLength / arSector;\n yLength2 = yLength;\n gap = (xLength - xLength2) / gs.w / 2;\n xDomain2 = [xDomain[0] + gap, xDomain[1] - gap];\n yDomain2 = [yDomain[0], yDomain[1]];\n }\n _this.xLength2 = xLength2;\n _this.yLength2 = yLength2;\n _this.xDomain2 = xDomain2;\n _this.yDomain2 = yDomain2;\n // actual offsets from paper edge to the subplot box top-left corner\n var xOffset2 = _this.xOffset2 = gs.l + gs.w * xDomain2[0];\n var yOffset2 = _this.yOffset2 = gs.t + gs.h * (1 - yDomain2[1]);\n // circle radius in px\n var radius = _this.radius = xLength2 / dxSectorBBox;\n // 'inner' radius in px (when polar.hole is set)\n var innerRadius = _this.innerRadius = polarLayout.hole * radius;\n // circle center position in px\n var cx = _this.cx = xOffset2 - radius * sectorBBox[0];\n var cy = _this.cy = yOffset2 + radius * sectorBBox[3];\n // circle center in the coordinate system of plot area\n var cxx = _this.cxx = cx - xOffset2;\n var cyy = _this.cyy = cy - yOffset2;\n\n _this.radialAxis = _this.mockAxis(fullLayout, polarLayout, radialLayout, {\n // make this an 'x' axis to make positioning (especially rotation) easier\n _id: 'x',\n // convert to 'x' axis equivalent\n side: {\n counterclockwise: 'top',\n clockwise: 'bottom'\n }[radialLayout.side],\n // spans length 1 radius\n domain: [innerRadius / gs.w, radius / gs.w]\n });\n\n _this.angularAxis = _this.mockAxis(fullLayout, polarLayout, angularLayout, {\n side: 'right',\n // to get auto nticks right\n domain: [0, Math.PI],\n // don't pass through autorange logic\n autorange: false\n });\n\n _this.doAutoRange(fullLayout, polarLayout);\n // N.B. this sets _this.vangles\n _this.updateAngularAxis(fullLayout, polarLayout);\n // N.B. this sets _this.radialAxisAngle\n _this.updateRadialAxis(fullLayout, polarLayout);\n _this.updateRadialAxisTitle(fullLayout, polarLayout);\n\n _this.xaxis = _this.mockCartesianAxis(fullLayout, polarLayout, {\n _id: 'x',\n domain: xDomain2\n });\n\n _this.yaxis = _this.mockCartesianAxis(fullLayout, polarLayout, {\n _id: 'y',\n domain: yDomain2\n });\n\n var dPath = _this.pathSubplot();\n\n _this.clipPaths.forTraces.select('path')\n .attr('d', dPath)\n .attr('transform', strTranslate(cxx, cyy));\n\n layers.frontplot\n .attr('transform', strTranslate(xOffset2, yOffset2))\n .call(Drawing.setClipUrl, _this._hasClipOnAxisFalse ? null : _this.clipIds.forTraces, _this.gd);\n\n layers.bg\n .attr('d', dPath)\n .attr('transform', strTranslate(cx, cy))\n .call(Color.fill, polarLayout.bgcolor);\n};\n\nproto.mockAxis = function(fullLayout, polarLayout, axLayout, opts) {\n var ax = Lib.extendFlat({}, axLayout, opts);\n setConvertPolar(ax, polarLayout, fullLayout);\n return ax;\n};\n\nproto.mockCartesianAxis = function(fullLayout, polarLayout, opts) {\n var _this = this;\n var axId = opts._id;\n\n var ax = Lib.extendFlat({type: 'linear'}, opts);\n setConvertCartesian(ax, fullLayout);\n\n var bboxIndices = {\n x: [0, 2],\n y: [1, 3]\n };\n\n ax.setRange = function() {\n var sectorBBox = _this.sectorBBox;\n var ind = bboxIndices[axId];\n var rl = _this.radialAxis._rl;\n var drl = (rl[1] - rl[0]) / (1 - polarLayout.hole);\n ax.range = [sectorBBox[ind[0]] * drl, sectorBBox[ind[1]] * drl];\n };\n\n ax.isPtWithinRange = axId === 'x' ?\n function(d) { return _this.isPtInside(d); } :\n function() { return true; };\n\n ax.setRange();\n ax.setScale();\n return ax;\n};\n\nproto.doAutoRange = function(fullLayout, polarLayout) {\n var gd = this.gd;\n var radialAxis = this.radialAxis;\n var radialLayout = polarLayout.radialaxis;\n\n radialAxis.setScale();\n doAutoRange(gd, radialAxis);\n\n var rng = radialAxis.range;\n radialLayout.range = rng.slice();\n radialLayout._input.range = rng.slice();\n\n radialAxis._rl = [\n radialAxis.r2l(rng[0], null, 'gregorian'),\n radialAxis.r2l(rng[1], null, 'gregorian')\n ];\n};\n\nproto.updateRadialAxis = function(fullLayout, polarLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var radialLayout = polarLayout.radialaxis;\n var a0 = mod(polarLayout.sector[0], 360);\n var ax = _this.radialAxis;\n var hasRoomForIt = innerRadius < radius;\n\n _this.fillViewInitialKey('radialaxis.angle', radialLayout.angle);\n _this.fillViewInitialKey('radialaxis.range', ax.range.slice());\n\n ax.setGeometry();\n\n // rotate auto tick labels by 180 if in quadrant II and III to make them\n // readable from left-to-right\n //\n // TODO try moving deeper in Axes.drawLabels for better results?\n if(ax.tickangle === 'auto' && (a0 > 90 && a0 <= 270)) {\n ax.tickangle = 180;\n }\n\n // easier to set rotate angle with custom translate function\n var transFn = function(d) {\n return 'translate(' + (ax.l2p(d.x) + innerRadius) + ',0)';\n };\n\n // set special grid path function\n var gridPathFn = function(d) {\n return _this.pathArc(ax.r2p(d.x) + innerRadius);\n };\n\n var newTickLayout = strTickLayout(radialLayout);\n if(_this.radialTickLayout !== newTickLayout) {\n layers['radial-axis'].selectAll('.xtick').remove();\n _this.radialTickLayout = newTickLayout;\n }\n\n if(hasRoomForIt) {\n ax.setScale();\n\n var vals = Axes.calcTicks(ax);\n var valsClipped = Axes.clipEnds(ax, vals);\n var tickSign = Axes.getTickSigns(ax)[2];\n\n Axes.drawTicks(gd, ax, {\n vals: vals,\n layer: layers['radial-axis'],\n path: Axes.makeTickPath(ax, 0, tickSign),\n transFn: transFn,\n crisp: false\n });\n\n Axes.drawGrid(gd, ax, {\n vals: valsClipped,\n layer: layers['radial-grid'],\n path: gridPathFn,\n transFn: Lib.noop,\n crisp: false\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: layers['radial-axis'],\n transFn: transFn,\n labelFns: Axes.makeLabelFns(ax, 0)\n });\n }\n\n // stash 'actual' radial axis angle for drag handlers (in degrees)\n var angle = _this.radialAxisAngle = _this.vangles ?\n rad2deg(snapToVertexAngle(deg2rad(radialLayout.angle), _this.vangles)) :\n radialLayout.angle;\n\n var tLayer = strTranslate(cx, cy);\n var tLayer2 = tLayer + strRotate(-angle);\n\n updateElement(\n layers['radial-axis'],\n hasRoomForIt && (radialLayout.showticklabels || radialLayout.ticks),\n {transform: tLayer2}\n );\n\n updateElement(\n layers['radial-grid'],\n hasRoomForIt && radialLayout.showgrid,\n {transform: tLayer}\n );\n\n updateElement(\n layers['radial-line'].select('line'),\n hasRoomForIt && radialLayout.showline,\n {\n x1: innerRadius,\n y1: 0,\n x2: radius,\n y2: 0,\n transform: tLayer2\n }\n )\n .attr('stroke-width', radialLayout.linewidth)\n .call(Color.stroke, radialLayout.linecolor);\n};\n\nproto.updateRadialAxisTitle = function(fullLayout, polarLayout, _angle) {\n var _this = this;\n var gd = _this.gd;\n var radius = _this.radius;\n var cx = _this.cx;\n var cy = _this.cy;\n var radialLayout = polarLayout.radialaxis;\n var titleClass = _this.id + 'title';\n\n var angle = _angle !== undefined ? _angle : _this.radialAxisAngle;\n var angleRad = deg2rad(angle);\n var cosa = Math.cos(angleRad);\n var sina = Math.sin(angleRad);\n\n var pad = 0;\n\n // Hint: no need to check if there is in fact a title.text set\n // because if plot is editable, pad needs to be calculated anyways\n // to properly show placeholder text when title is empty.\n if(radialLayout.title) {\n var h = Drawing.bBox(_this.layers['radial-axis'].node()).height;\n var ts = radialLayout.title.font.size;\n pad = radialLayout.side === 'counterclockwise' ?\n -h - ts * 0.4 :\n h + ts * 0.8;\n }\n\n _this.layers['radial-axis-title'] = Titles.draw(gd, titleClass, {\n propContainer: radialLayout,\n propName: _this.id + '.radialaxis.title',\n placeholder: _(gd, 'Click to enter radial axis title'),\n attributes: {\n x: cx + (radius / 2) * cosa + pad * sina,\n y: cy - (radius / 2) * sina + pad * cosa,\n 'text-anchor': 'middle'\n },\n transform: {rotate: -angle}\n });\n};\n\nproto.updateAngularAxis = function(fullLayout, polarLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var angularLayout = polarLayout.angularaxis;\n var ax = _this.angularAxis;\n\n _this.fillViewInitialKey('angularaxis.rotation', angularLayout.rotation);\n\n ax.setGeometry();\n ax.setScale();\n\n // 't'ick to 'g'eometric radians is used all over the place here\n var t2g = function(d) { return ax.t2g(d.x); };\n\n // run rad2deg on tick0 and ditck for thetaunit: 'radians' axes\n if(ax.type === 'linear' && ax.thetaunit === 'radians') {\n ax.tick0 = rad2deg(ax.tick0);\n ax.dtick = rad2deg(ax.dtick);\n }\n\n var _transFn = function(rad) {\n return strTranslate(cx + radius * Math.cos(rad), cy - radius * Math.sin(rad));\n };\n\n var transFn = function(d) {\n return _transFn(t2g(d));\n };\n\n var transFn2 = function(d) {\n var rad = t2g(d);\n return _transFn(rad) + strRotate(-rad2deg(rad));\n };\n\n var gridPathFn = function(d) {\n var rad = t2g(d);\n var cosRad = Math.cos(rad);\n var sinRad = Math.sin(rad);\n return 'M' + [cx + innerRadius * cosRad, cy - innerRadius * sinRad] +\n 'L' + [cx + radius * cosRad, cy - radius * sinRad];\n };\n\n var out = Axes.makeLabelFns(ax, 0);\n var labelStandoff = out.labelStandoff;\n var labelFns = {};\n\n labelFns.xFn = function(d) {\n var rad = t2g(d);\n return Math.cos(rad) * labelStandoff;\n };\n\n labelFns.yFn = function(d) {\n var rad = t2g(d);\n var ff = Math.sin(rad) > 0 ? 0.2 : 1;\n return -Math.sin(rad) * (labelStandoff + d.fontSize * ff) +\n Math.abs(Math.cos(rad)) * (d.fontSize * MID_SHIFT);\n };\n\n labelFns.anchorFn = function(d) {\n var rad = t2g(d);\n var cos = Math.cos(rad);\n return Math.abs(cos) < 0.1 ?\n 'middle' :\n (cos > 0 ? 'start' : 'end');\n };\n\n labelFns.heightFn = function(d, a, h) {\n var rad = t2g(d);\n return -0.5 * (1 + Math.sin(rad)) * h;\n };\n\n var newTickLayout = strTickLayout(angularLayout);\n if(_this.angularTickLayout !== newTickLayout) {\n layers['angular-axis'].selectAll('.' + ax._id + 'tick').remove();\n _this.angularTickLayout = newTickLayout;\n }\n\n var vals = Axes.calcTicks(ax);\n\n // angle of polygon vertices in geometric radians (null means circles)\n // TODO what to do when ax.period > ax._categories ??\n var vangles;\n if(polarLayout.gridshape === 'linear') {\n vangles = vals.map(t2g);\n\n // ax._vals should be always ordered, make them\n // always turn counterclockwise for convenience here\n if(Lib.angleDelta(vangles[0], vangles[1]) < 0) {\n vangles = vangles.slice().reverse();\n }\n } else {\n vangles = null;\n }\n _this.vangles = vangles;\n\n // Use tickval filter for category axes instead of tweaking\n // the range w.r.t sector, so that sectors that cross 360 can\n // show all their ticks.\n if(ax.type === 'category') {\n vals = vals.filter(function(d) {\n return Lib.isAngleInsideSector(t2g(d), _this.sectorInRad);\n });\n }\n\n if(ax.visible) {\n var tickSign = ax.ticks === 'inside' ? -1 : 1;\n var pad = (ax.linewidth || 1) / 2;\n\n Axes.drawTicks(gd, ax, {\n vals: vals,\n layer: layers['angular-axis'],\n path: 'M' + (tickSign * pad) + ',0h' + (tickSign * ax.ticklen),\n transFn: transFn2,\n crisp: false\n });\n\n Axes.drawGrid(gd, ax, {\n vals: vals,\n layer: layers['angular-grid'],\n path: gridPathFn,\n transFn: Lib.noop,\n crisp: false\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: layers['angular-axis'],\n repositionOnUpdate: true,\n transFn: transFn,\n labelFns: labelFns\n });\n }\n\n // TODO maybe two arcs is better here?\n // maybe split style attributes between inner and outer angular axes?\n\n updateElement(layers['angular-line'].select('path'), angularLayout.showline, {\n d: _this.pathSubplot(),\n transform: strTranslate(cx, cy)\n })\n .attr('stroke-width', angularLayout.linewidth)\n .call(Color.stroke, angularLayout.linecolor);\n};\n\nproto.updateFx = function(fullLayout, polarLayout) {\n if(!this.gd._context.staticPlot) {\n this.updateAngularDrag(fullLayout);\n this.updateRadialDrag(fullLayout, polarLayout, 0);\n this.updateRadialDrag(fullLayout, polarLayout, 1);\n this.updateMainDrag(fullLayout);\n }\n};\n\nproto.updateMainDrag = function(fullLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var zoomlayer = fullLayout._zoomlayer;\n var MINZOOM = constants.MINZOOM;\n var OFFEDGE = constants.OFFEDGE;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var cxx = _this.cxx;\n var cyy = _this.cyy;\n var sectorInRad = _this.sectorInRad;\n var vangles = _this.vangles;\n var radialAxis = _this.radialAxis;\n var clampTiny = helpers.clampTiny;\n var findXYatLength = helpers.findXYatLength;\n var findEnclosingVertexAngles = helpers.findEnclosingVertexAngles;\n var chw = constants.cornerHalfWidth;\n var chl = constants.cornerLen / 2;\n\n var mainDrag = dragBox.makeDragger(layers, 'path', 'maindrag', 'crosshair');\n\n d3.select(mainDrag)\n .attr('d', _this.pathSubplot())\n .attr('transform', strTranslate(cx, cy));\n\n var dragOpts = {\n element: mainDrag,\n gd: gd,\n subplot: _this.id,\n plotinfo: {\n id: _this.id,\n xaxis: _this.xaxis,\n yaxis: _this.yaxis\n },\n xaxes: [_this.xaxis],\n yaxes: [_this.yaxis]\n };\n\n // mouse px position at drag start (0), move (1)\n var x0, y0;\n // radial distance from circle center at drag start (0), move (1)\n var r0, r1;\n // zoombox persistent quantities\n var path0, dimmed, lum;\n // zoombox, corners elements\n var zb, corners;\n\n function norm(x, y) {\n return Math.sqrt(x * x + y * y);\n }\n\n function xy2r(x, y) {\n return norm(x - cxx, y - cyy);\n }\n\n function xy2a(x, y) {\n return Math.atan2(cyy - y, x - cxx);\n }\n\n function ra2xy(r, a) {\n return [r * Math.cos(a), r * Math.sin(-a)];\n }\n\n function pathCorner(r, a) {\n if(r === 0) return _this.pathSector(2 * chw);\n\n var da = chl / r;\n var am = a - da;\n var ap = a + da;\n var rb = Math.max(0, Math.min(r, radius));\n var rm = rb - chw;\n var rp = rb + chw;\n\n return 'M' + ra2xy(rm, am) +\n 'A' + [rm, rm] + ' 0,0,0 ' + ra2xy(rm, ap) +\n 'L' + ra2xy(rp, ap) +\n 'A' + [rp, rp] + ' 0,0,1 ' + ra2xy(rp, am) +\n 'Z';\n }\n\n // (x,y) is the pt at middle of the va0 <-> va1 edge\n //\n // ... we could eventually add another mode for cursor\n // angles 'close to' enough to a particular vertex.\n function pathCornerForPolygons(r, va0, va1) {\n if(r === 0) return _this.pathSector(2 * chw);\n\n var xy0 = ra2xy(r, va0);\n var xy1 = ra2xy(r, va1);\n var x = clampTiny((xy0[0] + xy1[0]) / 2);\n var y = clampTiny((xy0[1] + xy1[1]) / 2);\n var innerPts, outerPts;\n\n if(x && y) {\n var m = y / x;\n var mperp = -1 / m;\n var midPts = findXYatLength(chw, m, x, y);\n innerPts = findXYatLength(chl, mperp, midPts[0][0], midPts[0][1]);\n outerPts = findXYatLength(chl, mperp, midPts[1][0], midPts[1][1]);\n } else {\n var dx, dy;\n if(y) {\n // horizontal handles\n dx = chl;\n dy = chw;\n } else {\n // vertical handles\n dx = chw;\n dy = chl;\n }\n innerPts = [[x - dx, y - dy], [x + dx, y - dy]];\n outerPts = [[x - dx, y + dy], [x + dx, y + dy]];\n }\n\n return 'M' + innerPts.join('L') +\n 'L' + outerPts.reverse().join('L') + 'Z';\n }\n\n function zoomPrep() {\n r0 = null;\n r1 = null;\n path0 = _this.pathSubplot();\n dimmed = false;\n\n var polarLayoutNow = gd._fullLayout[_this.id];\n lum = tinycolor(polarLayoutNow.bgcolor).getLuminance();\n\n zb = dragBox.makeZoombox(zoomlayer, lum, cx, cy, path0);\n zb.attr('fill-rule', 'evenodd');\n corners = dragBox.makeCorners(zoomlayer, cx, cy);\n clearSelect(gd);\n }\n\n // N.B. this sets scoped 'r0' and 'r1'\n // return true if 'valid' zoom distance, false otherwise\n function clampAndSetR0R1(rr0, rr1) {\n rr1 = Math.max(Math.min(rr1, radius), innerRadius);\n\n // starting or ending drag near center (outer edge),\n // clamps radial distance at origin (at r=radius)\n if(rr0 < OFFEDGE) rr0 = 0;\n else if((radius - rr0) < OFFEDGE) rr0 = radius;\n else if(rr1 < OFFEDGE) rr1 = 0;\n else if((radius - rr1) < OFFEDGE) rr1 = radius;\n\n // make sure r0 < r1,\n // to get correct fill pattern in path1 below\n if(Math.abs(rr1 - rr0) > MINZOOM) {\n if(rr0 < rr1) {\n r0 = rr0;\n r1 = rr1;\n } else {\n r0 = rr1;\n r1 = rr0;\n }\n return true;\n } else {\n r0 = null;\n r1 = null;\n return false;\n }\n }\n\n function applyZoomMove(path1, cpath) {\n path1 = path1 || path0;\n cpath = cpath || 'M0,0Z';\n\n zb.attr('d', path1);\n corners.attr('d', cpath);\n dragBox.transitionZoombox(zb, corners, dimmed, lum);\n dimmed = true;\n\n var updateObj = {};\n computeZoomUpdates(updateObj);\n gd.emit('plotly_relayouting', updateObj);\n }\n\n function zoomMove(dx, dy) {\n var x1 = x0 + dx;\n var y1 = y0 + dy;\n var rr0 = xy2r(x0, y0);\n var rr1 = Math.min(xy2r(x1, y1), radius);\n var a0 = xy2a(x0, y0);\n var path1;\n var cpath;\n\n if(clampAndSetR0R1(rr0, rr1)) {\n path1 = path0 + _this.pathSector(r1);\n if(r0) path1 += _this.pathSector(r0);\n // keep 'starting' angle\n cpath = pathCorner(r0, a0) + pathCorner(r1, a0);\n }\n applyZoomMove(path1, cpath);\n }\n\n function findPolygonRadius(x, y, va0, va1) {\n var xy = helpers.findIntersectionXY(va0, va1, va0, [x - cxx, cyy - y]);\n return norm(xy[0], xy[1]);\n }\n\n function zoomMoveForPolygons(dx, dy) {\n var x1 = x0 + dx;\n var y1 = y0 + dy;\n var a0 = xy2a(x0, y0);\n var a1 = xy2a(x1, y1);\n var vangles0 = findEnclosingVertexAngles(a0, vangles);\n var vangles1 = findEnclosingVertexAngles(a1, vangles);\n var rr0 = findPolygonRadius(x0, y0, vangles0[0], vangles0[1]);\n var rr1 = Math.min(findPolygonRadius(x1, y1, vangles1[0], vangles1[1]), radius);\n var path1;\n var cpath;\n\n if(clampAndSetR0R1(rr0, rr1)) {\n path1 = path0 + _this.pathSector(r1);\n if(r0) path1 += _this.pathSector(r0);\n // keep 'starting' angle here too\n cpath = [\n pathCornerForPolygons(r0, vangles0[0], vangles0[1]),\n pathCornerForPolygons(r1, vangles0[0], vangles0[1])\n ].join(' ');\n }\n applyZoomMove(path1, cpath);\n }\n\n function zoomDone() {\n dragBox.removeZoombox(gd);\n\n if(r0 === null || r1 === null) return;\n var updateObj = {};\n computeZoomUpdates(updateObj);\n\n dragBox.showDoubleClickNotifier(gd);\n\n Registry.call('_guiRelayout', gd, updateObj);\n }\n\n function computeZoomUpdates(update) {\n var rl = radialAxis._rl;\n var m = (rl[1] - rl[0]) / (1 - innerRadius / radius) / radius;\n var newRng = [\n rl[0] + (r0 - innerRadius) * m,\n rl[0] + (r1 - innerRadius) * m\n ];\n update[_this.id + '.radialaxis.range'] = newRng;\n }\n\n function zoomClick(numClicks, evt) {\n var clickMode = gd._fullLayout.clickmode;\n\n dragBox.removeZoombox(gd);\n\n // TODO double once vs twice logic (autorange vs fixed range)\n if(numClicks === 2) {\n var updateObj = {};\n for(var k in _this.viewInitial) {\n updateObj[_this.id + '.' + k] = _this.viewInitial[k];\n }\n\n gd.emit('plotly_doubleclick', null);\n Registry.call('_guiRelayout', gd, updateObj);\n }\n\n if(clickMode.indexOf('select') > -1 && numClicks === 1) {\n selectOnClick(evt, gd, [_this.xaxis], [_this.yaxis], _this.id, dragOpts);\n }\n\n if(clickMode.indexOf('event') > -1) {\n Fx.click(gd, evt, _this.id);\n }\n }\n\n dragOpts.prepFn = function(evt, startX, startY) {\n var dragModeNow = gd._fullLayout.dragmode;\n\n var bbox = mainDrag.getBoundingClientRect();\n x0 = startX - bbox.left;\n y0 = startY - bbox.top;\n\n // need to offset x/y as bbox center does not\n // match origin for asymmetric polygons\n if(vangles) {\n var offset = helpers.findPolygonOffset(radius, sectorInRad[0], sectorInRad[1], vangles);\n x0 += cxx + offset[0];\n y0 += cyy + offset[1];\n }\n\n switch(dragModeNow) {\n case 'zoom':\n if(vangles) {\n dragOpts.moveFn = zoomMoveForPolygons;\n } else {\n dragOpts.moveFn = zoomMove;\n }\n dragOpts.clickFn = zoomClick;\n dragOpts.doneFn = zoomDone;\n zoomPrep(evt, startX, startY);\n break;\n case 'select':\n case 'lasso':\n prepSelect(evt, startX, startY, dragOpts, dragModeNow);\n break;\n }\n };\n\n mainDrag.onmousemove = function(evt) {\n Fx.hover(gd, evt, _this.id);\n gd._fullLayout._lasthover = mainDrag;\n gd._fullLayout._hoversubplot = _this.id;\n };\n\n mainDrag.onmouseout = function(evt) {\n if(gd._dragging) return;\n dragElement.unhover(gd, evt);\n };\n\n dragElement.init(dragOpts);\n};\n\nproto.updateRadialDrag = function(fullLayout, polarLayout, rngIndex) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var radialAxis = _this.radialAxis;\n var bl = constants.radialDragBoxSize;\n var bl2 = bl / 2;\n\n if(!radialAxis.visible) return;\n\n var angle0 = deg2rad(_this.radialAxisAngle);\n var rl = radialAxis._rl;\n var rl0 = rl[0];\n var rl1 = rl[1];\n var rbase = rl[rngIndex];\n var m = 0.75 * (rl[1] - rl[0]) / (1 - polarLayout.hole) / radius;\n\n var tx, ty, className;\n if(rngIndex) {\n tx = cx + (radius + bl2) * Math.cos(angle0);\n ty = cy - (radius + bl2) * Math.sin(angle0);\n className = 'radialdrag';\n } else {\n // the 'inner' box can get called:\n // - when polar.hole>0\n // - when polar.sector isn't a full circle\n // otherwise it is hidden behind the main drag.\n tx = cx + (innerRadius - bl2) * Math.cos(angle0);\n ty = cy - (innerRadius - bl2) * Math.sin(angle0);\n className = 'radialdrag-inner';\n }\n\n var radialDrag = dragBox.makeRectDragger(layers, className, 'crosshair', -bl2, -bl2, bl, bl);\n var dragOpts = {element: radialDrag, gd: gd};\n\n updateElement(d3.select(radialDrag), radialAxis.visible && innerRadius < radius, {\n transform: strTranslate(tx, ty)\n });\n\n // move function (either rotate or re-range flavor)\n var moveFn2;\n // rotate angle on done\n var angle1;\n // re-range range[1] (or range[0]) on done\n var rprime;\n\n function moveFn(dx, dy) {\n if(moveFn2) {\n moveFn2(dx, dy);\n } else {\n var dvec = [dx, -dy];\n var rvec = [Math.cos(angle0), Math.sin(angle0)];\n var comp = Math.abs(Lib.dot(dvec, rvec) / Math.sqrt(Lib.dot(dvec, dvec)));\n\n // mostly perpendicular motions rotate,\n // mostly parallel motions re-range\n if(!isNaN(comp)) {\n moveFn2 = comp < 0.5 ? rotateMove : rerangeMove;\n }\n }\n\n var update = {};\n computeRadialAxisUpdates(update);\n gd.emit('plotly_relayouting', update);\n }\n\n function computeRadialAxisUpdates(update) {\n if(angle1 !== null) {\n update[_this.id + '.radialaxis.angle'] = angle1;\n } else if(rprime !== null) {\n update[_this.id + '.radialaxis.range[' + rngIndex + ']'] = rprime;\n }\n }\n\n function doneFn() {\n if(angle1 !== null) {\n Registry.call('_guiRelayout', gd, _this.id + '.radialaxis.angle', angle1);\n } else if(rprime !== null) {\n Registry.call('_guiRelayout', gd, _this.id + '.radialaxis.range[' + rngIndex + ']', rprime);\n }\n }\n\n function rotateMove(dx, dy) {\n // disable for inner drag boxes\n if(rngIndex === 0) return;\n\n var x1 = tx + dx;\n var y1 = ty + dy;\n\n angle1 = Math.atan2(cy - y1, x1 - cx);\n if(_this.vangles) angle1 = snapToVertexAngle(angle1, _this.vangles);\n angle1 = rad2deg(angle1);\n\n var transform = strTranslate(cx, cy) + strRotate(-angle1);\n layers['radial-axis'].attr('transform', transform);\n layers['radial-line'].select('line').attr('transform', transform);\n\n var fullLayoutNow = _this.gd._fullLayout;\n var polarLayoutNow = fullLayoutNow[_this.id];\n _this.updateRadialAxisTitle(fullLayoutNow, polarLayoutNow, angle1);\n }\n\n function rerangeMove(dx, dy) {\n // project (dx, dy) unto unit radial axis vector\n var dr = Lib.dot([dx, -dy], [Math.cos(angle0), Math.sin(angle0)]);\n rprime = rbase - m * dr;\n\n // make sure rprime does not change the range[0] -> range[1] sign\n if((m > 0) !== (rngIndex ? rprime > rl0 : rprime < rl1)) {\n rprime = null;\n return;\n }\n\n var fullLayoutNow = gd._fullLayout;\n var polarLayoutNow = fullLayoutNow[_this.id];\n\n // update radial range -> update c2g -> update _m,_b\n radialAxis.range[rngIndex] = rprime;\n radialAxis._rl[rngIndex] = rprime;\n _this.updateRadialAxis(fullLayoutNow, polarLayoutNow);\n\n _this.xaxis.setRange();\n _this.xaxis.setScale();\n _this.yaxis.setRange();\n _this.yaxis.setScale();\n\n var hasRegl = false;\n\n for(var traceType in _this.traceHash) {\n var moduleCalcData = _this.traceHash[traceType];\n var moduleCalcDataVisible = Lib.filterVisible(moduleCalcData);\n var _module = moduleCalcData[0][0].trace._module;\n _module.plot(gd, _this, moduleCalcDataVisible, polarLayoutNow);\n if(Registry.traceIs(traceType, 'gl') && moduleCalcDataVisible.length) hasRegl = true;\n }\n\n if(hasRegl) {\n clearGlCanvases(gd);\n redrawReglTraces(gd);\n }\n }\n\n dragOpts.prepFn = function() {\n moveFn2 = null;\n angle1 = null;\n rprime = null;\n\n dragOpts.moveFn = moveFn;\n dragOpts.doneFn = doneFn;\n\n clearSelect(gd);\n };\n\n dragOpts.clampFn = function(dx, dy) {\n if(Math.sqrt(dx * dx + dy * dy) < constants.MINDRAG) {\n dx = 0;\n dy = 0;\n }\n return [dx, dy];\n };\n\n dragElement.init(dragOpts);\n};\n\nproto.updateAngularDrag = function(fullLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var angularAxis = _this.angularAxis;\n var cx = _this.cx;\n var cy = _this.cy;\n var cxx = _this.cxx;\n var cyy = _this.cyy;\n var dbs = constants.angularDragBoxSize;\n\n var angularDrag = dragBox.makeDragger(layers, 'path', 'angulardrag', 'move');\n var dragOpts = {element: angularDrag, gd: gd};\n\n d3.select(angularDrag)\n .attr('d', _this.pathAnnulus(radius, radius + dbs))\n .attr('transform', strTranslate(cx, cy))\n .call(setCursor, 'move');\n\n function xy2a(x, y) {\n return Math.atan2(cyy + dbs - y, x - cxx - dbs);\n }\n\n // scatter trace, points and textpoints selections\n var scatterTraces = layers.frontplot.select('.scatterlayer').selectAll('.trace');\n var scatterPoints = scatterTraces.selectAll('.point');\n var scatterTextPoints = scatterTraces.selectAll('.textpoint');\n\n // mouse px position at drag start (0), move (1)\n var x0, y0;\n // angular axis angle rotation at drag start (0), move (1)\n var rot0, rot1;\n // induced radial axis rotation (only used on polygon grids)\n var rrot1;\n // angle about circle center at drag start\n var a0;\n\n function moveFn(dx, dy) {\n var fullLayoutNow = _this.gd._fullLayout;\n var polarLayoutNow = fullLayoutNow[_this.id];\n\n var x1 = x0 + dx;\n var y1 = y0 + dy;\n var a1 = xy2a(x1, y1);\n var da = rad2deg(a1 - a0);\n rot1 = rot0 + da;\n\n layers.frontplot.attr('transform',\n strTranslate(_this.xOffset2, _this.yOffset2) + strRotate([-da, cxx, cyy])\n );\n\n if(_this.vangles) {\n rrot1 = _this.radialAxisAngle + da;\n\n var trans = strTranslate(cx, cy) + strRotate(-da);\n var trans2 = strTranslate(cx, cy) + strRotate(-rrot1);\n\n layers.bg.attr('transform', trans);\n layers['radial-grid'].attr('transform', trans);\n layers['radial-axis'].attr('transform', trans2);\n layers['radial-line'].select('line').attr('transform', trans2);\n _this.updateRadialAxisTitle(fullLayoutNow, polarLayoutNow, rrot1);\n } else {\n _this.clipPaths.forTraces.select('path').attr('transform',\n strTranslate(cxx, cyy) + strRotate(da)\n );\n }\n\n // 'un-rotate' marker and text points\n scatterPoints.each(function() {\n var sel = d3.select(this);\n var xy = Drawing.getTranslate(sel);\n sel.attr('transform', strTranslate(xy.x, xy.y) + strRotate([da]));\n });\n scatterTextPoints.each(function() {\n var sel = d3.select(this);\n var tx = sel.select('text');\n var xy = Drawing.getTranslate(sel);\n // N.B rotate -> translate ordering matters\n sel.attr('transform', strRotate([da, tx.attr('x'), tx.attr('y')]) + strTranslate(xy.x, xy.y));\n });\n\n // update rotation -> range -> _m,_b\n angularAxis.rotation = Lib.modHalf(rot1, 360);\n _this.updateAngularAxis(fullLayoutNow, polarLayoutNow);\n\n if(_this._hasClipOnAxisFalse && !Lib.isFullCircle(_this.sectorInRad)) {\n scatterTraces.call(Drawing.hideOutsideRangePoints, _this);\n }\n\n var hasRegl = false;\n\n for(var traceType in _this.traceHash) {\n if(Registry.traceIs(traceType, 'gl')) {\n var moduleCalcData = _this.traceHash[traceType];\n var moduleCalcDataVisible = Lib.filterVisible(moduleCalcData);\n var _module = moduleCalcData[0][0].trace._module;\n _module.plot(gd, _this, moduleCalcDataVisible, polarLayoutNow);\n if(moduleCalcDataVisible.length) hasRegl = true;\n }\n }\n\n if(hasRegl) {\n clearGlCanvases(gd);\n redrawReglTraces(gd);\n }\n\n var update = {};\n computeRotationUpdates(update);\n gd.emit('plotly_relayouting', update);\n }\n\n function computeRotationUpdates(updateObj) {\n updateObj[_this.id + '.angularaxis.rotation'] = rot1;\n\n if(_this.vangles) {\n updateObj[_this.id + '.radialaxis.angle'] = rrot1;\n }\n }\n\n function doneFn() {\n scatterTextPoints.select('text').attr('transform', null);\n\n var updateObj = {};\n computeRotationUpdates(updateObj);\n Registry.call('_guiRelayout', gd, updateObj);\n }\n\n dragOpts.prepFn = function(evt, startX, startY) {\n var polarLayoutNow = fullLayout[_this.id];\n rot0 = polarLayoutNow.angularaxis.rotation;\n\n var bbox = angularDrag.getBoundingClientRect();\n x0 = startX - bbox.left;\n y0 = startY - bbox.top;\n a0 = xy2a(x0, y0);\n\n dragOpts.moveFn = moveFn;\n dragOpts.doneFn = doneFn;\n\n clearSelect(gd);\n };\n\n // I don't what we should do in this case, skip we now\n if(_this.vangles && !Lib.isFullCircle(_this.sectorInRad)) {\n dragOpts.prepFn = Lib.noop;\n setCursor(d3.select(angularDrag), null);\n }\n\n dragElement.init(dragOpts);\n};\n\nproto.isPtInside = function(d) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var thetag = this.angularAxis.c2g(d.theta);\n var radialAxis = this.radialAxis;\n var r = radialAxis.c2l(d.r);\n var rl = radialAxis._rl;\n\n var fn = vangles ? helpers.isPtInsidePolygon : Lib.isPtInsideSector;\n return fn(r, thetag, rl, sectorInRad, vangles);\n};\n\nproto.pathArc = function(r) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var fn = vangles ? helpers.pathPolygon : Lib.pathArc;\n return fn(r, sectorInRad[0], sectorInRad[1], vangles);\n};\n\nproto.pathSector = function(r) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var fn = vangles ? helpers.pathPolygon : Lib.pathSector;\n return fn(r, sectorInRad[0], sectorInRad[1], vangles);\n};\n\nproto.pathAnnulus = function(r0, r1) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var fn = vangles ? helpers.pathPolygonAnnulus : Lib.pathAnnulus;\n return fn(r0, r1, sectorInRad[0], sectorInRad[1], vangles);\n};\n\nproto.pathSubplot = function() {\n var r0 = this.innerRadius;\n var r1 = this.radius;\n return r0 ? this.pathAnnulus(r0, r1) : this.pathSector(r1);\n};\n\nproto.fillViewInitialKey = function(key, val) {\n if(!(key in this.viewInitial)) {\n this.viewInitial[key] = val;\n }\n};\n\nfunction strTickLayout(axLayout) {\n var out = axLayout.ticks + String(axLayout.ticklen) + String(axLayout.showticklabels);\n if('side' in axLayout) out += axLayout.side;\n return out;\n}\n\n// Finds the bounding box of a given circle sector,\n// inspired by https://math.stackexchange.com/q/1852703\n//\n// assumes:\n// - sector[0] < sector[1]\n// - counterclockwise rotation\nfunction computeSectorBBox(sector) {\n var s0 = sector[0];\n var s1 = sector[1];\n var arc = s1 - s0;\n var a0 = mod(s0, 360);\n var a1 = a0 + arc;\n\n var ax0 = Math.cos(deg2rad(a0));\n var ay0 = Math.sin(deg2rad(a0));\n var ax1 = Math.cos(deg2rad(a1));\n var ay1 = Math.sin(deg2rad(a1));\n\n var x0, y0, x1, y1;\n\n if((a0 <= 90 && a1 >= 90) || (a0 > 90 && a1 >= 450)) {\n y1 = 1;\n } else if(ay0 <= 0 && ay1 <= 0) {\n y1 = 0;\n } else {\n y1 = Math.max(ay0, ay1);\n }\n\n if((a0 <= 180 && a1 >= 180) || (a0 > 180 && a1 >= 540)) {\n x0 = -1;\n } else if(ax0 >= 0 && ax1 >= 0) {\n x0 = 0;\n } else {\n x0 = Math.min(ax0, ax1);\n }\n\n if((a0 <= 270 && a1 >= 270) || (a0 > 270 && a1 >= 630)) {\n y0 = -1;\n } else if(ay0 >= 0 && ay1 >= 0) {\n y0 = 0;\n } else {\n y0 = Math.min(ay0, ay1);\n }\n\n if(a1 >= 360) {\n x1 = 1;\n } else if(ax0 <= 0 && ax1 <= 0) {\n x1 = 0;\n } else {\n x1 = Math.max(ax0, ax1);\n }\n\n return [x0, y0, x1, y1];\n}\n\nfunction snapToVertexAngle(a, vangles) {\n var fn = function(v) { return Lib.angleDist(a, v); };\n var ind = Lib.findIndexOfMin(vangles, fn);\n return vangles[ind];\n}\n\nfunction updateElement(sel, showAttr, attrs) {\n if(showAttr) {\n sel.attr('display', null);\n sel.attr(attrs);\n } else if(sel) {\n sel.attr('display', 'none');\n }\n return sel;\n}\n\nfunction strTranslate(x, y) {\n return 'translate(' + x + ',' + y + ')';\n}\n\nfunction strRotate(angle) {\n return 'rotate(' + angle + ')';\n}\n\n\n/***/ }),\n\n/***/ \"59e0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nexports.formatPiePercent = function formatPiePercent(v, separators) {\n var vRounded = (v * 100).toPrecision(3);\n if(vRounded.lastIndexOf('.') !== -1) {\n vRounded = vRounded.replace(/[.]?0+$/, '');\n }\n return Lib.numSeparate(vRounded, separators) + '%';\n};\n\nexports.formatPieValue = function formatPieValue(v, separators) {\n var vRounded = v.toPrecision(10);\n if(vRounded.lastIndexOf('.') !== -1) {\n vRounded = vRounded.replace(/[.]?0+$/, '');\n }\n return Lib.numSeparate(vRounded, separators);\n};\n\nexports.getFirstFilled = function getFirstFilled(array, indices) {\n if(!Array.isArray(array)) return;\n for(var i = 0; i < indices.length; i++) {\n var v = array[indices[i]];\n if(v || v === 0 || v === '') return v;\n }\n};\n\nexports.castOption = function castOption(item, indices) {\n if(Array.isArray(item)) return exports.getFirstFilled(item, indices);\n else if(item) return item;\n};\n\n\n/***/ }),\n\n/***/ \"5a1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * Push array with unique items\n *\n * Ignores falsy items, except 0 so we can use it to construct arrays of indices.\n *\n * @param {array} array\n * array to be filled\n * @param {any} item\n * item to be or not to be inserted\n * @return {array}\n * ref to array (now possibly containing one more item)\n *\n */\nmodule.exports = function pushUnique(array, item) {\n if(item instanceof RegExp) {\n var itemStr = item.toString();\n for(var i = 0; i < array.length; i++) {\n if(array[i] instanceof RegExp && array[i].toString() === itemStr) {\n return array;\n }\n }\n array.push(item);\n } else if((item || item === 0) && array.indexOf(item) === -1) array.push(item);\n\n return array;\n};\n\n\n/***/ }),\n\n/***/ \"5a1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Color = __webpack_require__(\"d115\");\n\nvar ARROWPATHS = __webpack_require__(\"a935\");\n\n/**\n * Add arrowhead(s) to a path or line element\n *\n * @param {d3.selection} el3: a d3-selected line or path element\n *\n * @param {string} ends: 'none', 'start', 'end', or 'start+end' for which ends get arrowheads\n *\n * @param {object} options: style information. Must have all the following:\n * @param {number} options.arrowhead: end head style - see ./arrow_paths\n * @param {number} options.startarrowhead: start head style - see ./arrow_paths\n * @param {number} options.arrowsize: relative size of the end head vs line width\n * @param {number} options.startarrowsize: relative size of the start head vs line width\n * @param {number} options.standoff: distance in px to move the end arrow point from its target\n * @param {number} options.startstandoff: distance in px to move the start arrow point from its target\n * @param {number} options.arrowwidth: width of the arrow line\n * @param {string} options.arrowcolor: color of the arrow line, for the head to match\n * Note that the opacity of this color is ignored, as it's assumed the container\n * of both the line and head has opacity applied to it so there isn't greater opacity\n * where they overlap.\n */\nmodule.exports = function drawArrowHead(el3, ends, options) {\n var el = el3.node();\n var headStyle = ARROWPATHS[options.arrowhead || 0];\n var startHeadStyle = ARROWPATHS[options.startarrowhead || 0];\n var scale = (options.arrowwidth || 1) * (options.arrowsize || 1);\n var startScale = (options.arrowwidth || 1) * (options.startarrowsize || 1);\n var doStart = ends.indexOf('start') >= 0;\n var doEnd = ends.indexOf('end') >= 0;\n var backOff = headStyle.backoff * scale + options.standoff;\n var startBackOff = startHeadStyle.backoff * startScale + options.startstandoff;\n\n var start, end, startRot, endRot;\n\n if(el.nodeName === 'line') {\n start = {x: +el3.attr('x1'), y: +el3.attr('y1')};\n end = {x: +el3.attr('x2'), y: +el3.attr('y2')};\n\n var dx = start.x - end.x;\n var dy = start.y - end.y;\n\n startRot = Math.atan2(dy, dx);\n endRot = startRot + Math.PI;\n if(backOff && startBackOff) {\n if(backOff + startBackOff > Math.sqrt(dx * dx + dy * dy)) {\n hideLine();\n return;\n }\n }\n\n if(backOff) {\n if(backOff * backOff > dx * dx + dy * dy) {\n hideLine();\n return;\n }\n var backOffX = backOff * Math.cos(startRot);\n var backOffY = backOff * Math.sin(startRot);\n\n end.x += backOffX;\n end.y += backOffY;\n el3.attr({x2: end.x, y2: end.y});\n }\n\n if(startBackOff) {\n if(startBackOff * startBackOff > dx * dx + dy * dy) {\n hideLine();\n return;\n }\n var startBackOffX = startBackOff * Math.cos(startRot);\n var startbackOffY = startBackOff * Math.sin(startRot);\n\n start.x -= startBackOffX;\n start.y -= startbackOffY;\n el3.attr({x1: start.x, y1: start.y});\n }\n } else if(el.nodeName === 'path') {\n var pathlen = el.getTotalLength();\n // using dash to hide the backOff region of the path.\n // if we ever allow dash for the arrow we'll have to\n // do better than this hack... maybe just manually\n // combine the two\n var dashArray = '';\n\n if(pathlen < backOff + startBackOff) {\n hideLine();\n return;\n }\n\n\n var start0 = el.getPointAtLength(0);\n var dstart = el.getPointAtLength(0.1);\n\n startRot = Math.atan2(start0.y - dstart.y, start0.x - dstart.x);\n start = el.getPointAtLength(Math.min(startBackOff, pathlen));\n\n dashArray = '0px,' + startBackOff + 'px,';\n\n var end0 = el.getPointAtLength(pathlen);\n var dend = el.getPointAtLength(pathlen - 0.1);\n\n endRot = Math.atan2(end0.y - dend.y, end0.x - dend.x);\n end = el.getPointAtLength(Math.max(0, pathlen - backOff));\n\n var shortening = dashArray ? startBackOff + backOff : backOff;\n dashArray += (pathlen - shortening) + 'px,' + pathlen + 'px';\n\n el3.style('stroke-dasharray', dashArray);\n }\n\n function hideLine() { el3.style('stroke-dasharray', '0px,100px'); }\n\n function drawhead(arrowHeadStyle, p, rot, arrowScale) {\n if(!arrowHeadStyle.path) return;\n if(arrowHeadStyle.noRotate) rot = 0;\n\n d3.select(el.parentNode).append('path')\n .attr({\n 'class': el3.attr('class'),\n d: arrowHeadStyle.path,\n transform:\n 'translate(' + p.x + ',' + p.y + ')' +\n (rot ? 'rotate(' + (rot * 180 / Math.PI) + ')' : '') +\n 'scale(' + arrowScale + ')'\n })\n .style({\n fill: Color.rgb(options.arrowcolor),\n 'stroke-width': 0\n });\n }\n\n if(doStart) drawhead(startHeadStyle, start, startRot, startScale);\n if(doEnd) drawhead(headStyle, end, endRot, scale);\n};\n\n\n/***/ }),\n\n/***/ \"5aa9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bn2num = __webpack_require__(\"0948\")\nvar ctz = __webpack_require__(\"7223\")\n\nmodule.exports = roundRat\n\n// Round a rational to the closest float\nfunction roundRat (f) {\n var a = f[0]\n var b = f[1]\n if (a.cmpn(0) === 0) {\n return 0\n }\n var h = a.abs().divmod(b.abs())\n var iv = h.div\n var x = bn2num(iv)\n var ir = h.mod\n var sgn = (a.negative !== b.negative) ? -1 : 1\n if (ir.cmpn(0) === 0) {\n return sgn * x\n }\n if (x) {\n var s = ctz(x) + 4\n var y = bn2num(ir.ushln(s).divRound(b))\n return sgn * (x + y * Math.pow(2, -s))\n } else {\n var ybits = b.bitLength() - ir.bitLength() + 53\n var y = bn2num(ir.ushln(ybits).divRound(b))\n if (ybits < 1023) {\n return sgn * y * Math.pow(2, -ybits)\n }\n y *= Math.pow(2, -1023)\n return sgn * y * Math.pow(2, 1023 - ybits)\n }\n}\n\n\n/***/ }),\n\n/***/ \"5aae\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar texttemplateAttrs = __webpack_require__(\"94d5\").texttemplateAttrs;\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterLineAttrs = scatterAttrs.line;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nmodule.exports = {\n carpet: {\n valType: 'string',\n \n editType: 'calc',\n \n },\n a: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n b: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n mode: extendFlat({}, scatterAttrs.mode, {dflt: 'markers'}),\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n texttemplate: texttemplateAttrs({editType: 'plot'}, {\n keys: ['a', 'b', 'text']\n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n line: {\n color: scatterLineAttrs.color,\n width: scatterLineAttrs.width,\n dash: scatterLineAttrs.dash,\n shape: extendFlat({}, scatterLineAttrs.shape,\n {values: ['linear', 'spline']}),\n smoothing: scatterLineAttrs.smoothing,\n editType: 'calc'\n },\n connectgaps: scatterAttrs.connectgaps,\n fill: extendFlat({}, scatterAttrs.fill, {\n values: ['none', 'toself', 'tonext'],\n dflt: 'none',\n \n }),\n fillcolor: scatterAttrs.fillcolor,\n marker: extendFlat({\n symbol: scatterMarkerAttrs.symbol,\n opacity: scatterMarkerAttrs.opacity,\n maxdisplayed: scatterMarkerAttrs.maxdisplayed,\n size: scatterMarkerAttrs.size,\n sizeref: scatterMarkerAttrs.sizeref,\n sizemin: scatterMarkerAttrs.sizemin,\n sizemode: scatterMarkerAttrs.sizemode,\n line: extendFlat({\n width: scatterMarkerLineAttrs.width,\n editType: 'calc'\n },\n colorScaleAttrs('marker.line')\n ),\n gradient: scatterMarkerAttrs.gradient,\n editType: 'calc'\n },\n colorScaleAttrs('marker')\n ),\n\n textfont: scatterAttrs.textfont,\n textposition: scatterAttrs.textposition,\n\n selected: scatterAttrs.selected,\n unselected: scatterAttrs.unselected,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['a', 'b', 'text', 'name']\n }),\n hoveron: scatterAttrs.hoveron,\n hovertemplate: hovertemplateAttrs()\n};\n\n\n/***/ }),\n\n/***/ \"5ad1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// var Lib = require('../../lib');\n\nfunction calc(gd, trace) {\n var cd = [];\n\n var lastReading = trace.value;\n if(!(typeof trace._lastValue === 'number')) trace._lastValue = trace.value;\n var secondLastReading = trace._lastValue;\n var deltaRef = secondLastReading;\n if(trace._hasDelta && typeof trace.delta.reference === 'number') {\n deltaRef = trace.delta.reference;\n }\n cd[0] = {\n y: lastReading,\n lastY: secondLastReading,\n\n delta: lastReading - deltaRef,\n relativeDelta: (lastReading - deltaRef) / deltaRef,\n };\n return cd;\n}\n\nmodule.exports = {\n calc: calc\n};\n\n\n/***/ }),\n\n/***/ \"5ad3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"f6a2\")\n\r\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIkY6L3NvdXJjZS92dWUtcGxvdGx5LmpzL25vZGVfbW9kdWxlcy9wb2ludC1jbHVzdGVyL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vcXVhZCcpXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaO0FBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDOyJ9\n\n/***/ }),\n\n/***/ \"5b68\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n mode: {\n valType: 'enumerated',\n dflt: 'afterall',\n \n values: ['immediate', 'next', 'afterall'],\n \n },\n direction: {\n valType: 'enumerated',\n \n values: ['forward', 'reverse'],\n dflt: 'forward',\n \n },\n fromcurrent: {\n valType: 'boolean',\n dflt: false,\n \n \n },\n frame: {\n duration: {\n valType: 'number',\n \n min: 0,\n dflt: 500,\n \n },\n redraw: {\n valType: 'boolean',\n \n dflt: true,\n \n },\n },\n transition: {\n duration: {\n valType: 'number',\n \n min: 0,\n dflt: 500,\n editType: 'none',\n \n },\n easing: {\n valType: 'enumerated',\n dflt: 'cubic-in-out',\n values: [\n 'linear',\n 'quad',\n 'cubic',\n 'sin',\n 'exp',\n 'circle',\n 'elastic',\n 'back',\n 'bounce',\n 'linear-in',\n 'quad-in',\n 'cubic-in',\n 'sin-in',\n 'exp-in',\n 'circle-in',\n 'elastic-in',\n 'back-in',\n 'bounce-in',\n 'linear-out',\n 'quad-out',\n 'cubic-out',\n 'sin-out',\n 'exp-out',\n 'circle-out',\n 'elastic-out',\n 'back-out',\n 'bounce-out',\n 'linear-in-out',\n 'quad-in-out',\n 'cubic-in-out',\n 'sin-in-out',\n 'exp-in-out',\n 'circle-in-out',\n 'elastic-in-out',\n 'back-in-out',\n 'bounce-in-out'\n ],\n \n editType: 'none',\n \n },\n ordering: {\n valType: 'enumerated',\n values: ['layout first', 'traces first'],\n dflt: 'layout first',\n \n editType: 'none',\n \n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"5bec\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt /* , trace, cd, pointNumber */) {\n // standard cartesian event data\n out.x = 'xVal' in pt ? pt.xVal : pt.x;\n out.y = 'yVal' in pt ? pt.yVal : pt.y;\n\n // for funnel\n if('initial' in pt) out.initial = pt.initial;\n if('delta' in pt) out.delta = pt.delta;\n if('final' in pt) out.final = pt.final;\n\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"5c33\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar annAttrs = __webpack_require__(\"bb4a\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar fontAttrs = __webpack_require__(\"9845\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\n\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar attrs = module.exports = overrideAll({\n domain: domainAttrs({name: 'table', trace: true}),\n\n columnwidth: {\n valType: 'number',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n columnorder: {\n valType: 'data_array',\n \n \n },\n\n header: {\n\n values: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n format: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n prefix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n suffix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n height: {\n valType: 'number',\n dflt: 28,\n \n \n },\n\n align: extendFlat({}, annAttrs.align, {arrayOk: true}),\n\n line: {\n width: {\n valType: 'number',\n arrayOk: true,\n dflt: 1,\n \n },\n color: {\n valType: 'color',\n arrayOk: true,\n dflt: 'grey',\n \n }\n },\n\n fill: {\n color: {\n valType: 'color',\n arrayOk: true,\n dflt: 'white',\n \n \n }\n },\n\n font: extendFlat({}, fontAttrs({arrayOk: true}))\n },\n\n cells: {\n\n values: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n format: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n prefix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n suffix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n height: {\n valType: 'number',\n dflt: 20,\n \n \n },\n\n align: extendFlat({}, annAttrs.align, {arrayOk: true}),\n\n line: {\n width: {\n valType: 'number',\n arrayOk: true,\n dflt: 1,\n \n },\n color: {\n valType: 'color',\n arrayOk: true,\n dflt: 'grey',\n \n }\n },\n\n fill: {\n color: {\n valType: 'color',\n arrayOk: true,\n \n dflt: 'white',\n \n }\n },\n\n font: extendFlat({}, fontAttrs({arrayOk: true}))\n }\n}, 'calc', 'from-root');\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"5c6c\":\n/***/ (function(module, exports) {\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/***/ \"5c79\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar _ = Lib._;\nvar Color = __webpack_require__(\"d115\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar setConvert = __webpack_require__(\"1a40\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar Plots = __webpack_require__(\"bb71\");\nvar Axes = __webpack_require__(\"0642\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar Fx = __webpack_require__(\"a5c4\");\nvar Titles = __webpack_require__(\"1999\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar selectOnClick = __webpack_require__(\"1876\").selectOnClick;\nvar clearSelect = __webpack_require__(\"1876\").clearSelect;\nvar constants = __webpack_require__(\"d301\");\n\nfunction Ternary(options, fullLayout) {\n this.id = options.id;\n this.graphDiv = options.graphDiv;\n this.init(fullLayout);\n this.makeFramework(fullLayout);\n\n // unfortunately, we have to keep track of some axis tick settings\n // as ternary subplots do not implement the 'ticks' editType\n this.aTickLayout = null;\n this.bTickLayout = null;\n this.cTickLayout = null;\n}\n\nmodule.exports = Ternary;\n\nvar proto = Ternary.prototype;\n\nproto.init = function(fullLayout) {\n this.container = fullLayout._ternarylayer;\n this.defs = fullLayout._defs;\n this.layoutId = fullLayout._uid;\n this.traceHash = {};\n this.layers = {};\n};\n\nproto.plot = function(ternaryCalcData, fullLayout) {\n var _this = this;\n var ternaryLayout = fullLayout[_this.id];\n var graphSize = fullLayout._size;\n\n _this._hasClipOnAxisFalse = false;\n for(var i = 0; i < ternaryCalcData.length; i++) {\n var trace = ternaryCalcData[i][0].trace;\n\n if(trace.cliponaxis === false) {\n _this._hasClipOnAxisFalse = true;\n break;\n }\n }\n\n _this.updateLayers(ternaryLayout);\n _this.adjustLayout(ternaryLayout, graphSize);\n Plots.generalUpdatePerTraceModule(_this.graphDiv, _this, ternaryCalcData, ternaryLayout);\n _this.layers.plotbg.select('path').call(Color.fill, ternaryLayout.bgcolor);\n};\n\nproto.makeFramework = function(fullLayout) {\n var _this = this;\n var gd = _this.graphDiv;\n var ternaryLayout = fullLayout[_this.id];\n\n var clipId = _this.clipId = 'clip' + _this.layoutId + _this.id;\n var clipIdRelative = _this.clipIdRelative = 'clip-relative' + _this.layoutId + _this.id;\n\n // clippath for this ternary subplot\n _this.clipDef = Lib.ensureSingleById(fullLayout._clips, 'clipPath', clipId, function(s) {\n s.append('path').attr('d', 'M0,0Z');\n });\n\n // 'relative' clippath (i.e. no translation) for this ternary subplot\n _this.clipDefRelative = Lib.ensureSingleById(fullLayout._clips, 'clipPath', clipIdRelative, function(s) {\n s.append('path').attr('d', 'M0,0Z');\n });\n\n // container for everything in this ternary subplot\n _this.plotContainer = Lib.ensureSingle(_this.container, 'g', _this.id);\n _this.updateLayers(ternaryLayout);\n\n Drawing.setClipUrl(_this.layers.backplot, clipId, gd);\n Drawing.setClipUrl(_this.layers.grids, clipId, gd);\n};\n\nproto.updateLayers = function(ternaryLayout) {\n var _this = this;\n var layers = _this.layers;\n\n // inside that container, we have one container for the data, and\n // one each for the three axes around it.\n\n var plotLayers = ['draglayer', 'plotbg', 'backplot', 'grids'];\n\n if(ternaryLayout.aaxis.layer === 'below traces') {\n plotLayers.push('aaxis', 'aline');\n }\n if(ternaryLayout.baxis.layer === 'below traces') {\n plotLayers.push('baxis', 'bline');\n }\n if(ternaryLayout.caxis.layer === 'below traces') {\n plotLayers.push('caxis', 'cline');\n }\n\n plotLayers.push('frontplot');\n\n if(ternaryLayout.aaxis.layer === 'above traces') {\n plotLayers.push('aaxis', 'aline');\n }\n if(ternaryLayout.baxis.layer === 'above traces') {\n plotLayers.push('baxis', 'bline');\n }\n if(ternaryLayout.caxis.layer === 'above traces') {\n plotLayers.push('caxis', 'cline');\n }\n\n var toplevel = _this.plotContainer.selectAll('g.toplevel')\n .data(plotLayers, String);\n\n var grids = ['agrid', 'bgrid', 'cgrid'];\n\n toplevel.enter().append('g')\n .attr('class', function(d) { return 'toplevel ' + d; })\n .each(function(d) {\n var s = d3.select(this);\n layers[d] = s;\n\n // containers for different trace types.\n // NOTE - this is different from cartesian, where all traces\n // are in front of grids. Here I'm putting maps behind the grids\n // so the grids will always be visible if they're requested.\n // Perhaps we want that for cartesian too?\n if(d === 'frontplot') {\n s.append('g').classed('scatterlayer', true);\n } else if(d === 'backplot') {\n s.append('g').classed('maplayer', true);\n } else if(d === 'plotbg') {\n s.append('path').attr('d', 'M0,0Z');\n } else if(d === 'aline' || d === 'bline' || d === 'cline') {\n s.append('path');\n } else if(d === 'grids') {\n grids.forEach(function(d) {\n layers[d] = s.append('g').classed('grid ' + d, true);\n });\n }\n });\n\n toplevel.order();\n};\n\nvar whRatio = Math.sqrt(4 / 3);\n\nproto.adjustLayout = function(ternaryLayout, graphSize) {\n var _this = this;\n var domain = ternaryLayout.domain;\n var xDomainCenter = (domain.x[0] + domain.x[1]) / 2;\n var yDomainCenter = (domain.y[0] + domain.y[1]) / 2;\n var xDomain = domain.x[1] - domain.x[0];\n var yDomain = domain.y[1] - domain.y[0];\n var wmax = xDomain * graphSize.w;\n var hmax = yDomain * graphSize.h;\n var sum = ternaryLayout.sum;\n var amin = ternaryLayout.aaxis.min;\n var bmin = ternaryLayout.baxis.min;\n var cmin = ternaryLayout.caxis.min;\n\n var x0, y0, w, h, xDomainFinal, yDomainFinal;\n\n if(wmax > whRatio * hmax) {\n h = hmax;\n w = h * whRatio;\n } else {\n w = wmax;\n h = w / whRatio;\n }\n\n xDomainFinal = xDomain * w / wmax;\n yDomainFinal = yDomain * h / hmax;\n\n x0 = graphSize.l + graphSize.w * xDomainCenter - w / 2;\n y0 = graphSize.t + graphSize.h * (1 - yDomainCenter) - h / 2;\n\n _this.x0 = x0;\n _this.y0 = y0;\n _this.w = w;\n _this.h = h;\n _this.sum = sum;\n\n // set up the x and y axis objects we'll use to lay out the points\n _this.xaxis = {\n type: 'linear',\n range: [amin + 2 * cmin - sum, sum - amin - 2 * bmin],\n domain: [\n xDomainCenter - xDomainFinal / 2,\n xDomainCenter + xDomainFinal / 2\n ],\n _id: 'x'\n };\n setConvert(_this.xaxis, _this.graphDiv._fullLayout);\n _this.xaxis.setScale();\n _this.xaxis.isPtWithinRange = function(d) {\n return (\n d.a >= _this.aaxis.range[0] &&\n d.a <= _this.aaxis.range[1] &&\n d.b >= _this.baxis.range[1] &&\n d.b <= _this.baxis.range[0] &&\n d.c >= _this.caxis.range[1] &&\n d.c <= _this.caxis.range[0]\n );\n };\n\n _this.yaxis = {\n type: 'linear',\n range: [amin, sum - bmin - cmin],\n domain: [\n yDomainCenter - yDomainFinal / 2,\n yDomainCenter + yDomainFinal / 2\n ],\n _id: 'y'\n };\n setConvert(_this.yaxis, _this.graphDiv._fullLayout);\n _this.yaxis.setScale();\n _this.yaxis.isPtWithinRange = function() { return true; };\n\n // set up the modified axes for tick drawing\n var yDomain0 = _this.yaxis.domain[0];\n\n // aaxis goes up the left side. Set it up as a y axis, but with\n // fictitious angles and domain, but then rotate and translate\n // it into place at the end\n var aaxis = _this.aaxis = extendFlat({}, ternaryLayout.aaxis, {\n range: [amin, sum - bmin - cmin],\n side: 'left',\n // tickangle = 'auto' means 0 anyway for a y axis, need to coerce to 0 here\n // so we can shift by 30.\n tickangle: (+ternaryLayout.aaxis.tickangle || 0) - 30,\n domain: [yDomain0, yDomain0 + yDomainFinal * whRatio],\n anchor: 'free',\n position: 0,\n _id: 'y',\n _length: w\n });\n setConvert(aaxis, _this.graphDiv._fullLayout);\n aaxis.setScale();\n\n // baxis goes across the bottom (backward). We can set it up as an x axis\n // without any enclosing transformation.\n var baxis = _this.baxis = extendFlat({}, ternaryLayout.baxis, {\n range: [sum - amin - cmin, bmin],\n side: 'bottom',\n domain: _this.xaxis.domain,\n anchor: 'free',\n position: 0,\n _id: 'x',\n _length: w\n });\n setConvert(baxis, _this.graphDiv._fullLayout);\n baxis.setScale();\n\n // caxis goes down the right side. Set it up as a y axis, with\n // post-transformation similar to aaxis\n var caxis = _this.caxis = extendFlat({}, ternaryLayout.caxis, {\n range: [sum - amin - bmin, cmin],\n side: 'right',\n tickangle: (+ternaryLayout.caxis.tickangle || 0) + 30,\n domain: [yDomain0, yDomain0 + yDomainFinal * whRatio],\n anchor: 'free',\n position: 0,\n _id: 'y',\n _length: w\n });\n setConvert(caxis, _this.graphDiv._fullLayout);\n caxis.setScale();\n\n var triangleClip = 'M' + x0 + ',' + (y0 + h) + 'h' + w + 'l-' + (w / 2) + ',-' + h + 'Z';\n _this.clipDef.select('path').attr('d', triangleClip);\n _this.layers.plotbg.select('path').attr('d', triangleClip);\n\n var triangleClipRelative = 'M0,' + h + 'h' + w + 'l-' + (w / 2) + ',-' + h + 'Z';\n _this.clipDefRelative.select('path').attr('d', triangleClipRelative);\n\n var plotTransform = 'translate(' + x0 + ',' + y0 + ')';\n _this.plotContainer.selectAll('.scatterlayer,.maplayer')\n .attr('transform', plotTransform);\n\n _this.clipDefRelative.select('path').attr('transform', null);\n\n // TODO: shift axes to accommodate linewidth*sin(30) tick mark angle\n\n // TODO: there's probably an easier way to handle these translations/offsets now...\n var bTransform = 'translate(' + (x0 - baxis._offset) + ',' + (y0 + h) + ')';\n\n _this.layers.baxis.attr('transform', bTransform);\n _this.layers.bgrid.attr('transform', bTransform);\n\n var aTransform = 'translate(' + (x0 + w / 2) + ',' + y0 +\n ')rotate(30)translate(0,' + -aaxis._offset + ')';\n _this.layers.aaxis.attr('transform', aTransform);\n _this.layers.agrid.attr('transform', aTransform);\n\n var cTransform = 'translate(' + (x0 + w / 2) + ',' + y0 +\n ')rotate(-30)translate(0,' + -caxis._offset + ')';\n _this.layers.caxis.attr('transform', cTransform);\n _this.layers.cgrid.attr('transform', cTransform);\n\n _this.drawAxes(true);\n\n _this.layers.aline.select('path')\n .attr('d', aaxis.showline ?\n 'M' + x0 + ',' + (y0 + h) + 'l' + (w / 2) + ',-' + h : 'M0,0')\n .call(Color.stroke, aaxis.linecolor || '#000')\n .style('stroke-width', (aaxis.linewidth || 0) + 'px');\n _this.layers.bline.select('path')\n .attr('d', baxis.showline ?\n 'M' + x0 + ',' + (y0 + h) + 'h' + w : 'M0,0')\n .call(Color.stroke, baxis.linecolor || '#000')\n .style('stroke-width', (baxis.linewidth || 0) + 'px');\n _this.layers.cline.select('path')\n .attr('d', caxis.showline ?\n 'M' + (x0 + w / 2) + ',' + y0 + 'l' + (w / 2) + ',' + h : 'M0,0')\n .call(Color.stroke, caxis.linecolor || '#000')\n .style('stroke-width', (caxis.linewidth || 0) + 'px');\n\n if(!_this.graphDiv._context.staticPlot) {\n _this.initInteractions();\n }\n\n Drawing.setClipUrl(\n _this.layers.frontplot,\n _this._hasClipOnAxisFalse ? null : _this.clipId,\n _this.graphDiv\n );\n};\n\nproto.drawAxes = function(doTitles) {\n var _this = this;\n var gd = _this.graphDiv;\n var titlesuffix = _this.id.substr(7) + 'title';\n var layers = _this.layers;\n var aaxis = _this.aaxis;\n var baxis = _this.baxis;\n var caxis = _this.caxis;\n\n _this.drawAx(aaxis);\n _this.drawAx(baxis);\n _this.drawAx(caxis);\n\n if(doTitles) {\n var apad = Math.max(aaxis.showticklabels ? aaxis.tickfont.size / 2 : 0,\n (caxis.showticklabels ? caxis.tickfont.size * 0.75 : 0) +\n (caxis.ticks === 'outside' ? caxis.ticklen * 0.87 : 0));\n var bpad = (baxis.showticklabels ? baxis.tickfont.size : 0) +\n (baxis.ticks === 'outside' ? baxis.ticklen : 0) + 3;\n\n layers['a-title'] = Titles.draw(gd, 'a' + titlesuffix, {\n propContainer: aaxis,\n propName: _this.id + '.aaxis.title',\n placeholder: _(gd, 'Click to enter Component A title'),\n attributes: {\n x: _this.x0 + _this.w / 2,\n y: _this.y0 - aaxis.title.font.size / 3 - apad,\n 'text-anchor': 'middle'\n }\n });\n layers['b-title'] = Titles.draw(gd, 'b' + titlesuffix, {\n propContainer: baxis,\n propName: _this.id + '.baxis.title',\n placeholder: _(gd, 'Click to enter Component B title'),\n attributes: {\n x: _this.x0 - bpad,\n y: _this.y0 + _this.h + baxis.title.font.size * 0.83 + bpad,\n 'text-anchor': 'middle'\n }\n });\n layers['c-title'] = Titles.draw(gd, 'c' + titlesuffix, {\n propContainer: caxis,\n propName: _this.id + '.caxis.title',\n placeholder: _(gd, 'Click to enter Component C title'),\n attributes: {\n x: _this.x0 + _this.w + bpad,\n y: _this.y0 + _this.h + caxis.title.font.size * 0.83 + bpad,\n 'text-anchor': 'middle'\n }\n });\n }\n};\n\nproto.drawAx = function(ax) {\n var _this = this;\n var gd = _this.graphDiv;\n var axName = ax._name;\n var axLetter = axName.charAt(0);\n var axId = ax._id;\n var axLayer = _this.layers[axName];\n var counterAngle = 30;\n\n var stashKey = axLetter + 'tickLayout';\n var newTickLayout = strTickLayout(ax);\n if(_this[stashKey] !== newTickLayout) {\n axLayer.selectAll('.' + axId + 'tick').remove();\n _this[stashKey] = newTickLayout;\n }\n\n ax.setScale();\n\n var vals = Axes.calcTicks(ax);\n var valsClipped = Axes.clipEnds(ax, vals);\n var transFn = Axes.makeTransFn(ax);\n var tickSign = Axes.getTickSigns(ax)[2];\n\n var caRad = Lib.deg2rad(counterAngle);\n var pad = tickSign * (ax.linewidth || 1) / 2;\n var len = tickSign * ax.ticklen;\n var w = _this.w;\n var h = _this.h;\n\n var tickPath = axLetter === 'b' ?\n 'M0,' + pad + 'l' + (Math.sin(caRad) * len) + ',' + (Math.cos(caRad) * len) :\n 'M' + pad + ',0l' + (Math.cos(caRad) * len) + ',' + (-Math.sin(caRad) * len);\n\n var gridPath = {\n a: 'M0,0l' + h + ',-' + (w / 2),\n b: 'M0,0l-' + (w / 2) + ',-' + h,\n c: 'M0,0l-' + h + ',' + (w / 2)\n }[axLetter];\n\n Axes.drawTicks(gd, ax, {\n vals: ax.ticks === 'inside' ? valsClipped : vals,\n layer: axLayer,\n path: tickPath,\n transFn: transFn,\n crisp: false\n });\n\n Axes.drawGrid(gd, ax, {\n vals: valsClipped,\n layer: _this.layers[axLetter + 'grid'],\n path: gridPath,\n transFn: transFn,\n crisp: false\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: axLayer,\n transFn: transFn,\n labelFns: Axes.makeLabelFns(ax, 0, counterAngle)\n });\n};\n\nfunction strTickLayout(axLayout) {\n return axLayout.ticks + String(axLayout.ticklen) + String(axLayout.showticklabels);\n}\n\n// hard coded paths for zoom corners\n// uses the same sizing as cartesian, length is MINZOOM/2, width is 3px\nvar CLEN = constants.MINZOOM / 2 + 0.87;\nvar BLPATH = 'm-0.87,.5h' + CLEN + 'v3h-' + (CLEN + 5.2) +\n 'l' + (CLEN / 2 + 2.6) + ',-' + (CLEN * 0.87 + 4.5) +\n 'l2.6,1.5l-' + (CLEN / 2) + ',' + (CLEN * 0.87) + 'Z';\nvar BRPATH = 'm0.87,.5h-' + CLEN + 'v3h' + (CLEN + 5.2) +\n 'l-' + (CLEN / 2 + 2.6) + ',-' + (CLEN * 0.87 + 4.5) +\n 'l-2.6,1.5l' + (CLEN / 2) + ',' + (CLEN * 0.87) + 'Z';\nvar TOPPATH = 'm0,1l' + (CLEN / 2) + ',' + (CLEN * 0.87) +\n 'l2.6,-1.5l-' + (CLEN / 2 + 2.6) + ',-' + (CLEN * 0.87 + 4.5) +\n 'l-' + (CLEN / 2 + 2.6) + ',' + (CLEN * 0.87 + 4.5) +\n 'l2.6,1.5l' + (CLEN / 2) + ',-' + (CLEN * 0.87) + 'Z';\nvar STARTMARKER = 'm0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z';\n\n// I guess this could be shared with cartesian... but for now it's separate.\nvar SHOWZOOMOUTTIP = true;\n\nproto.initInteractions = function() {\n var _this = this;\n var dragger = _this.layers.plotbg.select('path').node();\n var gd = _this.graphDiv;\n var zoomLayer = gd._fullLayout._zoomlayer;\n\n // use plotbg for the main interactions\n var dragOptions = {\n element: dragger,\n gd: gd,\n plotinfo: {\n id: _this.id,\n xaxis: _this.xaxis,\n yaxis: _this.yaxis\n },\n subplot: _this.id,\n prepFn: function(e, startX, startY) {\n // these aren't available yet when initInteractions\n // is called\n dragOptions.xaxes = [_this.xaxis];\n dragOptions.yaxes = [_this.yaxis];\n var dragModeNow = gd._fullLayout.dragmode;\n\n if(dragModeNow === 'lasso') dragOptions.minDrag = 1;\n else dragOptions.minDrag = undefined;\n\n if(dragModeNow === 'zoom') {\n dragOptions.moveFn = zoomMove;\n dragOptions.clickFn = clickZoomPan;\n dragOptions.doneFn = zoomDone;\n zoomPrep(e, startX, startY);\n } else if(dragModeNow === 'pan') {\n dragOptions.moveFn = plotDrag;\n dragOptions.clickFn = clickZoomPan;\n dragOptions.doneFn = dragDone;\n panPrep();\n clearSelect(gd);\n } else if(dragModeNow === 'select' || dragModeNow === 'lasso') {\n prepSelect(e, startX, startY, dragOptions, dragModeNow);\n }\n }\n };\n\n var x0, y0, mins0, span0, mins, lum, path0, dimmed, zb, corners;\n\n function makeUpdate(_mins) {\n var attrs = {};\n attrs[_this.id + '.aaxis.min'] = _mins.a;\n attrs[_this.id + '.baxis.min'] = _mins.b;\n attrs[_this.id + '.caxis.min'] = _mins.c;\n return attrs;\n }\n\n function clickZoomPan(numClicks, evt) {\n var clickMode = gd._fullLayout.clickmode;\n\n removeZoombox(gd);\n\n if(numClicks === 2) {\n gd.emit('plotly_doubleclick', null);\n Registry.call('_guiRelayout', gd, makeUpdate({a: 0, b: 0, c: 0}));\n }\n\n if(clickMode.indexOf('select') > -1 && numClicks === 1) {\n selectOnClick(evt, gd, [_this.xaxis], [_this.yaxis], _this.id, dragOptions);\n }\n\n if(clickMode.indexOf('event') > -1) {\n Fx.click(gd, evt, _this.id);\n }\n }\n\n function zoomPrep(e, startX, startY) {\n var dragBBox = dragger.getBoundingClientRect();\n x0 = startX - dragBBox.left;\n y0 = startY - dragBBox.top;\n mins0 = {\n a: _this.aaxis.range[0],\n b: _this.baxis.range[1],\n c: _this.caxis.range[1]\n };\n mins = mins0;\n span0 = _this.aaxis.range[1] - mins0.a;\n lum = tinycolor(_this.graphDiv._fullLayout[_this.id].bgcolor).getLuminance();\n path0 = 'M0,' + _this.h + 'L' + (_this.w / 2) + ', 0L' + _this.w + ',' + _this.h + 'Z';\n dimmed = false;\n\n zb = zoomLayer.append('path')\n .attr('class', 'zoombox')\n .attr('transform', 'translate(' + _this.x0 + ', ' + _this.y0 + ')')\n .style({\n 'fill': lum > 0.2 ? 'rgba(0,0,0,0)' : 'rgba(255,255,255,0)',\n 'stroke-width': 0\n })\n .attr('d', path0);\n\n corners = zoomLayer.append('path')\n .attr('class', 'zoombox-corners')\n .attr('transform', 'translate(' + _this.x0 + ', ' + _this.y0 + ')')\n .style({\n fill: Color.background,\n stroke: Color.defaultLine,\n 'stroke-width': 1,\n opacity: 0\n })\n .attr('d', 'M0,0Z');\n\n clearSelect(gd);\n }\n\n function getAFrac(x, y) { return 1 - (y / _this.h); }\n function getBFrac(x, y) { return 1 - ((x + (_this.h - y) / Math.sqrt(3)) / _this.w); }\n function getCFrac(x, y) { return ((x - (_this.h - y) / Math.sqrt(3)) / _this.w); }\n\n function zoomMove(dx0, dy0) {\n var x1 = x0 + dx0;\n var y1 = y0 + dy0;\n var afrac = Math.max(0, Math.min(1, getAFrac(x0, y0), getAFrac(x1, y1)));\n var bfrac = Math.max(0, Math.min(1, getBFrac(x0, y0), getBFrac(x1, y1)));\n var cfrac = Math.max(0, Math.min(1, getCFrac(x0, y0), getCFrac(x1, y1)));\n var xLeft = ((afrac / 2) + cfrac) * _this.w;\n var xRight = (1 - (afrac / 2) - bfrac) * _this.w;\n var xCenter = (xLeft + xRight) / 2;\n var xSpan = xRight - xLeft;\n var yBottom = (1 - afrac) * _this.h;\n var yTop = yBottom - xSpan / whRatio;\n\n if(xSpan < constants.MINZOOM) {\n mins = mins0;\n zb.attr('d', path0);\n corners.attr('d', 'M0,0Z');\n } else {\n mins = {\n a: mins0.a + afrac * span0,\n b: mins0.b + bfrac * span0,\n c: mins0.c + cfrac * span0\n };\n zb.attr('d', path0 + 'M' + xLeft + ',' + yBottom +\n 'H' + xRight + 'L' + xCenter + ',' + yTop +\n 'L' + xLeft + ',' + yBottom + 'Z');\n corners.attr('d', 'M' + x0 + ',' + y0 + STARTMARKER +\n 'M' + xLeft + ',' + yBottom + BLPATH +\n 'M' + xRight + ',' + yBottom + BRPATH +\n 'M' + xCenter + ',' + yTop + TOPPATH);\n }\n\n if(!dimmed) {\n zb.transition()\n .style('fill', lum > 0.2 ? 'rgba(0,0,0,0.4)' :\n 'rgba(255,255,255,0.3)')\n .duration(200);\n corners.transition()\n .style('opacity', 1)\n .duration(200);\n dimmed = true;\n }\n\n gd.emit('plotly_relayouting', makeUpdate(mins));\n }\n\n function zoomDone() {\n removeZoombox(gd);\n\n if(mins === mins0) return;\n\n Registry.call('_guiRelayout', gd, makeUpdate(mins));\n\n if(SHOWZOOMOUTTIP && gd.data && gd._context.showTips) {\n Lib.notifier(_(gd, 'Double-click to zoom back out'), 'long');\n SHOWZOOMOUTTIP = false;\n }\n }\n\n function panPrep() {\n mins0 = {\n a: _this.aaxis.range[0],\n b: _this.baxis.range[1],\n c: _this.caxis.range[1]\n };\n mins = mins0;\n }\n\n function plotDrag(dx, dy) {\n var dxScaled = dx / _this.xaxis._m;\n var dyScaled = dy / _this.yaxis._m;\n mins = {\n a: mins0.a - dyScaled,\n b: mins0.b + (dxScaled + dyScaled) / 2,\n c: mins0.c - (dxScaled - dyScaled) / 2\n };\n var minsorted = [mins.a, mins.b, mins.c].sort();\n var minindices = {\n a: minsorted.indexOf(mins.a),\n b: minsorted.indexOf(mins.b),\n c: minsorted.indexOf(mins.c)\n };\n if(minsorted[0] < 0) {\n if(minsorted[1] + minsorted[0] / 2 < 0) {\n minsorted[2] += minsorted[0] + minsorted[1];\n minsorted[0] = minsorted[1] = 0;\n } else {\n minsorted[2] += minsorted[0] / 2;\n minsorted[1] += minsorted[0] / 2;\n minsorted[0] = 0;\n }\n mins = {\n a: minsorted[minindices.a],\n b: minsorted[minindices.b],\n c: minsorted[minindices.c]\n };\n dy = (mins0.a - mins.a) * _this.yaxis._m;\n dx = (mins0.c - mins.c - mins0.b + mins.b) * _this.xaxis._m;\n }\n\n // move the data (translate, don't redraw)\n var plotTransform = 'translate(' + (_this.x0 + dx) + ',' + (_this.y0 + dy) + ')';\n _this.plotContainer.selectAll('.scatterlayer,.maplayer')\n .attr('transform', plotTransform);\n\n var plotTransform2 = 'translate(' + -dx + ',' + -dy + ')';\n _this.clipDefRelative.select('path').attr('transform', plotTransform2);\n\n // move the ticks\n _this.aaxis.range = [mins.a, _this.sum - mins.b - mins.c];\n _this.baxis.range = [_this.sum - mins.a - mins.c, mins.b];\n _this.caxis.range = [_this.sum - mins.a - mins.b, mins.c];\n\n _this.drawAxes(false);\n\n if(_this._hasClipOnAxisFalse) {\n _this.plotContainer\n .select('.scatterlayer').selectAll('.trace')\n .call(Drawing.hideOutsideRangePoints, _this);\n }\n\n gd.emit('plotly_relayouting', makeUpdate(mins));\n }\n\n function dragDone() {\n Registry.call('_guiRelayout', gd, makeUpdate(mins));\n }\n\n // finally, set up hover and click\n // these event handlers must already be set before dragElement.init\n // so it can stash them and override them.\n dragger.onmousemove = function(evt) {\n Fx.hover(gd, evt, _this.id);\n gd._fullLayout._lasthover = dragger;\n gd._fullLayout._hoversubplot = _this.id;\n };\n\n dragger.onmouseout = function(evt) {\n if(gd._dragging) return;\n\n dragElement.unhover(gd, evt);\n };\n\n dragElement.init(dragOptions);\n};\n\nfunction removeZoombox(gd) {\n d3.select(gd)\n .selectAll('.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners')\n .remove();\n}\n\n\n/***/ }),\n\n/***/ \"5c9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"43ef\"),\n supplyDefaults: __webpack_require__(\"1a06\"),\n calc: __webpack_require__(\"6bd5\"),\n plot: __webpack_require__(\"6954\").plot,\n style: __webpack_require__(\"ee6b\"),\n colorbar: __webpack_require__(\"a5e1\"),\n hoverPoints: __webpack_require__(\"510f\"),\n\n moduleType: 'trace',\n name: 'contour',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', '2dMap', 'contour', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"5cc5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"5c9a\");\n\n\n/***/ }),\n\n/***/ \"5ccc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar glslify = __webpack_require__(\"e98f\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar vertSrc = glslify([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n uv = position;\\n gl_Position = vec4(position, 0, 1);\\n}\"])\nvar fragSrc = glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"])\n\nmodule.exports = function(gl) {\n return createShader(gl, vertSrc, fragSrc, null, [ { name: 'position', type: 'vec2'}])\n}\n\n\n/***/ }),\n\n/***/ \"5cf9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction mouseButtons(ev) {\n if(typeof ev === 'object') {\n if('buttons' in ev) {\n return ev.buttons\n } else if('which' in ev) {\n var b = ev.which\n if(b === 2) {\n return 4\n } else if(b === 3) {\n return 2\n } else if(b > 0) {\n return 1<<(b-1)\n }\n } else if('button' in ev) {\n var b = ev.button\n if(b === 1) {\n return 4\n } else if(b === 2) {\n return 2\n } else if(b >= 0) {\n return 1<= 0)) {\n continue\n }\n\n var zeroIntercept = screenBox[i] -\n dataBox[i] * (screenBox[i+2] - screenBox[i]) / (dataBox[i+2] - dataBox[i])\n\n if(i === 0) {\n line.drawLine(\n zeroIntercept, screenBox[1], zeroIntercept, screenBox[3],\n zeroLineWidth[i],\n zeroLineColor[i])\n } else {\n line.drawLine(\n screenBox[0], zeroIntercept, screenBox[2], zeroIntercept,\n zeroLineWidth[i],\n zeroLineColor[i])\n }\n }\n }\n\n //Draw traces\n for(var i=0; i=0; --i) {\n this.objects[i].dispose()\n }\n this.objects.length = 0\n for(var i=this.overlays.length-1; i>=0; --i) {\n this.overlays[i].dispose()\n }\n this.overlays.length = 0\n\n this.gl = null\n}\n\nproto.addObject = function(object) {\n if(this.objects.indexOf(object) < 0) {\n this.objects.push(object)\n this.setDirty()\n }\n}\n\nproto.removeObject = function(object) {\n var objects = this.objects\n for(var i=0; i 2) {\n // This object contains more than just the key/value, so unset\n // the value without modifying the entry otherwise:\n changeTypes[idx] = changeTypes[idx] | VALUE;\n return obj.set(name, null);\n }\n\n if(isSimpleValueProp) {\n for(i = idx; i < arr.length; i++) {\n changeTypes[i] = changeTypes[i] | BOTH;\n }\n for(i = idx; i < arr.length; i++) {\n indexLookup[arr[i][keyName]]--;\n }\n arr.splice(idx, 1);\n delete(indexLookup[name]);\n } else {\n // Perform this update *strictly* so we can check whether the result's\n // been pruned. If so, it's a removal. If not, it's a value unset only.\n nestedProperty(object, valueName).set(null);\n\n // Now check if the top level nested property has any keys left. If so,\n // the object still has values so we only want to unset the key. If not,\n // the entire object can be removed since there's no other data.\n // var topLevelKeys = Object.keys(object[valueName.split('.')[0]] || []);\n\n changeTypes[idx] = changeTypes[idx] | VALUE | UNSET;\n }\n\n return obj;\n },\n constructUpdate: function() {\n var astr, idx;\n var update = {};\n var changed = Object.keys(changeTypes);\n for(var i = 0; i < changed.length; i++) {\n idx = changed[i];\n astr = path + '[' + idx + ']';\n if(arr[idx]) {\n if(changeTypes[idx] & NAME) {\n update[astr + '.' + keyName] = arr[idx][keyName];\n }\n if(changeTypes[idx] & VALUE) {\n if(isSimpleValueProp) {\n update[astr + '.' + valueName] = (changeTypes[idx] & UNSET) ? null : arr[idx][valueName];\n } else {\n update[astr + '.' + valueName] = (changeTypes[idx] & UNSET) ? null : nestedProperty(arr[idx], valueName).get();\n }\n }\n } else {\n update[astr] = null;\n }\n }\n\n return update;\n }\n };\n\n return obj;\n};\n\n\n/***/ }),\n\n/***/ \"5e2e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createBoxes\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar shaders = __webpack_require__(\"b44d\")\n\nfunction Boxes(plot, vbo, shader) {\n this.plot = plot\n this.vbo = vbo\n this.shader = shader\n}\n\nvar proto = Boxes.prototype\n\nproto.bind = function() {\n var shader = this.shader\n this.vbo.bind()\n this.shader.bind()\n shader.attributes.coord.pointer()\n shader.uniforms.screenBox = this.plot.screenBox\n}\n\nproto.drawBox = (function() {\n var lo = [0,0]\n var hi = [0,0]\n return function(loX, loY, hiX, hiY, color) {\n var plot = this.plot\n var shader = this.shader\n var gl = plot.gl\n\n lo[0] = loX\n lo[1] = loY\n hi[0] = hiX\n hi[1] = hiY\n\n shader.uniforms.lo = lo\n shader.uniforms.hi = hi\n shader.uniforms.color = color\n\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)\n }\n}())\n\nproto.dispose = function() {\n this.vbo.dispose()\n this.shader.dispose()\n}\n\nfunction createBoxes(plot) {\n var gl = plot.gl\n var vbo = createBuffer(gl, [\n 0,0,\n 0,1,\n 1,0,\n 1,1])\n var shader = createShader(gl, shaders.boxVert, shaders.lineFrag)\n return new Boxes(plot, vbo, shader)\n}\n\n\n/***/ }),\n\n/***/ \"5e46\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterPolarFormatLabels = __webpack_require__(\"98e74\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var i = cdi.i;\n if(!('r' in cdi)) cdi.r = trace._r[i];\n if(!('theta' in cdi)) cdi.theta = trace._theta[i];\n return scatterPolarFormatLabels(cdi, trace, fullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"5e8f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar subtypes = __webpack_require__(\"de81\");\n\nmodule.exports = {\n hasLines: subtypes.hasLines,\n hasMarkers: subtypes.hasMarkers,\n hasText: subtypes.hasText,\n isBubble: subtypes.isBubble,\n\n attributes: __webpack_require__(\"107c\"),\n supplyDefaults: __webpack_require__(\"0eb7\"),\n crossTraceDefaults: __webpack_require__(\"0324\"),\n calc: __webpack_require__(\"70b4\").calc,\n crossTraceCalc: __webpack_require__(\"4324\"),\n arraysToCalcdata: __webpack_require__(\"106b\"),\n plot: __webpack_require__(\"f118\"),\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"7e96\"),\n style: __webpack_require__(\"52e8\").style,\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"391b\"),\n selectPoints: __webpack_require__(\"214c\"),\n animatable: true,\n\n moduleType: 'trace',\n name: 'scatter',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: [\n 'cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like',\n 'zoomScale'\n ],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"5ecd\":\n/***/ (function(module, exports) {\n\nmodule.exports = [\r\n // Keep this list sorted\r\n 'abs'\r\n , 'acos'\r\n , 'all'\r\n , 'any'\r\n , 'asin'\r\n , 'atan'\r\n , 'ceil'\r\n , 'clamp'\r\n , 'cos'\r\n , 'cross'\r\n , 'dFdx'\r\n , 'dFdy'\r\n , 'degrees'\r\n , 'distance'\r\n , 'dot'\r\n , 'equal'\r\n , 'exp'\r\n , 'exp2'\r\n , 'faceforward'\r\n , 'floor'\r\n , 'fract'\r\n , 'gl_BackColor'\r\n , 'gl_BackLightModelProduct'\r\n , 'gl_BackLightProduct'\r\n , 'gl_BackMaterial'\r\n , 'gl_BackSecondaryColor'\r\n , 'gl_ClipPlane'\r\n , 'gl_ClipVertex'\r\n , 'gl_Color'\r\n , 'gl_DepthRange'\r\n , 'gl_DepthRangeParameters'\r\n , 'gl_EyePlaneQ'\r\n , 'gl_EyePlaneR'\r\n , 'gl_EyePlaneS'\r\n , 'gl_EyePlaneT'\r\n , 'gl_Fog'\r\n , 'gl_FogCoord'\r\n , 'gl_FogFragCoord'\r\n , 'gl_FogParameters'\r\n , 'gl_FragColor'\r\n , 'gl_FragCoord'\r\n , 'gl_FragData'\r\n , 'gl_FragDepth'\r\n , 'gl_FragDepthEXT'\r\n , 'gl_FrontColor'\r\n , 'gl_FrontFacing'\r\n , 'gl_FrontLightModelProduct'\r\n , 'gl_FrontLightProduct'\r\n , 'gl_FrontMaterial'\r\n , 'gl_FrontSecondaryColor'\r\n , 'gl_LightModel'\r\n , 'gl_LightModelParameters'\r\n , 'gl_LightModelProducts'\r\n , 'gl_LightProducts'\r\n , 'gl_LightSource'\r\n , 'gl_LightSourceParameters'\r\n , 'gl_MaterialParameters'\r\n , 'gl_MaxClipPlanes'\r\n , 'gl_MaxCombinedTextureImageUnits'\r\n , 'gl_MaxDrawBuffers'\r\n , 'gl_MaxFragmentUniformComponents'\r\n , 'gl_MaxLights'\r\n , 'gl_MaxTextureCoords'\r\n , 'gl_MaxTextureImageUnits'\r\n , 'gl_MaxTextureUnits'\r\n , 'gl_MaxVaryingFloats'\r\n , 'gl_MaxVertexAttribs'\r\n , 'gl_MaxVertexTextureImageUnits'\r\n , 'gl_MaxVertexUniformComponents'\r\n , 'gl_ModelViewMatrix'\r\n , 'gl_ModelViewMatrixInverse'\r\n , 'gl_ModelViewMatrixInverseTranspose'\r\n , 'gl_ModelViewMatrixTranspose'\r\n , 'gl_ModelViewProjectionMatrix'\r\n , 'gl_ModelViewProjectionMatrixInverse'\r\n , 'gl_ModelViewProjectionMatrixInverseTranspose'\r\n , 'gl_ModelViewProjectionMatrixTranspose'\r\n , 'gl_MultiTexCoord0'\r\n , 'gl_MultiTexCoord1'\r\n , 'gl_MultiTexCoord2'\r\n , 'gl_MultiTexCoord3'\r\n , 'gl_MultiTexCoord4'\r\n , 'gl_MultiTexCoord5'\r\n , 'gl_MultiTexCoord6'\r\n , 'gl_MultiTexCoord7'\r\n , 'gl_Normal'\r\n , 'gl_NormalMatrix'\r\n , 'gl_NormalScale'\r\n , 'gl_ObjectPlaneQ'\r\n , 'gl_ObjectPlaneR'\r\n , 'gl_ObjectPlaneS'\r\n , 'gl_ObjectPlaneT'\r\n , 'gl_Point'\r\n , 'gl_PointCoord'\r\n , 'gl_PointParameters'\r\n , 'gl_PointSize'\r\n , 'gl_Position'\r\n , 'gl_ProjectionMatrix'\r\n , 'gl_ProjectionMatrixInverse'\r\n , 'gl_ProjectionMatrixInverseTranspose'\r\n , 'gl_ProjectionMatrixTranspose'\r\n , 'gl_SecondaryColor'\r\n , 'gl_TexCoord'\r\n , 'gl_TextureEnvColor'\r\n , 'gl_TextureMatrix'\r\n , 'gl_TextureMatrixInverse'\r\n , 'gl_TextureMatrixInverseTranspose'\r\n , 'gl_TextureMatrixTranspose'\r\n , 'gl_Vertex'\r\n , 'greaterThan'\r\n , 'greaterThanEqual'\r\n , 'inversesqrt'\r\n , 'length'\r\n , 'lessThan'\r\n , 'lessThanEqual'\r\n , 'log'\r\n , 'log2'\r\n , 'matrixCompMult'\r\n , 'max'\r\n , 'min'\r\n , 'mix'\r\n , 'mod'\r\n , 'normalize'\r\n , 'not'\r\n , 'notEqual'\r\n , 'pow'\r\n , 'radians'\r\n , 'reflect'\r\n , 'refract'\r\n , 'sign'\r\n , 'sin'\r\n , 'smoothstep'\r\n , 'sqrt'\r\n , 'step'\r\n , 'tan'\r\n , 'texture2D'\r\n , 'texture2DLod'\r\n , 'texture2DProj'\r\n , 'texture2DProjLod'\r\n , 'textureCube'\r\n , 'textureCubeLod'\r\n , 'texture2DLodEXT'\r\n , 'texture2DProjLodEXT'\r\n , 'textureCubeLodEXT'\r\n , 'texture2DGradEXT'\r\n , 'texture2DProjGradEXT'\r\n , 'textureCubeGradEXT'\r\n]\r\n\n\n/***/ }),\n\n/***/ \"5edd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"936a\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n\n\n/***/ }),\n\n/***/ \"5f0d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar tarjan = __webpack_require__(\"53cc\");\nvar Lib = __webpack_require__(\"fc26\");\nvar wrap = __webpack_require__(\"0a3e\").wrap;\n\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\nvar isIndex = Lib.isIndex;\nvar Colorscale = __webpack_require__(\"c258\");\n\nfunction convertToD3Sankey(trace) {\n var nodeSpec = trace.node;\n var linkSpec = trace.link;\n\n var links = [];\n var hasLinkColorArray = isArrayOrTypedArray(linkSpec.color);\n var linkedNodes = {};\n\n var components = {};\n var componentCount = linkSpec.colorscales.length;\n var i;\n for(i = 0; i < componentCount; i++) {\n var cscale = linkSpec.colorscales[i];\n var specs = Colorscale.extractScale(cscale, {cLetter: 'c'});\n var scale = Colorscale.makeColorScaleFunc(specs);\n components[cscale.label] = scale;\n }\n\n var maxNodeId = 0;\n for(i = 0; i < linkSpec.value.length; i++) {\n if(linkSpec.source[i] > maxNodeId) maxNodeId = linkSpec.source[i];\n if(linkSpec.target[i] > maxNodeId) maxNodeId = linkSpec.target[i];\n }\n var nodeCount = maxNodeId + 1;\n trace.node._count = nodeCount;\n\n // Group nodes\n var j;\n var groups = trace.node.groups;\n var groupLookup = {};\n for(i = 0; i < groups.length; i++) {\n var group = groups[i];\n // Build a lookup table to quickly find in which group a node is\n for(j = 0; j < group.length; j++) {\n var nodeIndex = group[j];\n var groupIndex = nodeCount + i;\n if(groupLookup.hasOwnProperty(nodeIndex)) {\n Lib.warn('Node ' + nodeIndex + ' is already part of a group.');\n } else {\n groupLookup[nodeIndex] = groupIndex;\n }\n }\n }\n\n // Process links\n var groupedLinks = {\n source: [],\n target: []\n };\n for(i = 0; i < linkSpec.value.length; i++) {\n var val = linkSpec.value[i];\n // remove negative values, but keep zeros with special treatment\n var source = linkSpec.source[i];\n var target = linkSpec.target[i];\n if(!(val > 0 && isIndex(source, nodeCount) && isIndex(target, nodeCount))) {\n continue;\n }\n\n // Remove links that are within the same group\n if(groupLookup.hasOwnProperty(source) && groupLookup.hasOwnProperty(target) && groupLookup[source] === groupLookup[target]) {\n continue;\n }\n\n // if link targets a node in the group, relink target to that group\n if(groupLookup.hasOwnProperty(target)) {\n target = groupLookup[target];\n }\n\n // if link originates from a node in a group, relink source to that group\n if(groupLookup.hasOwnProperty(source)) {\n source = groupLookup[source];\n }\n\n source = +source;\n target = +target;\n linkedNodes[source] = linkedNodes[target] = true;\n\n var label = '';\n if(linkSpec.label && linkSpec.label[i]) label = linkSpec.label[i];\n\n var concentrationscale = null;\n if(label && components.hasOwnProperty(label)) concentrationscale = components[label];\n\n links.push({\n pointNumber: i,\n label: label,\n color: hasLinkColorArray ? linkSpec.color[i] : linkSpec.color,\n concentrationscale: concentrationscale,\n source: source,\n target: target,\n value: +val\n });\n\n groupedLinks.source.push(source);\n groupedLinks.target.push(target);\n }\n\n // Process nodes\n var totalCount = nodeCount + groups.length;\n var hasNodeColorArray = isArrayOrTypedArray(nodeSpec.color);\n var nodes = [];\n for(i = 0; i < totalCount; i++) {\n if(!linkedNodes[i]) continue;\n var l = nodeSpec.label[i];\n\n nodes.push({\n group: (i > nodeCount - 1),\n childrenNodes: [],\n pointNumber: i,\n label: l,\n color: hasNodeColorArray ? nodeSpec.color[i] : nodeSpec.color\n });\n }\n\n // Check if we have circularity on the resulting graph\n var circular = false;\n if(circularityPresent(totalCount, groupedLinks.source, groupedLinks.target)) {\n circular = true;\n }\n\n return {\n circular: circular,\n links: links,\n nodes: nodes,\n\n // Data structure for groups\n groups: groups,\n groupLookup: groupLookup\n };\n}\n\nfunction circularityPresent(nodeLen, sources, targets) {\n var nodes = Lib.init2dArray(nodeLen, 0);\n\n for(var i = 0; i < Math.min(sources.length, targets.length); i++) {\n if(Lib.isIndex(sources[i], nodeLen) && Lib.isIndex(targets[i], nodeLen)) {\n if(sources[i] === targets[i]) {\n return true; // self-link which is also a scc of one\n }\n nodes[sources[i]].push(targets[i]);\n }\n }\n\n var scc = tarjan(nodes);\n\n // Tarjรกn's strongly connected components algorithm coded by Mikola Lysenko\n // returns at least one non-singular component if there's circularity in the graph\n return scc.components.some(function(c) {\n return c.length > 1;\n });\n}\n\nmodule.exports = function calc(gd, trace) {\n var result = convertToD3Sankey(trace);\n\n return wrap({\n circular: result.circular,\n _nodes: result.nodes,\n _links: result.links,\n\n // Data structure for grouping\n _groups: result.groups,\n _groupLookup: result.groupLookup,\n });\n};\n\n\n/***/ }),\n\n/***/ \"5f5f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createSpikes2D\n\nfunction GLSpikes2D(plot) {\n this.plot = plot\n this.enable = [true, true, false, false]\n this.width = [1, 1, 1, 1]\n this.color = [[0,0,0,1],\n [0,0,0,1],\n [0,0,0,1],\n [0,0,0,1]]\n this.center = [Infinity, Infinity]\n}\n\nvar proto = GLSpikes2D.prototype\n\nproto.update = function(options) {\n options = options || {}\n this.enable = (options.enable || [true,true,false,false]).slice()\n this.width = (options.width || [1,1,1,1]).slice()\n this.color = (options.color || [\n [0,0,0,1],\n [0,0,0,1],\n [0,0,0,1],\n [0,0,0,1]]).map(function(x) { return x.slice() })\n this.center = (options.center || [Infinity,Infinity]).slice()\n this.plot.setOverlayDirty()\n}\n\nproto.draw = function() {\n var spikeEnable = this.enable\n var spikeWidth = this.width\n var spikeColor = this.color\n var spikeCenter = this.center\n var plot = this.plot\n var line = plot.line\n\n var dataBox = plot.dataBox\n var viewPixels = plot.viewBox\n\n line.bind()\n\n if(dataBox[0] <= spikeCenter[0] && spikeCenter[0] <= dataBox[2] &&\n dataBox[1] <= spikeCenter[1] && spikeCenter[1] <= dataBox[3]) {\n\n var centerX = viewPixels[0] + (spikeCenter[0] - dataBox[0]) / (dataBox[2] - dataBox[0]) * (viewPixels[2] - viewPixels[0])\n var centerY = viewPixels[1] + (spikeCenter[1] - dataBox[1]) / (dataBox[3] - dataBox[1]) * (viewPixels[3] - viewPixels[1])\n\n if(spikeEnable[0]) {\n line.drawLine(\n centerX, centerY,\n viewPixels[0], centerY,\n spikeWidth[0], spikeColor[0])\n }\n if(spikeEnable[1]) {\n line.drawLine(\n centerX, centerY,\n centerX, viewPixels[1],\n spikeWidth[1], spikeColor[1])\n }\n if(spikeEnable[2]) {\n line.drawLine(\n centerX, centerY,\n viewPixels[2], centerY,\n spikeWidth[2], spikeColor[2])\n }\n if(spikeEnable[3]) {\n line.drawLine(\n centerX, centerY,\n centerX, viewPixels[3],\n spikeWidth[3], spikeColor[3])\n }\n }\n}\n\nproto.dispose = function() {\n this.plot.removeOverlay(this)\n}\n\nfunction createSpikes2D(plot, options) {\n var spikes = new GLSpikes2D(plot)\n spikes.update(options)\n plot.addOverlay(spikes)\n return spikes\n}\n\n\n/***/ }),\n\n/***/ \"6024\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar setPrototypeOf = __webpack_require__(\"e0f6\")\n , contains = __webpack_require__(\"f973\")\n , d = __webpack_require__(\"f508\")\n , Symbol = __webpack_require__(\"1c4a\")\n , Iterator = __webpack_require__(\"06a2\");\n\nvar defineProperty = Object.defineProperty, ArrayIterator;\n\nArrayIterator = module.exports = function (arr, kind) {\n\tif (!(this instanceof ArrayIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tIterator.call(this, arr);\n\tif (!kind) kind = \"value\";\n\telse if (contains.call(kind, \"key+value\")) kind = \"key+value\";\n\telse if (contains.call(kind, \"key\")) kind = \"key\";\n\telse kind = \"value\";\n\tdefineProperty(this, \"__kind__\", d(\"\", kind));\n};\nif (setPrototypeOf) setPrototypeOf(ArrayIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete ArrayIterator.prototype.constructor;\n\nArrayIterator.prototype = Object.create(Iterator.prototype, {\n\t_resolve: d(function (i) {\n\t\tif (this.__kind__ === \"value\") return this.__list__[i];\n\t\tif (this.__kind__ === \"key+value\") return [i, this.__list__[i]];\n\t\treturn i;\n\t})\n});\ndefineProperty(ArrayIterator.prototype, Symbol.toStringTag, d(\"c\", \"Array Iterator\"));\n\n\n/***/ }),\n\n/***/ \"605a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.create = defaultTicks\nexports.equal = ticksEqual\n\nfunction prettyPrint(spacing, i) {\n var stepStr = spacing + \"\"\n var u = stepStr.indexOf(\".\")\n var sigFigs = 0\n if(u >= 0) {\n sigFigs = stepStr.length - u - 1\n }\n var shift = Math.pow(10, sigFigs)\n var x = Math.round(spacing * i * shift)\n var xstr = x + \"\"\n if(xstr.indexOf(\"e\") >= 0) {\n return xstr\n }\n var xi = x / shift, xf = x % shift\n if(x < 0) {\n xi = -Math.ceil(xi)|0\n xf = (-xf)|0\n } else {\n xi = Math.floor(xi)|0\n xf = xf|0\n }\n var xis = \"\" + xi \n if(x < 0) {\n xis = \"-\" + xis\n }\n if(sigFigs) {\n var xs = \"\" + xf\n while(xs.length < sigFigs) {\n xs = \"0\" + xs\n }\n return xis + \".\" + xs\n } else {\n return xis\n }\n}\n\nfunction defaultTicks(bounds, tickSpacing) {\n var array = []\n for(var d=0; d<3; ++d) {\n var ticks = []\n var m = 0.5*(bounds[0][d]+bounds[1][d])\n for(var t=0; t*tickSpacing[d]<=bounds[1][d]; ++t) {\n ticks.push({x: t*tickSpacing[d], text: prettyPrint(tickSpacing[d], t)})\n }\n for(var t=-1; t*tickSpacing[d]>=bounds[0][d]; --t) {\n ticks.push({x: t*tickSpacing[d], text: prettyPrint(tickSpacing[d], t)})\n }\n array.push(ticks)\n }\n return array\n}\n\nfunction ticksEqual(ticksA, ticksB) {\n for(var i=0; i<3; ++i) {\n if(ticksA[i].length !== ticksB[i].length) {\n return false\n }\n for(var j=0; j 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/***/ \"60dc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n boxmode: {\n valType: 'enumerated',\n values: ['group', 'overlay'],\n dflt: 'overlay',\n \n editType: 'calc',\n \n },\n boxgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0.3,\n \n editType: 'calc',\n \n },\n boxgroupgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0.3,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"615a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createTextElements\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createShader = __webpack_require__(\"28dd\")\nvar getText = __webpack_require__(\"9662\")\nvar bsearch = __webpack_require__(\"cc77\")\nvar shaders = __webpack_require__(\"b44d\")\n\nfunction TextElements(plot, vbo, shader) {\n this.plot = plot\n this.vbo = vbo\n this.shader = shader\n this.tickOffset = [[],[]]\n this.tickX = [[],[]]\n this.labelOffset = [0,0]\n this.labelCount = [0,0]\n}\n\nvar proto = TextElements.prototype\n\nproto.drawTicks = (function() {\n var DATA_AXIS = [0,0]\n var SCREEN_OFFSET = [0,0]\n var ZERO_2 = [0,0]\n\n return function(axis) {\n var plot = this.plot\n var shader = this.shader\n var tickX = this.tickX[axis]\n var tickOffset = this.tickOffset[axis]\n var gl = plot.gl\n var viewBox = plot.viewBox\n var dataBox = plot.dataBox\n var screenBox = plot.screenBox\n var pixelRatio = plot.pixelRatio\n var tickEnable = plot.tickEnable\n var tickPad = plot.tickPad\n var textColor = plot.tickColor\n var textAngle = plot.tickAngle\n // todo check if this should be used (now unused)\n // var tickLength = plot.tickMarkLength\n\n var labelEnable = plot.labelEnable\n var labelPad = plot.labelPad\n var labelColor = plot.labelColor\n var labelAngle = plot.labelAngle\n var labelOffset = this.labelOffset[axis]\n var labelCount = this.labelCount[axis]\n\n var start = bsearch.lt(tickX, dataBox[axis])\n var end = bsearch.le(tickX, dataBox[axis+2])\n\n DATA_AXIS[0] = DATA_AXIS[1] = 0\n DATA_AXIS[axis] = 1\n\n SCREEN_OFFSET[axis] = (viewBox[2+axis] + viewBox[axis]) / (screenBox[2+axis] - screenBox[axis]) - 1.0\n\n var screenScale = 2.0 / screenBox[2+(axis^1)] - screenBox[axis^1]\n\n SCREEN_OFFSET[axis^1] = screenScale * viewBox[axis^1] - 1.0\n if(tickEnable[axis]) {\n SCREEN_OFFSET[axis^1] -= screenScale * pixelRatio * tickPad[axis]\n if(start < end && tickOffset[end] > tickOffset[start]) {\n shader.uniforms.dataAxis = DATA_AXIS\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = textColor[axis]\n shader.uniforms.angle = textAngle[axis]\n gl.drawArrays(\n gl.TRIANGLES,\n tickOffset[start],\n tickOffset[end] - tickOffset[start])\n }\n }\n if(labelEnable[axis] && labelCount) {\n SCREEN_OFFSET[axis^1] -= screenScale * pixelRatio * labelPad[axis]\n shader.uniforms.dataAxis = ZERO_2\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = labelColor[axis]\n shader.uniforms.angle = labelAngle[axis]\n gl.drawArrays(\n gl.TRIANGLES,\n labelOffset,\n labelCount)\n }\n\n SCREEN_OFFSET[axis^1] = screenScale * viewBox[2+(axis^1)] - 1.0\n if(tickEnable[axis+2]) {\n SCREEN_OFFSET[axis^1] += screenScale * pixelRatio * tickPad[axis+2]\n if(start < end && tickOffset[end] > tickOffset[start]) {\n shader.uniforms.dataAxis = DATA_AXIS\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = textColor[axis+2]\n shader.uniforms.angle = textAngle[axis+2]\n gl.drawArrays(\n gl.TRIANGLES,\n tickOffset[start],\n tickOffset[end] - tickOffset[start])\n }\n }\n if(labelEnable[axis+2] && labelCount) {\n SCREEN_OFFSET[axis^1] += screenScale * pixelRatio * labelPad[axis+2]\n shader.uniforms.dataAxis = ZERO_2\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = labelColor[axis+2]\n shader.uniforms.angle = labelAngle[axis+2]\n gl.drawArrays(\n gl.TRIANGLES,\n labelOffset,\n labelCount)\n }\n\n }\n})()\n\nproto.drawTitle = (function() {\n var DATA_AXIS = [0,0]\n var SCREEN_OFFSET = [0,0]\n\n return function() {\n var plot = this.plot\n var shader = this.shader\n var gl = plot.gl\n var screenBox = plot.screenBox\n var titleCenter = plot.titleCenter\n var titleAngle = plot.titleAngle\n var titleColor = plot.titleColor\n var pixelRatio = plot.pixelRatio\n\n if(!this.titleCount) {\n return\n }\n\n for(var i=0; i<2; ++i) {\n SCREEN_OFFSET[i] = 2.0 * (titleCenter[i]*pixelRatio - screenBox[i]) /\n (screenBox[2+i] - screenBox[i]) - 1\n }\n\n shader.bind()\n shader.uniforms.dataAxis = DATA_AXIS\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.angle = titleAngle\n shader.uniforms.color = titleColor\n\n gl.drawArrays(gl.TRIANGLES, this.titleOffset, this.titleCount)\n }\n})()\n\nproto.bind = (function() {\n var DATA_SHIFT = [0,0]\n var DATA_SCALE = [0,0]\n var TEXT_SCALE = [0,0]\n\n return function() {\n var plot = this.plot\n var shader = this.shader\n var bounds = plot._tickBounds\n var dataBox = plot.dataBox\n var screenBox = plot.screenBox\n var viewBox = plot.viewBox\n\n shader.bind()\n\n //Set up coordinate scaling uniforms\n for(var i=0; i<2; ++i) {\n\n var lo = bounds[i]\n var hi = bounds[i+2]\n var boundScale = hi - lo\n var dataCenter = 0.5 * (dataBox[i+2] + dataBox[i])\n var dataWidth = (dataBox[i+2] - dataBox[i])\n\n var viewLo = viewBox[i]\n var viewHi = viewBox[i+2]\n var viewScale = viewHi - viewLo\n var screenLo = screenBox[i]\n var screenHi = screenBox[i+2]\n var screenScale = screenHi - screenLo\n\n DATA_SCALE[i] = 2.0 * boundScale / dataWidth * viewScale / screenScale\n DATA_SHIFT[i] = 2.0 * (lo - dataCenter) / dataWidth * viewScale / screenScale\n }\n\n TEXT_SCALE[1] = 2.0 * plot.pixelRatio / (screenBox[3] - screenBox[1])\n TEXT_SCALE[0] = TEXT_SCALE[1] * (screenBox[3] - screenBox[1]) / (screenBox[2] - screenBox[0])\n\n shader.uniforms.dataScale = DATA_SCALE\n shader.uniforms.dataShift = DATA_SHIFT\n shader.uniforms.textScale = TEXT_SCALE\n\n //Set attributes\n this.vbo.bind()\n shader.attributes.textCoordinate.pointer()\n }\n})()\n\nproto.update = function(options) {\n var vertices = []\n var axesTicks = options.ticks\n var bounds = options.bounds\n var i, j, k, data, scale, dimension\n\n for(dimension=0; dimension<2; ++dimension) {\n var offsets = [Math.floor(vertices.length/3)], tickX = [-Infinity]\n\n //Copy vertices over to buffer\n var ticks = axesTicks[dimension]\n for(i=0; i 1e-6) {\n out[0] = ax/al\n out[1] = ay/al\n out[2] = az/al\n out[3] = aw/al\n } else {\n out[0] = out[1] = out[2] = 0.0\n out[3] = 1.0\n }\n}\n\nfunction OrbitCameraController(initQuat, initCenter, initRadius) {\n this.radius = filterVector([initRadius])\n this.center = filterVector(initCenter)\n this.rotation = filterVector(initQuat)\n\n this.computedRadius = this.radius.curve(0)\n this.computedCenter = this.center.curve(0)\n this.computedRotation = this.rotation.curve(0)\n this.computedUp = [0.1,0,0]\n this.computedEye = [0.1,0,0]\n this.computedMatrix = [0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]\n\n this.recalcMatrix(0)\n}\n\nvar proto = OrbitCameraController.prototype\n\nproto.lastT = function() {\n return Math.max(\n this.radius.lastT(),\n this.center.lastT(),\n this.rotation.lastT())\n}\n\nproto.recalcMatrix = function(t) {\n this.radius.curve(t)\n this.center.curve(t)\n this.rotation.curve(t)\n\n var quat = this.computedRotation\n normalize4(quat, quat)\n\n var mat = this.computedMatrix\n mat4FromQuat(mat, quat)\n\n var center = this.computedCenter\n var eye = this.computedEye\n var up = this.computedUp\n var radius = Math.exp(this.computedRadius[0])\n\n eye[0] = center[0] + radius * mat[2]\n eye[1] = center[1] + radius * mat[6]\n eye[2] = center[2] + radius * mat[10]\n up[0] = mat[1]\n up[1] = mat[5]\n up[2] = mat[9]\n\n for(var i=0; i<3; ++i) {\n var rr = 0.0\n for(var j=0; j<3; ++j) {\n rr += mat[i+4*j] * eye[j]\n }\n mat[12+i] = -rr\n }\n}\n\nproto.getMatrix = function(t, result) {\n this.recalcMatrix(t)\n var m = this.computedMatrix\n if(result) {\n for(var i=0; i<16; ++i) {\n result[i] = m[i]\n }\n return result\n }\n return m\n}\n\nproto.idle = function(t) {\n this.center.idle(t)\n this.radius.idle(t)\n this.rotation.idle(t)\n}\n\nproto.flush = function(t) {\n this.center.flush(t)\n this.radius.flush(t)\n this.rotation.flush(t)\n}\n\nproto.pan = function(t, dx, dy, dz) {\n dx = dx || 0.0\n dy = dy || 0.0\n dz = dz || 0.0\n\n this.recalcMatrix(t)\n var mat = this.computedMatrix\n\n var ux = mat[1]\n var uy = mat[5]\n var uz = mat[9]\n var ul = len3(ux, uy, uz)\n ux /= ul\n uy /= ul\n uz /= ul\n\n var rx = mat[0]\n var ry = mat[4]\n var rz = mat[8]\n var ru = rx * ux + ry * uy + rz * uz\n rx -= ux * ru\n ry -= uy * ru\n rz -= uz * ru\n var rl = len3(rx, ry, rz)\n rx /= rl\n ry /= rl\n rz /= rl\n\n var fx = mat[2]\n var fy = mat[6]\n var fz = mat[10]\n var fu = fx * ux + fy * uy + fz * uz\n var fr = fx * rx + fy * ry + fz * rz\n fx -= fu * ux + fr * rx\n fy -= fu * uy + fr * ry\n fz -= fu * uz + fr * rz\n var fl = len3(fx, fy, fz)\n fx /= fl\n fy /= fl\n fz /= fl\n\n var vx = rx * dx + ux * dy\n var vy = ry * dx + uy * dy\n var vz = rz * dx + uz * dy\n\n this.center.move(t, vx, vy, vz)\n\n //Update z-component of radius\n var radius = Math.exp(this.computedRadius[0])\n radius = Math.max(1e-4, radius + dz)\n this.radius.set(t, Math.log(radius))\n}\n\nproto.rotate = function(t, dx, dy, dz) {\n this.recalcMatrix(t)\n\n dx = dx||0.0\n dy = dy||0.0\n\n var mat = this.computedMatrix\n\n var rx = mat[0]\n var ry = mat[4]\n var rz = mat[8]\n\n var ux = mat[1]\n var uy = mat[5]\n var uz = mat[9]\n\n var fx = mat[2]\n var fy = mat[6]\n var fz = mat[10]\n\n var qx = dx * rx + dy * ux\n var qy = dx * ry + dy * uy\n var qz = dx * rz + dy * uz\n\n var bx = -(fy * qz - fz * qy)\n var by = -(fz * qx - fx * qz)\n var bz = -(fx * qy - fy * qx) \n var bw = Math.sqrt(Math.max(0.0, 1.0 - Math.pow(bx,2) - Math.pow(by,2) - Math.pow(bz,2)))\n var bl = len4(bx, by, bz, bw)\n if(bl > 1e-6) {\n bx /= bl\n by /= bl\n bz /= bl\n bw /= bl\n } else {\n bx = by = bz = 0.0\n bw = 1.0\n }\n\n var rotation = this.computedRotation\n var ax = rotation[0]\n var ay = rotation[1]\n var az = rotation[2]\n var aw = rotation[3]\n\n var cx = ax*bw + aw*bx + ay*bz - az*by\n var cy = ay*bw + aw*by + az*bx - ax*bz\n var cz = az*bw + aw*bz + ax*by - ay*bx\n var cw = aw*bw - ax*bx - ay*by - az*bz\n \n //Apply roll\n if(dz) {\n bx = fx\n by = fy\n bz = fz\n var s = Math.sin(dz) / len3(bx, by, bz)\n bx *= s\n by *= s\n bz *= s\n bw = Math.cos(dx)\n cx = cx*bw + cw*bx + cy*bz - cz*by\n cy = cy*bw + cw*by + cz*bx - cx*bz\n cz = cz*bw + cw*bz + cx*by - cy*bx\n cw = cw*bw - cx*bx - cy*by - cz*bz\n }\n\n var cl = len4(cx, cy, cz, cw)\n if(cl > 1e-6) {\n cx /= cl\n cy /= cl\n cz /= cl\n cw /= cl\n } else {\n cx = cy = cz = 0.0\n cw = 1.0\n }\n\n this.rotation.set(t, cx, cy, cz, cw)\n}\n\nproto.lookAt = function(t, eye, center, up) {\n this.recalcMatrix(t)\n\n center = center || this.computedCenter\n eye = eye || this.computedEye\n up = up || this.computedUp\n\n var mat = this.computedMatrix\n lookAt(mat, eye, center, up)\n\n var rotation = this.computedRotation\n quatFromFrame(rotation,\n mat[0], mat[1], mat[2],\n mat[4], mat[5], mat[6],\n mat[8], mat[9], mat[10])\n normalize4(rotation, rotation)\n this.rotation.set(t, rotation[0], rotation[1], rotation[2], rotation[3])\n\n var fl = 0.0\n for(var i=0; i<3; ++i) {\n fl += Math.pow(center[i] - eye[i], 2)\n }\n this.radius.set(t, 0.5 * Math.log(Math.max(fl, 1e-6)))\n\n this.center.set(t, center[0], center[1], center[2])\n}\n\nproto.translate = function(t, dx, dy, dz) {\n this.center.move(t,\n dx||0.0,\n dy||0.0,\n dz||0.0)\n}\n\nproto.setMatrix = function(t, matrix) {\n\n var rotation = this.computedRotation\n quatFromFrame(rotation,\n matrix[0], matrix[1], matrix[2],\n matrix[4], matrix[5], matrix[6],\n matrix[8], matrix[9], matrix[10])\n normalize4(rotation, rotation)\n this.rotation.set(t, rotation[0], rotation[1], rotation[2], rotation[3])\n\n var mat = this.computedMatrix\n invert44(mat, matrix)\n var w = mat[15]\n if(Math.abs(w) > 1e-6) {\n var cx = mat[12]/w\n var cy = mat[13]/w\n var cz = mat[14]/w\n\n this.recalcMatrix(t) \n var r = Math.exp(this.computedRadius[0])\n this.center.set(t, cx-mat[2]*r, cy-mat[6]*r, cz-mat[10]*r)\n this.radius.idle(t)\n } else {\n this.center.idle(t)\n this.radius.idle(t)\n }\n}\n\nproto.setDistance = function(t, d) {\n if(d > 0) {\n this.radius.set(t, Math.log(d))\n }\n}\n\nproto.setDistanceLimits = function(lo, hi) {\n if(lo > 0) {\n lo = Math.log(lo)\n } else {\n lo = -Infinity \n }\n if(hi > 0) {\n hi = Math.log(hi)\n } else {\n hi = Infinity\n }\n hi = Math.max(hi, lo)\n this.radius.bounds[0][0] = lo\n this.radius.bounds[1][0] = hi\n}\n\nproto.getDistanceLimits = function(out) {\n var bounds = this.radius.bounds\n if(out) {\n out[0] = Math.exp(bounds[0][0])\n out[1] = Math.exp(bounds[1][0])\n return out\n }\n return [ Math.exp(bounds[0][0]), Math.exp(bounds[1][0]) ]\n}\n\nproto.toJSON = function() {\n this.recalcMatrix(this.lastT())\n return {\n center: this.computedCenter.slice(),\n rotation: this.computedRotation.slice(),\n distance: Math.log(this.computedRadius[0]),\n zoomMin: this.radius.bounds[0][0],\n zoomMax: this.radius.bounds[1][0]\n }\n}\n\nproto.fromJSON = function(options) {\n var t = this.lastT()\n var c = options.center\n if(c) {\n this.center.set(t, c[0], c[1], c[2])\n }\n var r = options.rotation\n if(r) {\n this.rotation.set(t, r[0], r[1], r[2], r[3])\n }\n var d = options.distance\n if(d && d > 0) {\n this.radius.set(t, Math.log(d))\n }\n this.setDistanceLimits(options.zoomMin, options.zoomMax)\n}\n\nfunction createOrbitController(options) {\n options = options || {}\n var center = options.center || [0,0,0]\n var rotation = options.rotation || [0,0,0,1]\n var radius = options.radius || 1.0\n\n center = [].slice.call(center, 0, 3)\n rotation = [].slice.call(rotation, 0, 4)\n normalize4(rotation, rotation)\n\n var result = new OrbitCameraController(\n rotation,\n center,\n Math.log(radius))\n\n result.setDistanceLimits(options.zoomMin, options.zoomMax)\n\n if('eye' in options || 'up' in options) {\n result.lookAt(0, options.eye, options.center, options.up)\n }\n\n return result\n}\n\n/***/ }),\n\n/***/ \"6259\":\n/***/ (function(module, exports) {\n\nmodule.exports = transformMat4\n\n/**\n * Transforms the vec4 with a mat4.\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec4} out\n */\nfunction transformMat4 (out, a, m) {\n var x = a[0], y = a[1], z = a[2], w = a[3]\n out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w\n out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w\n out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w\n out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w\n return out\n}\n\n\n/***/ }),\n\n/***/ \"6295\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createShader = __webpack_require__(\"28dd\")\nvar glslify = __webpack_require__(\"e98f\")\n\nvar vertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 localCoordinate = vec3(uv.zw, f.x);\\n worldCoordinate = objectOffset + localCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n vec4 clipPosition = projection * view * worldPosition;\\n gl_Position = clipPosition;\\n kill = f.y;\\n value = f.z;\\n planeCoordinate = uv.xy;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * worldPosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n lightDirection = lightPosition - cameraCoordinate.xyz;\\n eyeDirection = eyePosition - cameraCoordinate.xyz;\\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"])\nvar fragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness) {\\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec3 N = normalize(surfaceNormal);\\n vec3 V = normalize(eyeDirection);\\n vec3 L = normalize(lightDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n //decide how to interpolate color โ€” in vertex or in fragment\\n vec4 surfaceColor =\\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n step(.5, vertexColor) * vColor;\\n\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"])\nvar contourVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n worldCoordinate = objectOffset + dataCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n vec4 clipPosition = projection * view * worldPosition;\\n clipPosition.z += zOffset;\\n\\n gl_Position = clipPosition;\\n value = f + objectOffset.z;\\n kill = -1.0;\\n planeCoordinate = uv.zw;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Don't do lighting for contours\\n surfaceNormal = vec3(1,0,0);\\n eyeDirection = vec3(0,1,0);\\n lightDirection = vec3(0,0,1);\\n}\\n\"])\nvar pickSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n float vh = 255.0 * v;\\n float upper = floor(vh);\\n float lower = fract(vh);\\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"])\n\nexports.createShader = function (gl) {\n var shader = createShader(gl, vertSrc, fragSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'vec3'},\n {name: 'normal', type: 'vec3'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n shader.attributes.normal.location = 2\n return shader\n}\nexports.createPickShader = function (gl) {\n var shader = createShader(gl, vertSrc, pickSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'vec3'},\n {name: 'normal', type: 'vec3'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n shader.attributes.normal.location = 2\n return shader\n}\nexports.createContourShader = function (gl) {\n var shader = createShader(gl, contourVertSrc, fragSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'float'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n return shader\n}\nexports.createPickContourShader = function (gl) {\n var shader = createShader(gl, contourVertSrc, pickSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'float'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n return shader\n}\n\n\n/***/ }),\n\n/***/ \"62c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _undefined = __webpack_require__(\"e76c\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n\n\n/***/ }),\n\n/***/ \"62d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar compile = __webpack_require__(\"40ce\")\n\nvar EmptyProc = {\n body: \"\",\n args: [],\n thisVars: [],\n localVars: []\n}\n\nfunction fixup(x) {\n if(!x) {\n return EmptyProc\n }\n for(var i=0; i>\",\n rrshift: \">>>\"\n}\n;(function(){\n for(var id in assign_ops) {\n var op = assign_ops[id]\n exports[id] = makeOp({\n args: [\"array\",\"array\",\"array\"],\n body: {args:[\"a\",\"b\",\"c\"],\n body: \"a=b\"+op+\"c\"},\n funcName: id\n })\n exports[id+\"eq\"] = makeOp({\n args: [\"array\",\"array\"],\n body: {args:[\"a\",\"b\"],\n body:\"a\"+op+\"=b\"},\n rvalue: true,\n funcName: id+\"eq\"\n })\n exports[id+\"s\"] = makeOp({\n args: [\"array\", \"array\", \"scalar\"],\n body: {args:[\"a\",\"b\",\"s\"],\n body:\"a=b\"+op+\"s\"},\n funcName: id+\"s\"\n })\n exports[id+\"seq\"] = makeOp({\n args: [\"array\",\"scalar\"],\n body: {args:[\"a\",\"s\"],\n body:\"a\"+op+\"=s\"},\n rvalue: true,\n funcName: id+\"seq\"\n })\n }\n})();\n\nvar unary_ops = {\n not: \"!\",\n bnot: \"~\",\n neg: \"-\",\n recip: \"1.0/\"\n}\n;(function(){\n for(var id in unary_ops) {\n var op = unary_ops[id]\n exports[id] = makeOp({\n args: [\"array\", \"array\"],\n body: {args:[\"a\",\"b\"],\n body:\"a=\"+op+\"b\"},\n funcName: id\n })\n exports[id+\"eq\"] = makeOp({\n args: [\"array\"],\n body: {args:[\"a\"],\n body:\"a=\"+op+\"a\"},\n rvalue: true,\n count: 2,\n funcName: id+\"eq\"\n })\n }\n})();\n\nvar binary_ops = {\n and: \"&&\",\n or: \"||\",\n eq: \"===\",\n neq: \"!==\",\n lt: \"<\",\n gt: \">\",\n leq: \"<=\",\n geq: \">=\"\n}\n;(function() {\n for(var id in binary_ops) {\n var op = binary_ops[id]\n exports[id] = makeOp({\n args: [\"array\",\"array\",\"array\"],\n body: {args:[\"a\", \"b\", \"c\"],\n body:\"a=b\"+op+\"c\"},\n funcName: id\n })\n exports[id+\"s\"] = makeOp({\n args: [\"array\",\"array\",\"scalar\"],\n body: {args:[\"a\", \"b\", \"s\"],\n body:\"a=b\"+op+\"s\"},\n funcName: id+\"s\"\n })\n exports[id+\"eq\"] = makeOp({\n args: [\"array\", \"array\"],\n body: {args:[\"a\", \"b\"],\n body:\"a=a\"+op+\"b\"},\n rvalue:true,\n count:2,\n funcName: id+\"eq\"\n })\n exports[id+\"seq\"] = makeOp({\n args: [\"array\", \"scalar\"],\n body: {args:[\"a\",\"s\"],\n body:\"a=a\"+op+\"s\"},\n rvalue:true,\n count:2,\n funcName: id+\"seq\"\n })\n }\n})();\n\nvar math_unary = [\n \"abs\",\n \"acos\",\n \"asin\",\n \"atan\",\n \"ceil\",\n \"cos\",\n \"exp\",\n \"floor\",\n \"log\",\n \"round\",\n \"sin\",\n \"sqrt\",\n \"tan\"\n]\n;(function() {\n for(var i=0; ithis_s){this_s=-a}else if(a>this_s){this_s=a}\", localVars: [], thisVars: [\"this_s\"]},\n post: {args:[], localVars:[], thisVars:[\"this_s\"], body:\"return this_s\"},\n funcName: \"norminf\"\n})\n\nexports.norm1 = compile({\n args:[\"array\"],\n pre: {args:[], localVars:[], thisVars:[\"this_s\"], body:\"this_s=0\"},\n body: {args:[{name:\"a\", lvalue:false, rvalue:true, count:3}], body: \"this_s+=a<0?-a:a\", localVars: [], thisVars: [\"this_s\"]},\n post: {args:[], localVars:[], thisVars:[\"this_s\"], body:\"return this_s\"},\n funcName: \"norm1\"\n})\n\nexports.sup = compile({\n args: [ \"array\" ],\n pre:\n { body: \"this_h=-Infinity\",\n args: [],\n thisVars: [ \"this_h\" ],\n localVars: [] },\n body:\n { body: \"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",\n args: [{\"name\":\"_inline_1_arg0_\",\"lvalue\":false,\"rvalue\":true,\"count\":2} ],\n thisVars: [ \"this_h\" ],\n localVars: [] },\n post:\n { body: \"return this_h\",\n args: [],\n thisVars: [ \"this_h\" ],\n localVars: [] }\n })\n\nexports.inf = compile({\n args: [ \"array\" ],\n pre:\n { body: \"this_h=Infinity\",\n args: [],\n thisVars: [ \"this_h\" ],\n localVars: [] },\n body:\n { body: \"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",\n args:[\n {name:\"_inline_1_arg0_\",lvalue:false,rvalue:true,count:2},\n {name:\"_inline_1_arg1_\",lvalue:false,rvalue:true,count:2}],\n thisVars:[\"this_i\",\"this_v\"],\n localVars:[\"_inline_1_k\"]},\n post:{\n body:\"{return this_i}\",\n args:[],\n thisVars:[\"this_i\"],\n localVars:[]}\n}) \n\nexports.random = makeOp({\n args: [\"array\"],\n pre: {args:[], body:\"this_f=Math.random\", thisVars:[\"this_f\"]},\n body: {args: [\"a\"], body:\"a=this_f()\", thisVars:[\"this_f\"]},\n funcName: \"random\"\n})\n\nexports.assign = makeOp({\n args:[\"array\", \"array\"],\n body: {args:[\"a\", \"b\"], body:\"a=b\"},\n funcName: \"assign\" })\n\nexports.assigns = makeOp({\n args:[\"array\", \"scalar\"],\n body: {args:[\"a\", \"b\"], body:\"a=b\"},\n funcName: \"assigns\" })\n\n\nexports.equals = compile({\n args:[\"array\", \"array\"],\n pre: EmptyProc,\n body: {args:[{name:\"x\", lvalue:false, rvalue:true, count:1},\n {name:\"y\", lvalue:false, rvalue:true, count:1}], \n body: \"if(x!==y){return false}\", \n localVars: [], \n thisVars: []},\n post: {args:[], localVars:[], thisVars:[], body:\"return true\"},\n funcName: \"equals\"\n})\n\n\n\n\n/***/ }),\n\n/***/ \"62e4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n/***/ }),\n\n/***/ \"6321\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isPrototype = __webpack_require__(\"9013\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n\n\n/***/ }),\n\n/***/ \"6386\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'scatterpolar',\n basePlotModule: __webpack_require__(\"c07c\"),\n categories: ['polar', 'symbols', 'showLegend', 'scatter-like'],\n\n attributes: __webpack_require__(\"8a6e\"),\n supplyDefaults: __webpack_require__(\"66db\").supplyDefaults,\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"98e74\"),\n calc: __webpack_require__(\"8a43\"),\n plot: __webpack_require__(\"8260\"),\n style: __webpack_require__(\"52e8\").style,\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"efcd\").hoverPoints,\n selectPoints: __webpack_require__(\"214c\"),\n\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"63dc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// fraction of some size to get to a named position\nmodule.exports = {\n // from bottom left: this is the origin of our paper-reference\n // positioning system\n FROM_BL: {\n left: 0,\n center: 0.5,\n right: 1,\n bottom: 0,\n middle: 0.5,\n top: 1\n },\n // from top left: this is the screen pixel positioning origin\n FROM_TL: {\n left: 0,\n center: 0.5,\n right: 1,\n bottom: 1,\n middle: 0.5,\n top: 0\n },\n // from bottom right: sometimes you just need the opposite of ^^\n FROM_BR: {\n left: 1,\n center: 0.5,\n right: 0,\n bottom: 0,\n middle: 0.5,\n top: 1\n },\n // multiple of fontSize to get the vertical offset between lines\n LINE_SPACING: 1.3,\n\n // multiple of fontSize to shift from the baseline\n // to the cap (captical letter) line\n // (to use when we don't calculate this shift from Drawing.bBox)\n // This is an approximation since in reality cap height can differ\n // from font to font. However, according to Wikipedia\n // an \"average\" font might have a cap height of 70% of the em\n // https://en.wikipedia.org/wiki/Em_(typography)#History\n CAP_SHIFT: 0.70,\n\n // half the cap height (distance between baseline and cap line)\n // of an \"average\" font (for more info see above).\n MID_SHIFT: 0.35,\n\n OPPOSITE_SIDE: {\n left: 'right',\n right: 'left',\n top: 'bottom',\n bottom: 'top'\n }\n};\n\n\n/***/ }),\n\n/***/ \"643c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar plots = __webpack_require__(\"bb71\");\n\nexports.name = 'indicator';\n\nexports.plot = function(gd, traces, transitionOpts, makeOnCompleteCallback) {\n plots.plotBasePlot(exports.name, gd, traces, transitionOpts, makeOnCompleteCallback);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n plots.cleanBasePlot(exports.name, newFullData, newFullLayout, oldFullData, oldFullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"644a\":\n/***/ (function(module, exports) {\n\nmodule.exports = squaredLength\n\n/**\n * Calculates the squared length of a vec4\n *\n * @param {vec4} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nfunction squaredLength (a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3]\n return x * x + y * y + z * z + w * w\n}\n\n\n/***/ }),\n\n/***/ \"64c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar extendFlat = __webpack_require__(\"fc26\").extendFlat;\nvar OHLCattrs = __webpack_require__(\"6657\");\nvar boxAttrs = __webpack_require__(\"1ebf\");\n\nfunction directionAttrs(lineColorDefault) {\n return {\n line: {\n color: extendFlat({}, boxAttrs.line.color, {dflt: lineColorDefault}),\n width: boxAttrs.line.width,\n editType: 'style'\n },\n\n fillcolor: boxAttrs.fillcolor,\n editType: 'style'\n };\n}\n\nmodule.exports = {\n x: OHLCattrs.x,\n open: OHLCattrs.open,\n high: OHLCattrs.high,\n low: OHLCattrs.low,\n close: OHLCattrs.close,\n\n line: {\n width: extendFlat({}, boxAttrs.line.width, {\n \n }),\n editType: 'style'\n },\n\n increasing: directionAttrs(OHLCattrs.increasing.line.color.dflt),\n\n decreasing: directionAttrs(OHLCattrs.decreasing.line.color.dflt),\n\n text: OHLCattrs.text,\n hovertext: OHLCattrs.hovertext,\n whiskerwidth: extendFlat({}, boxAttrs.whiskerwidth, { dflt: 0 }),\n\n hoverlabel: OHLCattrs.hoverlabel,\n};\n\n\n/***/ }),\n\n/***/ \"6533\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function handleLabelDefaults(coerce, layout, lineColor, opts) {\n if(!opts) opts = {};\n var showLabels = coerce('contours.showlabels');\n if(showLabels) {\n var globalFont = layout.font;\n Lib.coerceFont(coerce, 'contours.labelfont', {\n family: globalFont.family,\n size: globalFont.size,\n color: lineColor\n });\n coerce('contours.labelformat');\n }\n\n if(opts.hasHover !== false) coerce('zhoverformat');\n};\n\n\n/***/ }),\n\n/***/ \"6547\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\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.github.io/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/***/ \"654e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar attributes = __webpack_require__(\"535c\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var lon = coerce('lon') || [];\n var lat = coerce('lat') || [];\n\n var len = Math.min(lon.length, lat.length);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n coerce('z');\n coerce('radius');\n coerce('below');\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'});\n};\n\n\n/***/ }),\n\n/***/ \"6578\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"16ef\");\n\n\n/***/ }),\n\n/***/ \"6599\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar generated = Object.create(null), random = Math.random;\n\nmodule.exports = function () {\n\tvar str;\n\tdo {\n\t\tstr = random().toString(36).slice(2);\n\t} while (generated[str]);\n\treturn str;\n};\n\n\n/***/ }),\n\n/***/ \"65f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/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/***/ \"661c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Loggers = __webpack_require__(\"ae13\");\nvar mod = __webpack_require__(\"d3dc\").mod;\n\nvar constants = __webpack_require__(\"e806\");\nvar BADNUM = constants.BADNUM;\nvar ONEDAY = constants.ONEDAY;\nvar ONEHOUR = constants.ONEHOUR;\nvar ONEMIN = constants.ONEMIN;\nvar ONESEC = constants.ONESEC;\nvar EPOCHJD = constants.EPOCHJD;\n\nvar Registry = __webpack_require__(\"371e\");\n\nvar utcFormat = d3.time.format.utc;\n\nvar DATETIME_REGEXP = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m;\n// special regex for chinese calendars to support yyyy-mmi-dd etc for intercalary months\nvar DATETIME_REGEXP_CN = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m;\n\n// for 2-digit years, the first year we map them onto\nvar YFIRST = new Date().getFullYear() - 70;\n\nfunction isWorldCalendar(calendar) {\n return (\n calendar &&\n Registry.componentsRegistry.calendars &&\n typeof calendar === 'string' && calendar !== 'gregorian'\n );\n}\n\n/*\n * dateTick0: get the canonical tick for this calendar\n *\n * bool sunday is for week ticks, shift it to a Sunday.\n */\nexports.dateTick0 = function(calendar, sunday) {\n if(isWorldCalendar(calendar)) {\n return sunday ?\n Registry.getComponentMethod('calendars', 'CANONICAL_SUNDAY')[calendar] :\n Registry.getComponentMethod('calendars', 'CANONICAL_TICK')[calendar];\n } else {\n return sunday ? '2000-01-02' : '2000-01-01';\n }\n};\n\n/*\n * dfltRange: for each calendar, give a valid default range\n */\nexports.dfltRange = function(calendar) {\n if(isWorldCalendar(calendar)) {\n return Registry.getComponentMethod('calendars', 'DFLTRANGE')[calendar];\n } else {\n return ['2000-01-01', '2001-01-01'];\n }\n};\n\n// is an object a javascript date?\nexports.isJSDate = function(v) {\n return typeof v === 'object' && v !== null && typeof v.getTime === 'function';\n};\n\n// The absolute limits of our date-time system\n// This is a little weird: we use MIN_MS and MAX_MS in dateTime2ms\n// but we use dateTime2ms to calculate them (after defining it!)\nvar MIN_MS, MAX_MS;\n\n/**\n * dateTime2ms - turn a date object or string s into milliseconds\n * (relative to 1970-01-01, per javascript standard)\n * optional calendar (string) to use a non-gregorian calendar\n *\n * Returns BADNUM if it doesn't find a date\n *\n * strings should have the form:\n *\n * -?YYYY-mm-ddHH:MM:SS.sss?\n *\n * : space (our normal standard) or T or t (ISO-8601)\n * : Z, z, or [+\\-]HH:?MM and we THROW IT AWAY\n * this format comes from https://tools.ietf.org/html/rfc3339#section-5.6\n * but we allow it even with a space as the separator\n *\n * May truncate after any full field, and sss can be any length\n * even >3 digits, though javascript dates truncate to milliseconds,\n * we keep as much as javascript numeric precision can hold, but we only\n * report back up to 100 microsecond precision, because most dates support\n * this precision (close to 1970 support more, very far away support less)\n *\n * Expanded to support negative years to -9999 but you must always\n * give 4 digits, except for 2-digit positive years which we assume are\n * near the present time.\n * Note that we follow ISO 8601:2004: there *is* a year 0, which\n * is 1BC/BCE, and -1===2BC etc.\n *\n * World calendars: not all of these *have* agreed extensions to this full range,\n * if you have another calendar system but want a date range outside its validity,\n * you can use a gregorian date string prefixed with 'G' or 'g'.\n *\n * Where to cut off 2-digit years between 1900s and 2000s?\n * from http://support.microsoft.com/kb/244664:\n * 1930-2029 (the most retro of all...)\n * but in my mac chrome from eg. d=new Date(Date.parse('8/19/50')):\n * 1950-2049\n * by Java, from http://stackoverflow.com/questions/2024273/:\n * now-80 - now+19\n * or FileMaker Pro, from\n * http://www.filemaker.com/12help/html/add_view_data.4.21.html:\n * now-70 - now+29\n * but python strptime etc, via\n * http://docs.python.org/py3k/library/time.html:\n * 1969-2068 (super forward-looking, but static, not sliding!)\n *\n * lets go with now-70 to now+29, and if anyone runs into this problem\n * they can learn the hard way not to use 2-digit years, as no choice we\n * make now will cover all possibilities. mostly this will all be taken\n * care of in initial parsing, should only be an issue for hand-entered data\n * currently (2016) this range is:\n * 1946-2045\n */\nexports.dateTime2ms = function(s, calendar) {\n // first check if s is a date object\n if(exports.isJSDate(s)) {\n // Convert to the UTC milliseconds that give the same\n // hours as this date has in the local timezone\n var tzOffset = s.getTimezoneOffset() * ONEMIN;\n var offsetTweak = (s.getUTCMinutes() - s.getMinutes()) * ONEMIN +\n (s.getUTCSeconds() - s.getSeconds()) * ONESEC +\n (s.getUTCMilliseconds() - s.getMilliseconds());\n\n if(offsetTweak) {\n var comb = 3 * ONEMIN;\n tzOffset = tzOffset - comb / 2 + mod(offsetTweak - tzOffset + comb / 2, comb);\n }\n s = Number(s) - tzOffset;\n if(s >= MIN_MS && s <= MAX_MS) return s;\n return BADNUM;\n }\n // otherwise only accept strings and numbers\n if(typeof s !== 'string' && typeof s !== 'number') return BADNUM;\n\n s = String(s);\n\n var isWorld = isWorldCalendar(calendar);\n\n // to handle out-of-range dates in international calendars, accept\n // 'G' as a prefix to force the built-in gregorian calendar.\n var s0 = s.charAt(0);\n if(isWorld && (s0 === 'G' || s0 === 'g')) {\n s = s.substr(1);\n calendar = '';\n }\n\n var isChinese = isWorld && calendar.substr(0, 7) === 'chinese';\n\n var match = s.match(isChinese ? DATETIME_REGEXP_CN : DATETIME_REGEXP);\n if(!match) return BADNUM;\n var y = match[1];\n var m = match[3] || '1';\n var d = Number(match[5] || 1);\n var H = Number(match[7] || 0);\n var M = Number(match[9] || 0);\n var S = Number(match[11] || 0);\n\n if(isWorld) {\n // disallow 2-digit years for world calendars\n if(y.length === 2) return BADNUM;\n y = Number(y);\n\n var cDate;\n try {\n var calInstance = Registry.getComponentMethod('calendars', 'getCal')(calendar);\n if(isChinese) {\n var isIntercalary = m.charAt(m.length - 1) === 'i';\n m = parseInt(m, 10);\n cDate = calInstance.newDate(y, calInstance.toMonthIndex(y, m, isIntercalary), d);\n } else {\n cDate = calInstance.newDate(y, Number(m), d);\n }\n } catch(e) { return BADNUM; } // Invalid ... date\n\n if(!cDate) return BADNUM;\n\n return ((cDate.toJD() - EPOCHJD) * ONEDAY) +\n (H * ONEHOUR) + (M * ONEMIN) + (S * ONESEC);\n }\n\n if(y.length === 2) {\n y = (Number(y) + 2000 - YFIRST) % 100 + YFIRST;\n } else y = Number(y);\n\n // new Date uses months from 0; subtract 1 here just so we\n // don't have to do it again during the validity test below\n m -= 1;\n\n // javascript takes new Date(0..99,m,d) to mean 1900-1999, so\n // to support years 0-99 we need to use setFullYear explicitly\n // Note that 2000 is a leap year.\n var date = new Date(Date.UTC(2000, m, d, H, M));\n date.setUTCFullYear(y);\n\n if(date.getUTCMonth() !== m) return BADNUM;\n if(date.getUTCDate() !== d) return BADNUM;\n\n return date.getTime() + S * ONESEC;\n};\n\nMIN_MS = exports.MIN_MS = exports.dateTime2ms('-9999');\nMAX_MS = exports.MAX_MS = exports.dateTime2ms('9999-12-31 23:59:59.9999');\n\n// is string s a date? (see above)\nexports.isDateTime = function(s, calendar) {\n return (exports.dateTime2ms(s, calendar) !== BADNUM);\n};\n\n// pad a number with zeroes, to given # of digits before the decimal point\nfunction lpad(val, digits) {\n return String(val + Math.pow(10, digits)).substr(1);\n}\n\n/**\n * Turn ms into string of the form YYYY-mm-dd HH:MM:SS.ssss\n * Crop any trailing zeros in time, except never stop right after hours\n * (we could choose to crop '-01' from date too but for now we always\n * show the whole date)\n * Optional range r is the data range that applies, also in ms.\n * If rng is big, the later parts of time will be omitted\n */\nvar NINETYDAYS = 90 * ONEDAY;\nvar THREEHOURS = 3 * ONEHOUR;\nvar FIVEMIN = 5 * ONEMIN;\nexports.ms2DateTime = function(ms, r, calendar) {\n if(typeof ms !== 'number' || !(ms >= MIN_MS && ms <= MAX_MS)) return BADNUM;\n\n if(!r) r = 0;\n\n var msecTenths = Math.floor(mod(ms + 0.05, 1) * 10);\n var msRounded = Math.round(ms - msecTenths / 10);\n var dateStr, h, m, s, msec10, d;\n\n if(isWorldCalendar(calendar)) {\n var dateJD = Math.floor(msRounded / ONEDAY) + EPOCHJD;\n var timeMs = Math.floor(mod(ms, ONEDAY));\n try {\n dateStr = Registry.getComponentMethod('calendars', 'getCal')(calendar)\n .fromJD(dateJD).formatDate('yyyy-mm-dd');\n } catch(e) {\n // invalid date in this calendar - fall back to Gyyyy-mm-dd\n dateStr = utcFormat('G%Y-%m-%d')(new Date(msRounded));\n }\n\n // yyyy does NOT guarantee 4-digit years. YYYY mostly does, but does\n // other things for a few calendars, so we can't trust it. Just pad\n // it manually (after the '-' if there is one)\n if(dateStr.charAt(0) === '-') {\n while(dateStr.length < 11) dateStr = '-0' + dateStr.substr(1);\n } else {\n while(dateStr.length < 10) dateStr = '0' + dateStr;\n }\n\n // TODO: if this is faster, we could use this block for extracting\n // the time components of regular gregorian too\n h = (r < NINETYDAYS) ? Math.floor(timeMs / ONEHOUR) : 0;\n m = (r < NINETYDAYS) ? Math.floor((timeMs % ONEHOUR) / ONEMIN) : 0;\n s = (r < THREEHOURS) ? Math.floor((timeMs % ONEMIN) / ONESEC) : 0;\n msec10 = (r < FIVEMIN) ? (timeMs % ONESEC) * 10 + msecTenths : 0;\n } else {\n d = new Date(msRounded);\n\n dateStr = utcFormat('%Y-%m-%d')(d);\n\n // <90 days: add hours and minutes - never *only* add hours\n h = (r < NINETYDAYS) ? d.getUTCHours() : 0;\n m = (r < NINETYDAYS) ? d.getUTCMinutes() : 0;\n // <3 hours: add seconds\n s = (r < THREEHOURS) ? d.getUTCSeconds() : 0;\n // <5 minutes: add ms (plus one extra digit, this is msec*10)\n msec10 = (r < FIVEMIN) ? d.getUTCMilliseconds() * 10 + msecTenths : 0;\n }\n\n return includeTime(dateStr, h, m, s, msec10);\n};\n\n// For converting old-style milliseconds to date strings,\n// we use the local timezone rather than UTC like we use\n// everywhere else, both for backward compatibility and\n// because that's how people mostly use javasript date objects.\n// Clip one extra day off our date range though so we can't get\n// thrown beyond the range by the timezone shift.\nexports.ms2DateTimeLocal = function(ms) {\n if(!(ms >= MIN_MS + ONEDAY && ms <= MAX_MS - ONEDAY)) return BADNUM;\n\n var msecTenths = Math.floor(mod(ms + 0.05, 1) * 10);\n var d = new Date(Math.round(ms - msecTenths / 10));\n var dateStr = d3.time.format('%Y-%m-%d')(d);\n var h = d.getHours();\n var m = d.getMinutes();\n var s = d.getSeconds();\n var msec10 = d.getUTCMilliseconds() * 10 + msecTenths;\n\n return includeTime(dateStr, h, m, s, msec10);\n};\n\nfunction includeTime(dateStr, h, m, s, msec10) {\n // include each part that has nonzero data in or after it\n if(h || m || s || msec10) {\n dateStr += ' ' + lpad(h, 2) + ':' + lpad(m, 2);\n if(s || msec10) {\n dateStr += ':' + lpad(s, 2);\n if(msec10) {\n var digits = 4;\n while(msec10 % 10 === 0) {\n digits -= 1;\n msec10 /= 10;\n }\n dateStr += '.' + lpad(msec10, digits);\n }\n }\n }\n return dateStr;\n}\n\n// normalize date format to date string, in case it starts as\n// a Date object or milliseconds\n// optional dflt is the return value if cleaning fails\nexports.cleanDate = function(v, dflt, calendar) {\n // let us use cleanDate to provide a missing default without an error\n if(v === BADNUM) return dflt;\n if(exports.isJSDate(v) || (typeof v === 'number' && isFinite(v))) {\n // do not allow milliseconds (old) or jsdate objects (inherently\n // described as gregorian dates) with world calendars\n if(isWorldCalendar(calendar)) {\n Loggers.error('JS Dates and milliseconds are incompatible with world calendars', v);\n return dflt;\n }\n\n // NOTE: if someone puts in a year as a number rather than a string,\n // this will mistakenly convert it thinking it's milliseconds from 1970\n // that is: '2012' -> Jan. 1, 2012, but 2012 -> 2012 epoch milliseconds\n v = exports.ms2DateTimeLocal(+v);\n if(!v && dflt !== undefined) return dflt;\n } else if(!exports.isDateTime(v, calendar)) {\n Loggers.error('unrecognized date', v);\n return dflt;\n }\n return v;\n};\n\n/*\n * Date formatting for ticks and hovertext\n */\n\n/*\n * modDateFormat: Support world calendars, and add one item to\n * d3's vocabulary:\n * %{n}f where n is the max number of digits of fractional seconds\n */\nvar fracMatch = /%\\d?f/g;\nfunction modDateFormat(fmt, x, formatter, calendar) {\n fmt = fmt.replace(fracMatch, function(match) {\n var digits = Math.min(+(match.charAt(1)) || 6, 6);\n var fracSecs = ((x / 1000 % 1) + 2)\n .toFixed(digits)\n .substr(2).replace(/0+$/, '') || '0';\n return fracSecs;\n });\n\n var d = new Date(Math.floor(x + 0.05));\n\n if(isWorldCalendar(calendar)) {\n try {\n fmt = Registry.getComponentMethod('calendars', 'worldCalFmt')(fmt, x, calendar);\n } catch(e) {\n return 'Invalid';\n }\n }\n return formatter(fmt)(d);\n}\n\n/*\n * formatTime: create a time string from:\n * x: milliseconds\n * tr: tickround ('M', 'S', or # digits)\n * only supports UTC times (where every day is 24 hours and 0 is at midnight)\n */\nvar MAXSECONDS = [59, 59.9, 59.99, 59.999, 59.9999];\nfunction formatTime(x, tr) {\n var timePart = mod(x + 0.05, ONEDAY);\n\n var timeStr = lpad(Math.floor(timePart / ONEHOUR), 2) + ':' +\n lpad(mod(Math.floor(timePart / ONEMIN), 60), 2);\n\n if(tr !== 'M') {\n if(!isNumeric(tr)) tr = 0; // should only be 'S'\n\n /*\n * this is a weird one - and shouldn't come up unless people\n * monkey with tick0 in weird ways, but we need to do something!\n * IN PARTICULAR we had better not display garbage (see below)\n * for numbers we always round to the nearest increment of the\n * precision we're showing, and this seems like the right way to\n * handle seconds and milliseconds, as they have a decimal point\n * and people will interpret that to mean rounding like numbers.\n * but for larger increments we floor the value: it's always\n * 2013 until the ball drops on the new year. We could argue about\n * which field it is where we start rounding (should 12:08:59\n * round to 12:09 if we're stopping at minutes?) but for now I'll\n * say we round seconds but floor everything else. BUT that means\n * we need to never round up to 60 seconds, ie 23:59:60\n */\n var sec = Math.min(mod(x / ONESEC, 60), MAXSECONDS[tr]);\n\n var secStr = (100 + sec).toFixed(tr).substr(1);\n if(tr > 0) {\n secStr = secStr.replace(/0+$/, '').replace(/[\\.]$/, '');\n }\n\n timeStr += ':' + secStr;\n }\n return timeStr;\n}\n\n/*\n * formatDate: turn a date into tick or hover label text.\n *\n * x: milliseconds, the value to convert\n * fmt: optional, an explicit format string (d3 format, even for world calendars)\n * tr: tickround ('y', 'm', 'd', 'M', 'S', or # digits)\n * used if no explicit fmt is provided\n * formatter: locale-aware d3 date formatter for standard gregorian calendars\n * should be the result of exports.getD3DateFormat(gd)\n * calendar: optional string, the world calendar system to use\n *\n * returns the date/time as a string, potentially with the leading portion\n * on a separate line (after '\\n')\n * Note that this means if you provide an explicit format which includes '\\n'\n * the axis may choose to strip things after it when they don't change from\n * one tick to the next (as it does with automatic formatting)\n */\nexports.formatDate = function(x, fmt, tr, formatter, calendar, extraFormat) {\n calendar = isWorldCalendar(calendar) && calendar;\n\n if(!fmt) {\n if(tr === 'y') fmt = extraFormat.year;\n else if(tr === 'm') fmt = extraFormat.month;\n else if(tr === 'd') {\n fmt = extraFormat.dayMonth + '\\n' + extraFormat.year;\n } else {\n return formatTime(x, tr) + '\\n' + modDateFormat(extraFormat.dayMonthYear, x, formatter, calendar);\n }\n }\n\n return modDateFormat(fmt, x, formatter, calendar);\n};\n\n/*\n * incrementMonth: make a new milliseconds value from the given one,\n * having changed the month\n *\n * special case for world calendars: multiples of 12 are treated as years,\n * even for calendar systems that don't have (always or ever) 12 months/year\n * TODO: perhaps we need a different code for year increments to support this?\n *\n * ms (number): the initial millisecond value\n * dMonth (int): the (signed) number of months to shift\n * calendar (string): the calendar system to use\n *\n * changing month does not (and CANNOT) always preserve day, since\n * months have different lengths. The worst example of this is:\n * d = new Date(1970,0,31); d.setMonth(1) -> Feb 31 turns into Mar 3\n *\n * But we want to be able to iterate over the last day of each month,\n * regardless of what its number is.\n * So shift 3 days forward, THEN set the new month, then unshift:\n * 1/31 -> 2/28 (or 29) -> 3/31 -> 4/30 -> ...\n *\n * Note that odd behavior still exists if you start from the 26th-28th:\n * 1/28 -> 2/28 -> 3/31\n * but at least you can't shift any dates into the wrong month,\n * and ticks on these days incrementing by month would be very unusual\n */\nvar THREEDAYS = 3 * ONEDAY;\nexports.incrementMonth = function(ms, dMonth, calendar) {\n calendar = isWorldCalendar(calendar) && calendar;\n\n // pull time out and operate on pure dates, then add time back at the end\n // this gives maximum precision - not that we *normally* care if we're\n // incrementing by month, but better to be safe!\n var timeMs = mod(ms, ONEDAY);\n ms = Math.round(ms - timeMs);\n\n if(calendar) {\n try {\n var dateJD = Math.round(ms / ONEDAY) + EPOCHJD;\n var calInstance = Registry.getComponentMethod('calendars', 'getCal')(calendar);\n var cDate = calInstance.fromJD(dateJD);\n\n if(dMonth % 12) calInstance.add(cDate, dMonth, 'm');\n else calInstance.add(cDate, dMonth / 12, 'y');\n\n return (cDate.toJD() - EPOCHJD) * ONEDAY + timeMs;\n } catch(e) {\n Loggers.error('invalid ms ' + ms + ' in calendar ' + calendar);\n // then keep going in gregorian even though the result will be 'Invalid'\n }\n }\n\n var y = new Date(ms + THREEDAYS);\n return y.setUTCMonth(y.getUTCMonth() + dMonth) + timeMs - THREEDAYS;\n};\n\n/*\n * findExactDates: what fraction of data is exact days, months, or years?\n *\n * data: array of millisecond values\n * calendar (string) the calendar to test against\n */\nexports.findExactDates = function(data, calendar) {\n var exactYears = 0;\n var exactMonths = 0;\n var exactDays = 0;\n var blankCount = 0;\n var d;\n var di;\n\n var calInstance = (\n isWorldCalendar(calendar) &&\n Registry.getComponentMethod('calendars', 'getCal')(calendar)\n );\n\n for(var i = 0; i < data.length; i++) {\n di = data[i];\n\n // not date data at all\n if(!isNumeric(di)) {\n blankCount ++;\n continue;\n }\n\n // not an exact date\n if(di % ONEDAY) continue;\n\n if(calInstance) {\n try {\n d = calInstance.fromJD(di / ONEDAY + EPOCHJD);\n if(d.day() === 1) {\n if(d.month() === 1) exactYears++;\n else exactMonths++;\n } else exactDays++;\n } catch(e) {\n // invalid date in this calendar - ignore it here.\n }\n } else {\n d = new Date(di);\n if(d.getUTCDate() === 1) {\n if(d.getUTCMonth() === 0) exactYears++;\n else exactMonths++;\n } else exactDays++;\n }\n }\n exactMonths += exactYears;\n exactDays += exactMonths;\n\n var dataCount = data.length - blankCount;\n\n return {\n exactYears: exactYears / dataCount,\n exactMonths: exactMonths / dataCount,\n exactDays: exactDays / dataCount\n };\n};\n\n\n/***/ }),\n\n/***/ \"6626\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"0b4f\");\n\n\n/***/ }),\n\n/***/ \"6649\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hiddenStore = __webpack_require__(\"b332\");\n\nmodule.exports = createStore;\n\nfunction createStore() {\n var key = {};\n\n return function (obj) {\n if ((typeof obj !== 'object' || obj === null) &&\n typeof obj !== 'function'\n ) {\n throw new Error('Weakmap-shim: Key must be object')\n }\n\n var store = obj.valueOf(key);\n return store && store.identity === key ?\n store : hiddenStore(obj, key);\n };\n}\n\n\n/***/ }),\n\n/***/ \"664d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"9509\");\n\n\n/***/ }),\n\n/***/ \"6657\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar extendFlat = __webpack_require__(\"fc26\").extendFlat;\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar dash = __webpack_require__(\"db54\").dash;\nvar fxAttrs = __webpack_require__(\"a462\");\nvar delta = __webpack_require__(\"b8ce\");\n\nvar INCREASING_COLOR = delta.INCREASING.COLOR;\nvar DECREASING_COLOR = delta.DECREASING.COLOR;\n\nvar lineAttrs = scatterAttrs.line;\n\nfunction directionAttrs(lineColorDefault) {\n return {\n line: {\n color: extendFlat({}, lineAttrs.color, {dflt: lineColorDefault}),\n width: lineAttrs.width,\n dash: dash,\n editType: 'style'\n },\n editType: 'style'\n };\n}\n\nmodule.exports = {\n\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n\n open: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n high: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n low: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n close: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n line: {\n width: extendFlat({}, lineAttrs.width, {\n \n }),\n dash: extendFlat({}, dash, {\n \n }),\n editType: 'style'\n },\n\n increasing: directionAttrs(INCREASING_COLOR),\n\n decreasing: directionAttrs(DECREASING_COLOR),\n\n text: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n hovertext: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n\n tickwidth: {\n valType: 'number',\n min: 0,\n max: 0.5,\n dflt: 0.3,\n \n editType: 'calc',\n \n },\n\n hoverlabel: extendFlat({}, fxAttrs.hoverlabel, {\n split: {\n valType: 'boolean',\n \n dflt: false,\n editType: 'style',\n \n }\n }),\n};\n\n\n/***/ }),\n\n/***/ \"6672\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar baseTraceAttrs = __webpack_require__(\"a876\");\nvar colorscales = __webpack_require__(\"4852\");\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\n\nvar nestedProperty = __webpack_require__(\"74d6\");\nvar counterRegex = __webpack_require__(\"055a\").counter;\nvar modHalf = __webpack_require__(\"d3dc\").modHalf;\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\n\nexports.valObjectMeta = {\n data_array: {\n // You can use *dflt=[] to force said array to exist though.\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n // TODO maybe `v: {type: 'float32', vals: [/* ... */]}` also\n if(isArrayOrTypedArray(v)) propOut.set(v);\n else if(dflt !== undefined) propOut.set(dflt);\n }\n },\n enumerated: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(opts.coerceNumber) v = +v;\n if(opts.values.indexOf(v) === -1) propOut.set(dflt);\n else propOut.set(v);\n },\n validateFunction: function(v, opts) {\n if(opts.coerceNumber) v = +v;\n\n var values = opts.values;\n for(var i = 0; i < values.length; i++) {\n var k = String(values[i]);\n\n if((k.charAt(0) === '/' && k.charAt(k.length - 1) === '/')) {\n var regex = new RegExp(k.substr(1, k.length - 2));\n if(regex.test(v)) return true;\n } else if(v === values[i]) return true;\n }\n return false;\n }\n },\n 'boolean': {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(v === true || v === false) propOut.set(v);\n else propOut.set(dflt);\n }\n },\n number: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(!isNumeric(v) ||\n (opts.min !== undefined && v < opts.min) ||\n (opts.max !== undefined && v > opts.max)) {\n propOut.set(dflt);\n } else propOut.set(+v);\n }\n },\n integer: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(v % 1 || !isNumeric(v) ||\n (opts.min !== undefined && v < opts.min) ||\n (opts.max !== undefined && v > opts.max)) {\n propOut.set(dflt);\n } else propOut.set(+v);\n }\n },\n string: {\n \n \n // TODO 'values shouldn't be in there (edge case: 'dash' in Scatter)\n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(typeof v !== 'string') {\n var okToCoerce = (typeof v === 'number');\n\n if(opts.strict === true || !okToCoerce) propOut.set(dflt);\n else propOut.set(String(v));\n } else if(opts.noBlank && !v) propOut.set(dflt);\n else propOut.set(v);\n }\n },\n color: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(tinycolor(v).isValid()) propOut.set(v);\n else propOut.set(dflt);\n }\n },\n colorlist: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n function isColor(color) {\n return tinycolor(color).isValid();\n }\n if(!Array.isArray(v) || !v.length) propOut.set(dflt);\n else if(v.every(isColor)) propOut.set(v);\n else propOut.set(dflt);\n }\n },\n colorscale: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n propOut.set(colorscales.get(v, dflt));\n }\n },\n angle: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(v === 'auto') propOut.set('auto');\n else if(!isNumeric(v)) propOut.set(dflt);\n else propOut.set(modHalf(+v, 360));\n }\n },\n subplotid: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n var regex = opts.regex || counterRegex(dflt);\n if(typeof v === 'string' && regex.test(v)) {\n propOut.set(v);\n return;\n }\n propOut.set(dflt);\n },\n validateFunction: function(v, opts) {\n var dflt = opts.dflt;\n\n if(v === dflt) return true;\n if(typeof v !== 'string') return false;\n if(counterRegex(dflt).test(v)) return true;\n\n return false;\n }\n },\n flaglist: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(typeof v !== 'string') {\n propOut.set(dflt);\n return;\n }\n if((opts.extras || []).indexOf(v) !== -1) {\n propOut.set(v);\n return;\n }\n var vParts = v.split('+');\n var i = 0;\n while(i < vParts.length) {\n var vi = vParts[i];\n if(opts.flags.indexOf(vi) === -1 || vParts.indexOf(vi) < i) {\n vParts.splice(i, 1);\n } else i++;\n }\n if(!vParts.length) propOut.set(dflt);\n else propOut.set(vParts.join('+'));\n }\n },\n any: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(v === undefined) propOut.set(dflt);\n else propOut.set(v);\n }\n },\n info_array: {\n \n \n // set `dimensions=2` for a 2D array or '1-2' for either\n // `items` may be a single object instead of an array, in which case\n // `freeLength` must be true.\n // if `dimensions='1-2'` and items is a 1D array, then the value can\n // either be a matching 1D array or an array of such matching 1D arrays\n \n coerceFunction: function(v, propOut, dflt, opts) {\n // simplified coerce function just for array items\n function coercePart(v, opts, dflt) {\n var out;\n var propPart = {set: function(v) { out = v; }};\n\n if(dflt === undefined) dflt = opts.dflt;\n\n exports.valObjectMeta[opts.valType].coerceFunction(v, propPart, dflt, opts);\n\n return out;\n }\n\n var twoD = opts.dimensions === 2 || (opts.dimensions === '1-2' && Array.isArray(v) && Array.isArray(v[0]));\n\n if(!Array.isArray(v)) {\n propOut.set(dflt);\n return;\n }\n\n var items = opts.items;\n var vOut = [];\n var arrayItems = Array.isArray(items);\n var arrayItems2D = arrayItems && twoD && Array.isArray(items[0]);\n var innerItemsOnly = twoD && arrayItems && !arrayItems2D;\n var len = (arrayItems && !innerItemsOnly) ? items.length : v.length;\n\n var i, j, row, item, len2, vNew;\n\n dflt = Array.isArray(dflt) ? dflt : [];\n\n if(twoD) {\n for(i = 0; i < len; i++) {\n vOut[i] = [];\n row = Array.isArray(v[i]) ? v[i] : [];\n if(innerItemsOnly) len2 = items.length;\n else if(arrayItems) len2 = items[i].length;\n else len2 = row.length;\n\n for(j = 0; j < len2; j++) {\n if(innerItemsOnly) item = items[j];\n else if(arrayItems) item = items[i][j];\n else item = items;\n\n vNew = coercePart(row[j], item, (dflt[i] || [])[j]);\n if(vNew !== undefined) vOut[i][j] = vNew;\n }\n }\n } else {\n for(i = 0; i < len; i++) {\n vNew = coercePart(v[i], arrayItems ? items[i] : items, dflt[i]);\n if(vNew !== undefined) vOut[i] = vNew;\n }\n }\n\n propOut.set(vOut);\n },\n validateFunction: function(v, opts) {\n if(!Array.isArray(v)) return false;\n\n var items = opts.items;\n var arrayItems = Array.isArray(items);\n var twoD = opts.dimensions === 2;\n\n // when free length is off, input and declared lengths must match\n if(!opts.freeLength && v.length !== items.length) return false;\n\n // valid when all input items are valid\n for(var i = 0; i < v.length; i++) {\n if(twoD) {\n if(!Array.isArray(v[i]) || (!opts.freeLength && v[i].length !== items[i].length)) {\n return false;\n }\n for(var j = 0; j < v[i].length; j++) {\n if(!validate(v[i][j], arrayItems ? items[i][j] : items)) {\n return false;\n }\n }\n } else if(!validate(v[i], arrayItems ? items[i] : items)) return false;\n }\n\n return true;\n }\n }\n};\n\n/**\n * Ensures that container[attribute] has a valid value.\n *\n * attributes[attribute] is an object with possible keys:\n * - valType: data_array, enumerated, boolean, ... as in valObjectMeta\n * - values: (enumerated only) array of allowed vals\n * - min, max: (number, integer only) inclusive bounds on allowed vals\n * either or both may be omitted\n * - dflt: if attribute is invalid or missing, use this default\n * if dflt is provided as an argument to lib.coerce it takes precedence\n * as a convenience, returns the value it finally set\n */\nexports.coerce = function(containerIn, containerOut, attributes, attribute, dflt) {\n var opts = nestedProperty(attributes, attribute).get();\n var propIn = nestedProperty(containerIn, attribute);\n var propOut = nestedProperty(containerOut, attribute);\n var v = propIn.get();\n\n var template = containerOut._template;\n if(v === undefined && template) {\n v = nestedProperty(template, attribute).get();\n // already used the template value, so short-circuit the second check\n template = 0;\n }\n\n if(dflt === undefined) dflt = opts.dflt;\n\n /**\n * arrayOk: value MAY be an array, then we do no value checking\n * at this point, because it can be more complicated than the\n * individual form (eg. some array vals can be numbers, even if the\n * single values must be color strings)\n */\n if(opts.arrayOk && isArrayOrTypedArray(v)) {\n propOut.set(v);\n return v;\n }\n\n var coerceFunction = exports.valObjectMeta[opts.valType].coerceFunction;\n coerceFunction(v, propOut, dflt, opts);\n\n var out = propOut.get();\n // in case v was provided but invalid, try the template again so it still\n // overrides the regular default\n if(template && out === dflt && !validate(v, opts)) {\n v = nestedProperty(template, attribute).get();\n coerceFunction(v, propOut, dflt, opts);\n out = propOut.get();\n }\n return out;\n};\n\n/**\n * Variation on coerce\n *\n * Uses coerce to get attribute value if user input is valid,\n * returns attribute default if user input it not valid or\n * returns false if there is no user input.\n */\nexports.coerce2 = function(containerIn, containerOut, attributes, attribute, dflt) {\n var propIn = nestedProperty(containerIn, attribute);\n var propOut = exports.coerce(containerIn, containerOut, attributes, attribute, dflt);\n var valIn = propIn.get();\n\n return (valIn !== undefined && valIn !== null) ? propOut : false;\n};\n\n/*\n * Shortcut to coerce the three font attributes\n *\n * 'coerce' is a lib.coerce wrapper with implied first three arguments\n */\nexports.coerceFont = function(coerce, attr, dfltObj) {\n var out = {};\n\n dfltObj = dfltObj || {};\n\n out.family = coerce(attr + '.family', dfltObj.family);\n out.size = coerce(attr + '.size', dfltObj.size);\n out.color = coerce(attr + '.color', dfltObj.color);\n\n return out;\n};\n\n/** Coerce shortcut for 'hoverinfo'\n * handling 1-vs-multi-trace dflt logic\n *\n * @param {object} traceIn : user trace object\n * @param {object} traceOut : full trace object (requires _module ref)\n * @param {object} layoutOut : full layout object (require _dataLength ref)\n * @return {any} : the coerced value\n */\nexports.coerceHoverinfo = function(traceIn, traceOut, layoutOut) {\n var moduleAttrs = traceOut._module.attributes;\n var attrs = moduleAttrs.hoverinfo ? moduleAttrs : baseTraceAttrs;\n\n var valObj = attrs.hoverinfo;\n var dflt;\n\n if(layoutOut._dataLength === 1) {\n var flags = valObj.dflt === 'all' ?\n valObj.flags.slice() :\n valObj.dflt.split('+');\n\n flags.splice(flags.indexOf('name'), 1);\n dflt = flags.join('+');\n }\n\n return exports.coerce(traceIn, traceOut, attrs, 'hoverinfo', dflt);\n};\n\n/** Coerce shortcut for [un]selected.marker.opacity,\n * which has special default logic, to ensure that it corresponds to the\n * default selection behavior while allowing to be overtaken by any other\n * [un]selected attribute.\n *\n * N.B. This must be called *after* coercing all the other [un]selected attrs,\n * to give the intended result.\n *\n * @param {object} traceOut : fullData item\n * @param {function} coerce : lib.coerce wrapper with implied first three arguments\n */\nexports.coerceSelectionMarkerOpacity = function(traceOut, coerce) {\n if(!traceOut.marker) return;\n\n var mo = traceOut.marker.opacity;\n // you can still have a `marker` container with no markers if there's text\n if(mo === undefined) return;\n\n var smoDflt;\n var usmoDflt;\n\n // Don't give [un]selected.marker.opacity a default value if\n // marker.opacity is an array: handle this during style step.\n //\n // Only give [un]selected.marker.opacity a default value if you don't\n // set any other [un]selected attributes.\n if(!isArrayOrTypedArray(mo) && !traceOut.selected && !traceOut.unselected) {\n smoDflt = mo;\n usmoDflt = DESELECTDIM * mo;\n }\n\n coerce('selected.marker.opacity', smoDflt);\n coerce('unselected.marker.opacity', usmoDflt);\n};\n\nfunction validate(value, opts) {\n var valObjectDef = exports.valObjectMeta[opts.valType];\n\n if(opts.arrayOk && isArrayOrTypedArray(value)) return true;\n\n if(valObjectDef.validateFunction) {\n return valObjectDef.validateFunction(value, opts);\n }\n\n var failed = {};\n var out = failed;\n var propMock = { set: function(v) { out = v; } };\n\n // 'failed' just something mutable that won't be === anything else\n\n valObjectDef.coerceFunction(value, propMock, failed, opts);\n return out !== failed;\n}\nexports.validate = validate;\n\n\n/***/ }),\n\n/***/ \"66ac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bnsub = __webpack_require__(\"9c7c\")\n\nmodule.exports = sub\n\nfunction sub(a, b) {\n var n = a.length\n var r = new Array(n)\n for(var i=0; i= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif ( true && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {}\n\n})(Math);\n\n\n/***/ }),\n\n/***/ \"66db\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleLineShapeDefaults = __webpack_require__(\"eb07\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\nvar PTS_LINESONLY = __webpack_require__(\"de69\").PTS_LINESONLY;\n\nvar attributes = __webpack_require__(\"8a6e\");\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var len = handleRThetaDefaults(traceIn, traceOut, layout, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('thetaunit');\n coerce('mode', len < PTS_LINESONLY ? 'lines+markers' : 'lines');\n coerce('text');\n coerce('hovertext');\n if(traceOut.hoveron !== 'fills') coerce('hovertemplate');\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n handleLineShapeDefaults(traceIn, traceOut, coerce);\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true});\n }\n\n if(subTypes.hasText(traceOut)) {\n coerce('texttemplate');\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var dfltHoverOn = [];\n\n if(subTypes.hasMarkers(traceOut) || subTypes.hasText(traceOut)) {\n coerce('cliponaxis');\n coerce('marker.maxdisplayed');\n dfltHoverOn.push('points');\n }\n\n coerce('fill');\n\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);\n }\n\n if(traceOut.fill === 'tonext' || traceOut.fill === 'toself') {\n dfltHoverOn.push('fills');\n }\n coerce('hoveron', dfltHoverOn.join('+') || 'points');\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n}\n\nfunction handleRThetaDefaults(traceIn, traceOut, layout, coerce) {\n var r = coerce('r');\n var theta = coerce('theta');\n var len;\n\n if(r) {\n if(theta) {\n len = Math.min(r.length, theta.length);\n } else {\n len = r.length;\n coerce('theta0');\n coerce('dtheta');\n }\n } else {\n if(!theta) return 0;\n len = traceOut.theta.length;\n coerce('r0');\n coerce('dr');\n }\n\n traceOut._length = len;\n return len;\n}\n\nmodule.exports = {\n handleRThetaDefaults: handleRThetaDefaults,\n supplyDefaults: supplyDefaults\n};\n\n\n/***/ }),\n\n/***/ \"6726\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module parenthesis\n */\n\nfunction parse (str, opts) {\n\t// pretend non-string parsed per-se\n\tif (typeof str !== 'string') return [str]\n\n\tvar res = [str]\n\n\tif (typeof opts === 'string' || Array.isArray(opts)) {\n\t\topts = {brackets: opts}\n\t}\n\telse if (!opts) opts = {}\n\n\tvar brackets = opts.brackets ? (Array.isArray(opts.brackets) ? opts.brackets : [opts.brackets]) : ['{}', '[]', '()']\n\n\tvar escape = opts.escape || '___'\n\n\tvar flat = !!opts.flat\n\n\tbrackets.forEach(function (bracket) {\n\t\t// create parenthesis regex\n\t\tvar pRE = new RegExp(['\\\\', bracket[0], '[^\\\\', bracket[0], '\\\\', bracket[1], ']*\\\\', bracket[1]].join(''))\n\n\t\tvar ids = []\n\n\t\tfunction replaceToken(token, idx, str){\n\t\t\t// save token to res\n\t\t\tvar refId = res.push(token.slice(bracket[0].length, -bracket[1].length)) - 1\n\n\t\t\tids.push(refId)\n\n\t\t\treturn escape + refId + escape\n\t\t}\n\n\t\tres.forEach(function (str, i) {\n\t\t\tvar prevStr\n\n\t\t\t// replace paren tokens till thereโ€™s none\n\t\t\tvar a = 0\n\t\t\twhile (str != prevStr) {\n\t\t\t\tprevStr = str\n\t\t\t\tstr = str.replace(pRE, replaceToken)\n\t\t\t\tif (a++ > 10e3) throw Error('References have circular dependency. Please, check them.')\n\t\t\t}\n\n\t\t\tres[i] = str\n\t\t})\n\n\t\t// wrap found refs to brackets\n\t\tids = ids.reverse()\n\t\tres = res.map(function (str) {\n\t\t\tids.forEach(function (id) {\n\t\t\t\tstr = str.replace(new RegExp('(\\\\' + escape + id + '\\\\' + escape + ')', 'g'), bracket[0] + '$1' + bracket[1])\n\t\t\t})\n\t\t\treturn str\n\t\t})\n\t})\n\n\tvar re = new RegExp('\\\\' + escape + '([0-9]+)' + '\\\\' + escape)\n\n\t// transform references to tree\n\tfunction nest (str, refs, escape) {\n\t\tvar res = [], match\n\n\t\tvar a = 0\n\t\twhile (match = re.exec(str)) {\n\t\t\tif (a++ > 10e3) throw Error('Circular references in parenthesis')\n\n\t\t\tres.push(str.slice(0, match.index))\n\n\t\t\tres.push(nest(refs[match[1]], refs))\n\n\t\t\tstr = str.slice(match.index + match[0].length)\n\t\t}\n\n\t\tres.push(str)\n\n\t\treturn res\n\t}\n\n\treturn flat ? res : nest(res[0], res)\n}\n\nfunction stringify (arg, opts) {\n\tif (opts && opts.flat) {\n\t\tvar escape = opts && opts.escape || '___'\n\n\t\tvar str = arg[0], prevStr\n\n\t\t// pretend bad string stringified with no parentheses\n\t\tif (!str) return ''\n\n\n\t\tvar re = new RegExp('\\\\' + escape + '([0-9]+)' + '\\\\' + escape)\n\n\t\tvar a = 0\n\t\twhile (str != prevStr) {\n\t\t\tif (a++ > 10e3) throw Error('Circular references in ' + arg)\n\t\t\tprevStr = str\n\t\t\tstr = str.replace(re, replaceRef)\n\t\t}\n\n\t\treturn str\n\t}\n\n\treturn arg.reduce(function f (prev, curr) {\n\t\tif (Array.isArray(curr)) {\n\t\t\tcurr = curr.reduce(f, '')\n\t\t}\n\t\treturn prev + curr\n\t}, '')\n\n\tfunction replaceRef(match, idx){\n\t\tif (arg[idx] == null) throw Error('Reference ' + idx + 'is undefined')\n\t\treturn arg[idx]\n\t}\n}\n\nfunction parenthesis (arg, opts) {\n\tif (Array.isArray(arg)) {\n\t\treturn stringify(arg, opts)\n\t}\n\telse {\n\t\treturn parse(arg, opts)\n\t}\n}\n\nparenthesis.parse = parse\nparenthesis.stringify = stringify\n\nmodule.exports = parenthesis\n\n\n/***/ }),\n\n/***/ \"67c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar axesAttrs = __webpack_require__(\"d798\");\nvar fontAttrs = __webpack_require__(\"9845\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\n\nmodule.exports = overrideAll({\n// TODO: only right is supported currently\n// orient: {\n// valType: 'enumerated',\n// \n// values: ['left', 'right', 'top', 'bottom'],\n// dflt: 'right',\n// \n// },\n thicknessmode: {\n valType: 'enumerated',\n values: ['fraction', 'pixels'],\n \n dflt: 'pixels',\n \n },\n thickness: {\n valType: 'number',\n \n min: 0,\n dflt: 30,\n \n },\n lenmode: {\n valType: 'enumerated',\n values: ['fraction', 'pixels'],\n \n dflt: 'fraction',\n \n },\n len: {\n valType: 'number',\n min: 0,\n dflt: 1,\n \n \n },\n x: {\n valType: 'number',\n dflt: 1.02,\n min: -2,\n max: 3,\n \n \n },\n xanchor: {\n valType: 'enumerated',\n values: ['left', 'center', 'right'],\n dflt: 'left',\n \n \n },\n xpad: {\n valType: 'number',\n \n min: 0,\n dflt: 10,\n \n },\n y: {\n valType: 'number',\n \n dflt: 0.5,\n min: -2,\n max: 3,\n \n },\n yanchor: {\n valType: 'enumerated',\n values: ['top', 'middle', 'bottom'],\n \n dflt: 'middle',\n \n },\n ypad: {\n valType: 'number',\n \n min: 0,\n dflt: 10,\n \n },\n // a possible line around the bar itself\n outlinecolor: axesAttrs.linecolor,\n outlinewidth: axesAttrs.linewidth,\n // Should outlinewidth have {dflt: 0} ?\n // another possible line outside the padding and tick labels\n bordercolor: axesAttrs.linecolor,\n borderwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 0,\n \n },\n bgcolor: {\n valType: 'color',\n \n dflt: 'rgba(0,0,0,0)',\n \n },\n // tick and title properties named and function exactly as in axes\n tickmode: axesAttrs.tickmode,\n nticks: axesAttrs.nticks,\n tick0: axesAttrs.tick0,\n dtick: axesAttrs.dtick,\n tickvals: axesAttrs.tickvals,\n ticktext: axesAttrs.ticktext,\n ticks: extendFlat({}, axesAttrs.ticks, {dflt: ''}),\n ticklen: axesAttrs.ticklen,\n tickwidth: axesAttrs.tickwidth,\n tickcolor: axesAttrs.tickcolor,\n showticklabels: axesAttrs.showticklabels,\n tickfont: fontAttrs({\n \n }),\n tickangle: axesAttrs.tickangle,\n tickformat: axesAttrs.tickformat,\n tickformatstops: axesAttrs.tickformatstops,\n tickprefix: axesAttrs.tickprefix,\n showtickprefix: axesAttrs.showtickprefix,\n ticksuffix: axesAttrs.ticksuffix,\n showticksuffix: axesAttrs.showticksuffix,\n separatethousands: axesAttrs.separatethousands,\n exponentformat: axesAttrs.exponentformat,\n showexponent: axesAttrs.showexponent,\n title: {\n text: {\n valType: 'string',\n \n \n },\n font: fontAttrs({\n \n }),\n side: {\n valType: 'enumerated',\n values: ['right', 'top', 'bottom'],\n \n dflt: 'top',\n \n }\n },\n\n _deprecated: {\n title: {\n valType: 'string',\n \n \n },\n titlefont: fontAttrs({\n \n }),\n titleside: {\n valType: 'enumerated',\n values: ['right', 'top', 'bottom'],\n \n dflt: 'top',\n \n }\n }\n}, 'colorbars', 'from-root');\n\n\n/***/ }),\n\n/***/ \"67f2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\nvar attributes = __webpack_require__(\"74b4\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var len = handleLonLatDefaults(traceIn, traceOut, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('text');\n coerce('texttemplate');\n coerce('hovertext');\n coerce('hovertemplate');\n coerce('mode');\n coerce('below');\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce, {noDash: true});\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {noLine: true});\n\n // array marker.size and marker.color are only supported with circles\n var marker = traceOut.marker;\n if(marker.symbol !== 'circle') {\n if(Lib.isArrayOrTypedArray(marker.size)) marker.size = marker.size[0];\n if(Lib.isArrayOrTypedArray(marker.color)) marker.color = marker.color[0];\n }\n }\n\n if(subTypes.hasText(traceOut)) {\n handleTextDefaults(traceIn, traceOut, layout, coerce, {noSelect: true});\n }\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n }\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\nfunction handleLonLatDefaults(traceIn, traceOut, coerce) {\n var lon = coerce('lon') || [];\n var lat = coerce('lat') || [];\n var len = Math.min(lon.length, lat.length);\n traceOut._length = len;\n\n return len;\n}\n\n\n/***/ }),\n\n/***/ \"6833\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\nexports.coerceString = function(attributeDefinition, value, defaultValue) {\n if(typeof value === 'string') {\n if(value || !attributeDefinition.noBlank) return value;\n } else if(typeof value === 'number' || value === true) {\n if(!attributeDefinition.strict) return String(value);\n }\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.coerceNumber = function(attributeDefinition, value, defaultValue) {\n if(isNumeric(value)) {\n value = +value;\n\n var min = attributeDefinition.min;\n var max = attributeDefinition.max;\n var isOutOfBounds = (min !== undefined && value < min) ||\n (max !== undefined && value > max);\n\n if(!isOutOfBounds) return value;\n }\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.coerceColor = function(attributeDefinition, value, defaultValue) {\n if(tinycolor(value).isValid()) return value;\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.coerceEnumerated = function(attributeDefinition, value, defaultValue) {\n if(attributeDefinition.coerceNumber) value = +value;\n\n if(attributeDefinition.values.indexOf(value) !== -1) return value;\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.getValue = function(arrayOrScalar, index) {\n var value;\n if(!Array.isArray(arrayOrScalar)) value = arrayOrScalar;\n else if(index < arrayOrScalar.length) value = arrayOrScalar[index];\n return value;\n};\n\nexports.getLineWidth = function(trace, di) {\n var w =\n (0 < di.mlw) ? di.mlw :\n !isArrayOrTypedArray(trace.marker.line.width) ? trace.marker.line.width :\n 0;\n\n return w;\n};\n\n\n/***/ }),\n\n/***/ \"6858\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"cecf\")(\"forEach\");\n\n\n/***/ }),\n\n/***/ \"68e6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isObject = __webpack_require__(\"2160\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n\n\n/***/ }),\n\n/***/ \"6921\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar baseAttributes = __webpack_require__(\"a876\");\nvar baseLayoutAttributes = __webpack_require__(\"a685\");\nvar frameAttributes = __webpack_require__(\"a9cb\");\nvar animationAttributes = __webpack_require__(\"5b68\");\nvar configAttributes = __webpack_require__(\"3ff5\").configAttributes;\n\n// polar attributes are not part of the Registry yet\nvar polarAreaAttrs = __webpack_require__(\"fa06\");\nvar polarAxisAttrs = __webpack_require__(\"b7b8\");\n\nvar editTypes = __webpack_require__(\"cb34\");\n\nvar extendFlat = Lib.extendFlat;\nvar extendDeepAll = Lib.extendDeepAll;\nvar isPlainObject = Lib.isPlainObject;\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\nvar nestedProperty = Lib.nestedProperty;\nvar valObjectMeta = Lib.valObjectMeta;\n\nvar IS_SUBPLOT_OBJ = '_isSubplotObj';\nvar IS_LINKED_TO_ARRAY = '_isLinkedToArray';\nvar ARRAY_ATTR_REGEXPS = '_arrayAttrRegexps';\nvar DEPRECATED = '_deprecated';\nvar UNDERSCORE_ATTRS = [IS_SUBPLOT_OBJ, IS_LINKED_TO_ARRAY, ARRAY_ATTR_REGEXPS, DEPRECATED];\n\nexports.IS_SUBPLOT_OBJ = IS_SUBPLOT_OBJ;\nexports.IS_LINKED_TO_ARRAY = IS_LINKED_TO_ARRAY;\nexports.DEPRECATED = DEPRECATED;\nexports.UNDERSCORE_ATTRS = UNDERSCORE_ATTRS;\n\n/** Outputs the full plotly.js plot schema\n *\n * @return {object}\n * - defs\n * - traces\n * - layout\n * - transforms\n * - frames\n * - animations\n * - config\n */\nexports.get = function() {\n var traces = {};\n\n Registry.allTypes.concat('area').forEach(function(type) {\n traces[type] = getTraceAttributes(type);\n });\n\n var transforms = {};\n\n Object.keys(Registry.transformsRegistry).forEach(function(type) {\n transforms[type] = getTransformAttributes(type);\n });\n\n return {\n defs: {\n valObjects: valObjectMeta,\n metaKeys: UNDERSCORE_ATTRS.concat(['description', 'role', 'editType', 'impliedEdits']),\n editType: {\n traces: editTypes.traces,\n layout: editTypes.layout\n },\n impliedEdits: {\n \n }\n },\n\n traces: traces,\n layout: getLayoutAttributes(),\n\n transforms: transforms,\n\n frames: getFramesAttributes(),\n animation: formatAttributes(animationAttributes),\n\n config: formatAttributes(configAttributes)\n };\n};\n\n/**\n * Crawl the attribute tree, recursively calling a callback function\n *\n * @param {object} attrs\n * The node of the attribute tree (e.g. the root) from which recursion originates\n * @param {Function} callback\n * A callback function with the signature:\n * @callback callback\n * @param {object} attr an attribute\n * @param {String} attrName name string\n * @param {object[]} attrs all the attributes\n * @param {Number} level the recursion level, 0 at the root\n * @param {String} fullAttrString full attribute name (ie 'marker.line')\n * @param {Number} [specifiedLevel]\n * The level in the tree, in order to let the callback function detect descend or backtrack,\n * typically unsupplied (implied 0), just used by the self-recursive call.\n * The necessity arises because the tree traversal is not controlled by callback return values.\n * The decision to not use callback return values for controlling tree pruning arose from\n * the goal of keeping the crawler backwards compatible. Observe that one of the pruning conditions\n * precedes the callback call.\n * @param {string} [attrString]\n * the path to the current attribute, as an attribute string (ie 'marker.line')\n * typically unsupplied, but you may supply it if you want to disambiguate which attrs tree you\n * are starting from\n *\n * @return {object} transformOut\n * copy of transformIn that contains attribute defaults\n */\nexports.crawl = function(attrs, callback, specifiedLevel, attrString) {\n var level = specifiedLevel || 0;\n attrString = attrString || '';\n\n Object.keys(attrs).forEach(function(attrName) {\n var attr = attrs[attrName];\n\n if(UNDERSCORE_ATTRS.indexOf(attrName) !== -1) return;\n\n var fullAttrString = (attrString ? attrString + '.' : '') + attrName;\n callback(attr, attrName, attrs, level, fullAttrString);\n\n if(exports.isValObject(attr)) return;\n\n if(isPlainObject(attr) && attrName !== 'impliedEdits') {\n exports.crawl(attr, callback, level + 1, fullAttrString);\n }\n });\n};\n\n/** Is object a value object (or a container object)?\n *\n * @param {object} obj\n * @return {boolean}\n * returns true for a valid value object and\n * false for tree nodes in the attribute hierarchy\n */\nexports.isValObject = function(obj) {\n return obj && obj.valType !== undefined;\n};\n\n/**\n * Find all data array attributes in a given trace object - including\n * `arrayOk` attributes.\n *\n * @param {object} trace\n * full trace object that contains a reference to `_module.attributes`\n *\n * @return {array} arrayAttributes\n * list of array attributes for the given trace\n */\nexports.findArrayAttributes = function(trace) {\n var arrayAttributes = [];\n var stack = [];\n var isArrayStack = [];\n var baseContainer, baseAttrName;\n\n function callback(attr, attrName, attrs, level) {\n stack = stack.slice(0, level).concat([attrName]);\n isArrayStack = isArrayStack.slice(0, level).concat([attr && attr._isLinkedToArray]);\n\n var splittableAttr = (\n attr &&\n (attr.valType === 'data_array' || attr.arrayOk === true) &&\n !(stack[level - 1] === 'colorbar' && (attrName === 'ticktext' || attrName === 'tickvals'))\n );\n\n // Manually exclude 'colorbar.tickvals' and 'colorbar.ticktext' for now\n // which are declared as `valType: 'data_array'` but scale independently of\n // the coordinate arrays.\n //\n // Down the road, we might want to add a schema field (e.g `uncorrelatedArray: true`)\n // to distinguish attributes of the likes.\n\n if(!splittableAttr) return;\n\n crawlIntoTrace(baseContainer, 0, '');\n }\n\n function crawlIntoTrace(container, i, astrPartial) {\n var item = container[stack[i]];\n var newAstrPartial = astrPartial + stack[i];\n if(i === stack.length - 1) {\n if(isArrayOrTypedArray(item)) {\n arrayAttributes.push(baseAttrName + newAstrPartial);\n }\n } else {\n if(isArrayStack[i]) {\n if(Array.isArray(item)) {\n for(var j = 0; j < item.length; j++) {\n if(isPlainObject(item[j])) {\n crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');\n }\n }\n }\n } else if(isPlainObject(item)) {\n crawlIntoTrace(item, i + 1, newAstrPartial + '.');\n }\n }\n }\n\n baseContainer = trace;\n baseAttrName = '';\n exports.crawl(baseAttributes, callback);\n if(trace._module && trace._module.attributes) {\n exports.crawl(trace._module.attributes, callback);\n }\n\n var transforms = trace.transforms;\n if(transforms) {\n for(var i = 0; i < transforms.length; i++) {\n var transform = transforms[i];\n var module = transform._module;\n\n if(module) {\n baseAttrName = 'transforms[' + i + '].';\n baseContainer = transform;\n\n exports.crawl(module.attributes, callback);\n }\n }\n }\n\n return arrayAttributes;\n};\n\n/*\n * Find the valObject for one attribute in an existing trace\n *\n * @param {object} trace\n * full trace object that contains a reference to `_module.attributes`\n * @param {object} parts\n * an array of parts, like ['transforms', 1, 'value']\n * typically from nestedProperty(...).parts\n *\n * @return {object|false}\n * the valObject for this attribute, or the last found parent\n * in some cases the innermost valObject will not exist, for example\n * `valType: 'any'` attributes where we might set a part of the attribute.\n * In that case, stop at the deepest valObject we *do* find.\n */\nexports.getTraceValObject = function(trace, parts) {\n var head = parts[0];\n var i = 1; // index to start recursing from\n var moduleAttrs, valObject;\n\n if(head === 'transforms') {\n if(parts.length === 1) {\n return baseAttributes.transforms;\n }\n var transforms = trace.transforms;\n if(!Array.isArray(transforms) || !transforms.length) return false;\n var tNum = parts[1];\n if(!isIndex(tNum) || tNum >= transforms.length) {\n return false;\n }\n moduleAttrs = (Registry.transformsRegistry[transforms[tNum].type] || {}).attributes;\n valObject = moduleAttrs && moduleAttrs[parts[2]];\n i = 3; // start recursing only inside the transform\n } else if(trace.type === 'area') {\n valObject = polarAreaAttrs[head];\n } else {\n // first look in the module for this trace\n // components have already merged their trace attributes in here\n var _module = trace._module;\n if(!_module) _module = (Registry.modules[trace.type || baseAttributes.type.dflt] || {})._module;\n if(!_module) return false;\n\n moduleAttrs = _module.attributes;\n valObject = moduleAttrs && moduleAttrs[head];\n\n // then look in the subplot attributes\n if(!valObject) {\n var subplotModule = _module.basePlotModule;\n if(subplotModule && subplotModule.attributes) {\n valObject = subplotModule.attributes[head];\n }\n }\n\n // finally look in the global attributes\n if(!valObject) valObject = baseAttributes[head];\n }\n\n return recurseIntoValObject(valObject, parts, i);\n};\n\n/*\n * Find the valObject for one layout attribute\n *\n * @param {array} parts\n * an array of parts, like ['annotations', 1, 'x']\n * typically from nestedProperty(...).parts\n *\n * @return {object|false}\n * the valObject for this attribute, or the last found parent\n * in some cases the innermost valObject will not exist, for example\n * `valType: 'any'` attributes where we might set a part of the attribute.\n * In that case, stop at the deepest valObject we *do* find.\n */\nexports.getLayoutValObject = function(fullLayout, parts) {\n var valObject = layoutHeadAttr(fullLayout, parts[0]);\n\n return recurseIntoValObject(valObject, parts, 1);\n};\n\nfunction layoutHeadAttr(fullLayout, head) {\n var i, key, _module, attributes;\n\n // look for attributes of the subplot types used on the plot\n var basePlotModules = fullLayout._basePlotModules;\n if(basePlotModules) {\n var out;\n for(i = 0; i < basePlotModules.length; i++) {\n _module = basePlotModules[i];\n if(_module.attrRegex && _module.attrRegex.test(head)) {\n // if a module defines overrides, these take precedence\n // initially this is to allow gl2d different editTypes from svg cartesian\n if(_module.layoutAttrOverrides) return _module.layoutAttrOverrides;\n\n // otherwise take the first attributes we find\n if(!out && _module.layoutAttributes) out = _module.layoutAttributes;\n }\n\n // a module can also override the behavior of base (and component) module layout attrs\n // again see gl2d for initial use case\n var baseOverrides = _module.baseLayoutAttrOverrides;\n if(baseOverrides && head in baseOverrides) return baseOverrides[head];\n }\n if(out) return out;\n }\n\n // look for layout attributes contributed by traces on the plot\n var modules = fullLayout._modules;\n if(modules) {\n for(i = 0; i < modules.length; i++) {\n attributes = modules[i].layoutAttributes;\n if(attributes && head in attributes) {\n return attributes[head];\n }\n }\n }\n\n /*\n * Next look in components.\n * Components that define a schema have already merged this into\n * base and subplot attribute defs, so ignore these.\n * Others (older style) all put all their attributes\n * inside a container matching the module `name`\n * eg `attributes` (array) or `legend` (object)\n */\n for(key in Registry.componentsRegistry) {\n _module = Registry.componentsRegistry[key];\n if(_module.name === 'colorscale' && head.indexOf('coloraxis') === 0) {\n return _module.layoutAttributes[head];\n } else if(!_module.schema && (head === _module.name)) {\n return _module.layoutAttributes;\n }\n }\n\n if(head in baseLayoutAttributes) return baseLayoutAttributes[head];\n\n // Polar doesn't populate _modules or _basePlotModules\n // just fall back on these when the others fail\n if(head === 'radialaxis' || head === 'angularaxis') {\n return polarAxisAttrs[head];\n }\n return polarAxisAttrs.layout[head] || false;\n}\n\nfunction recurseIntoValObject(valObject, parts, i) {\n if(!valObject) return false;\n\n if(valObject._isLinkedToArray) {\n // skip array index, abort if we try to dive into an array without an index\n if(isIndex(parts[i])) i++;\n else if(i < parts.length) return false;\n }\n\n // now recurse as far as we can. Occasionally we have an attribute\n // setting an internal part below what's in the schema; just return\n // the innermost schema item we find.\n for(; i < parts.length; i++) {\n var newValObject = valObject[parts[i]];\n if(isPlainObject(newValObject)) valObject = newValObject;\n else break;\n\n if(i === parts.length - 1) break;\n\n if(valObject._isLinkedToArray) {\n i++;\n if(!isIndex(parts[i])) return false;\n } else if(valObject.valType === 'info_array') {\n i++;\n var index = parts[i];\n if(!isIndex(index)) return false;\n\n var items = valObject.items;\n if(Array.isArray(items)) {\n if(index >= items.length) return false;\n if(valObject.dimensions === 2) {\n i++;\n if(parts.length === i) return valObject;\n var index2 = parts[i];\n if(!isIndex(index2)) return false;\n valObject = items[index][index2];\n } else valObject = items[index];\n } else {\n valObject = items;\n }\n }\n }\n\n return valObject;\n}\n\n// note: this is different from Lib.isIndex, this one doesn't accept numeric\n// strings, only actual numbers.\nfunction isIndex(val) {\n return val === Math.round(val) && val >= 0;\n}\n\nfunction getTraceAttributes(type) {\n var _module, basePlotModule;\n\n if(type === 'area') {\n _module = { attributes: polarAreaAttrs };\n basePlotModule = {};\n } else {\n _module = Registry.modules[type]._module,\n basePlotModule = _module.basePlotModule;\n }\n\n var attributes = {};\n\n // make 'type' the first attribute in the object\n attributes.type = null;\n\n var copyBaseAttributes = extendDeepAll({}, baseAttributes);\n var copyModuleAttributes = extendDeepAll({}, _module.attributes);\n\n // prune global-level trace attributes that are already defined in a trace\n exports.crawl(copyModuleAttributes, function(attr, attrName, attrs, level, fullAttrString) {\n nestedProperty(copyBaseAttributes, fullAttrString).set(undefined);\n // Prune undefined attributes\n if(attr === undefined) nestedProperty(copyModuleAttributes, fullAttrString).set(undefined);\n });\n\n // base attributes (same for all trace types)\n extendDeepAll(attributes, copyBaseAttributes);\n\n // prune-out base attributes based on trace module categories\n if(Registry.traceIs(type, 'noOpacity')) {\n delete attributes.opacity;\n }\n if(!Registry.traceIs(type, 'showLegend')) {\n delete attributes.showlegend;\n delete attributes.legendgroup;\n }\n if(Registry.traceIs(type, 'noHover')) {\n delete attributes.hoverinfo;\n delete attributes.hoverlabel;\n }\n if(!_module.selectPoints) {\n delete attributes.selectedpoints;\n }\n\n // module attributes\n extendDeepAll(attributes, copyModuleAttributes);\n\n // subplot attributes\n if(basePlotModule.attributes) {\n extendDeepAll(attributes, basePlotModule.attributes);\n }\n\n // 'type' gets overwritten by baseAttributes; reset it here\n attributes.type = type;\n\n var out = {\n meta: _module.meta || {},\n categories: _module.categories || {},\n animatable: Boolean(_module.animatable),\n type: type,\n attributes: formatAttributes(attributes),\n };\n\n // trace-specific layout attributes\n if(_module.layoutAttributes) {\n var layoutAttributes = {};\n\n extendDeepAll(layoutAttributes, _module.layoutAttributes);\n out.layoutAttributes = formatAttributes(layoutAttributes);\n }\n\n // drop anim:true in non-animatable modules\n if(!_module.animatable) {\n exports.crawl(out, function(attr) {\n if(exports.isValObject(attr) && 'anim' in attr) {\n delete attr.anim;\n }\n });\n }\n\n return out;\n}\n\nfunction getLayoutAttributes() {\n var layoutAttributes = {};\n var key, _module;\n\n // global layout attributes\n extendDeepAll(layoutAttributes, baseLayoutAttributes);\n\n // add base plot module layout attributes\n for(key in Registry.subplotsRegistry) {\n _module = Registry.subplotsRegistry[key];\n\n if(!_module.layoutAttributes) continue;\n\n if(Array.isArray(_module.attr)) {\n for(var i = 0; i < _module.attr.length; i++) {\n handleBasePlotModule(layoutAttributes, _module, _module.attr[i]);\n }\n } else {\n var astr = _module.attr === 'subplot' ? _module.name : _module.attr;\n handleBasePlotModule(layoutAttributes, _module, astr);\n }\n }\n\n // polar layout attributes\n layoutAttributes = assignPolarLayoutAttrs(layoutAttributes);\n\n // add registered components layout attributes\n for(key in Registry.componentsRegistry) {\n _module = Registry.componentsRegistry[key];\n var schema = _module.schema;\n\n if(schema && (schema.subplots || schema.layout)) {\n /*\n * Components with defined schema have already been merged in at register time\n * but a few components define attributes that apply only to xaxis\n * not yaxis (rangeselector, rangeslider) - delete from y schema.\n * Note that the input attributes for xaxis/yaxis are the same object\n * so it's not possible to only add them to xaxis from the start.\n * If we ever have such asymmetry the other way, or anywhere else,\n * we will need to extend both this code and mergeComponentAttrsToSubplot\n * (which will not find yaxis only for example)\n */\n var subplots = schema.subplots;\n if(subplots && subplots.xaxis && !subplots.yaxis) {\n for(var xkey in subplots.xaxis) {\n delete layoutAttributes.yaxis[xkey];\n }\n }\n } else if(_module.name === 'colorscale') {\n extendDeepAll(layoutAttributes, _module.layoutAttributes);\n } else if(_module.layoutAttributes) {\n // older style without schema need to be explicitly merged in now\n insertAttrs(layoutAttributes, _module.layoutAttributes, _module.name);\n }\n }\n\n return {\n layoutAttributes: formatAttributes(layoutAttributes)\n };\n}\n\nfunction getTransformAttributes(type) {\n var _module = Registry.transformsRegistry[type];\n var attributes = extendDeepAll({}, _module.attributes);\n\n // add registered components transform attributes\n Object.keys(Registry.componentsRegistry).forEach(function(k) {\n var _module = Registry.componentsRegistry[k];\n\n if(_module.schema && _module.schema.transforms && _module.schema.transforms[type]) {\n Object.keys(_module.schema.transforms[type]).forEach(function(v) {\n insertAttrs(attributes, _module.schema.transforms[type][v], v);\n });\n }\n });\n\n return {\n attributes: formatAttributes(attributes)\n };\n}\n\nfunction getFramesAttributes() {\n var attrs = {\n frames: extendDeepAll({}, frameAttributes)\n };\n\n formatAttributes(attrs);\n\n return attrs.frames;\n}\n\nfunction formatAttributes(attrs) {\n mergeValTypeAndRole(attrs);\n formatArrayContainers(attrs);\n stringify(attrs);\n\n return attrs;\n}\n\nfunction mergeValTypeAndRole(attrs) {\n function makeSrcAttr(attrName) {\n return {\n valType: 'string',\n \n \n editType: 'none'\n };\n }\n\n function callback(attr, attrName, attrs) {\n if(exports.isValObject(attr)) {\n if(attr.valType === 'data_array') {\n // all 'data_array' attrs have role 'data'\n attr.role = 'data';\n // all 'data_array' attrs have a corresponding 'src' attr\n attrs[attrName + 'src'] = makeSrcAttr(attrName);\n } else if(attr.arrayOk === true) {\n // all 'arrayOk' attrs have a corresponding 'src' attr\n attrs[attrName + 'src'] = makeSrcAttr(attrName);\n }\n } else if(isPlainObject(attr)) {\n // all attrs container objects get role 'object'\n attr.role = 'object';\n }\n }\n\n exports.crawl(attrs, callback);\n}\n\nfunction formatArrayContainers(attrs) {\n function callback(attr, attrName, attrs) {\n if(!attr) return;\n\n var itemName = attr[IS_LINKED_TO_ARRAY];\n\n if(!itemName) return;\n\n delete attr[IS_LINKED_TO_ARRAY];\n\n attrs[attrName] = { items: {} };\n attrs[attrName].items[itemName] = attr;\n attrs[attrName].role = 'object';\n }\n\n exports.crawl(attrs, callback);\n}\n\n// this can take around 10ms and should only be run from PlotSchema.get(),\n// to ensure JSON.stringify(PlotSchema.get()) gives the intended result.\nfunction stringify(attrs) {\n function walk(attr) {\n for(var k in attr) {\n if(isPlainObject(attr[k])) {\n walk(attr[k]);\n } else if(Array.isArray(attr[k])) {\n for(var i = 0; i < attr[k].length; i++) {\n walk(attr[k][i]);\n }\n } else {\n // as JSON.stringify(/test/) // => {}\n if(attr[k] instanceof RegExp) {\n attr[k] = attr[k].toString();\n }\n }\n }\n }\n\n walk(attrs);\n}\n\nfunction assignPolarLayoutAttrs(layoutAttributes) {\n extendFlat(layoutAttributes, {\n radialaxis: polarAxisAttrs.radialaxis,\n angularaxis: polarAxisAttrs.angularaxis\n });\n\n extendFlat(layoutAttributes, polarAxisAttrs.layout);\n\n return layoutAttributes;\n}\n\nfunction handleBasePlotModule(layoutAttributes, _module, astr) {\n var np = nestedProperty(layoutAttributes, astr);\n var attrs = extendDeepAll({}, _module.layoutAttributes);\n\n attrs[IS_SUBPLOT_OBJ] = true;\n np.set(attrs);\n}\n\nfunction insertAttrs(baseAttrs, newAttrs, astr) {\n var np = nestedProperty(baseAttrs, astr);\n\n np.set(extendDeepAll(np.get() || {}, newAttrs));\n}\n\n\n/***/ }),\n\n/***/ \"692b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n\n\n/***/ }),\n\n/***/ \"6954\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Colorscale = __webpack_require__(\"c258\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar Axes = __webpack_require__(\"0642\");\nvar setConvert = __webpack_require__(\"1a40\");\n\nvar heatmapPlot = __webpack_require__(\"fa8a\");\nvar makeCrossings = __webpack_require__(\"da89\");\nvar findAllPaths = __webpack_require__(\"f50a\");\nvar emptyPathinfo = __webpack_require__(\"3511\");\nvar convertToConstraints = __webpack_require__(\"849d\");\nvar closeBoundaries = __webpack_require__(\"c997\");\nvar constants = __webpack_require__(\"8e43\");\nvar costConstants = constants.LABELOPTIMIZER;\n\nexports.plot = function plot(gd, plotinfo, cdcontours, contourLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(contourLayer, cdcontours, 'contour').each(function(cd) {\n var plotGroup = d3.select(this);\n var cd0 = cd[0];\n var trace = cd0.trace;\n var x = cd0.x;\n var y = cd0.y;\n var contours = trace.contours;\n var pathinfo = emptyPathinfo(contours, plotinfo, cd0);\n\n // use a heatmap to fill - draw it behind the lines\n var heatmapColoringLayer = Lib.ensureSingle(plotGroup, 'g', 'heatmapcoloring');\n var cdheatmaps = [];\n if(contours.coloring === 'heatmap') {\n cdheatmaps = [cd];\n }\n heatmapPlot(gd, plotinfo, cdheatmaps, heatmapColoringLayer);\n\n makeCrossings(pathinfo);\n findAllPaths(pathinfo);\n\n var leftedge = xa.c2p(x[0], true);\n var rightedge = xa.c2p(x[x.length - 1], true);\n var bottomedge = ya.c2p(y[0], true);\n var topedge = ya.c2p(y[y.length - 1], true);\n var perimeter = [\n [leftedge, topedge],\n [rightedge, topedge],\n [rightedge, bottomedge],\n [leftedge, bottomedge]\n ];\n\n var fillPathinfo = pathinfo;\n if(contours.type === 'constraint') {\n // N.B. this also mutates pathinfo\n fillPathinfo = convertToConstraints(pathinfo, contours._operation);\n }\n\n // draw everything\n makeBackground(plotGroup, perimeter, contours);\n makeFills(plotGroup, fillPathinfo, perimeter, contours);\n makeLinesAndLabels(plotGroup, pathinfo, gd, cd0, contours);\n clipGaps(plotGroup, plotinfo, gd, cd0, perimeter);\n });\n};\n\nfunction makeBackground(plotgroup, perimeter, contours) {\n var bggroup = Lib.ensureSingle(plotgroup, 'g', 'contourbg');\n\n var bgfill = bggroup.selectAll('path')\n .data(contours.coloring === 'fill' ? [0] : []);\n bgfill.enter().append('path');\n bgfill.exit().remove();\n bgfill\n .attr('d', 'M' + perimeter.join('L') + 'Z')\n .style('stroke', 'none');\n}\n\nfunction makeFills(plotgroup, pathinfo, perimeter, contours) {\n var hasFills = contours.coloring === 'fill' || (contours.type === 'constraint' && contours._operation !== '=');\n var boundaryPath = 'M' + perimeter.join('L') + 'Z';\n\n // fills prefixBoundary in pathinfo items\n if(hasFills) {\n closeBoundaries(pathinfo, contours);\n }\n\n var fillgroup = Lib.ensureSingle(plotgroup, 'g', 'contourfill');\n\n var fillitems = fillgroup.selectAll('path').data(hasFills ? pathinfo : []);\n fillitems.enter().append('path');\n fillitems.exit().remove();\n fillitems.each(function(pi) {\n // join all paths for this level together into a single path\n // first follow clockwise around the perimeter to close any open paths\n // if the whole perimeter is above this level, start with a path\n // enclosing the whole thing. With all that, the parity should mean\n // that we always fill everything above the contour, nothing below\n var fullpath = (pi.prefixBoundary ? boundaryPath : '') +\n joinAllPaths(pi, perimeter);\n\n if(!fullpath) {\n d3.select(this).remove();\n } else {\n d3.select(this)\n .attr('d', fullpath)\n .style('stroke', 'none');\n }\n });\n}\n\nfunction joinAllPaths(pi, perimeter) {\n var fullpath = '';\n var i = 0;\n var startsleft = pi.edgepaths.map(function(v, i) { return i; });\n var newloop = true;\n var endpt;\n var newendpt;\n var cnt;\n var nexti;\n var possiblei;\n var addpath;\n\n function istop(pt) { return Math.abs(pt[1] - perimeter[0][1]) < 0.01; }\n function isbottom(pt) { return Math.abs(pt[1] - perimeter[2][1]) < 0.01; }\n function isleft(pt) { return Math.abs(pt[0] - perimeter[0][0]) < 0.01; }\n function isright(pt) { return Math.abs(pt[0] - perimeter[2][0]) < 0.01; }\n\n while(startsleft.length) {\n addpath = Drawing.smoothopen(pi.edgepaths[i], pi.smoothing);\n fullpath += newloop ? addpath : addpath.replace(/^M/, 'L');\n startsleft.splice(startsleft.indexOf(i), 1);\n endpt = pi.edgepaths[i][pi.edgepaths[i].length - 1];\n nexti = -1;\n\n // now loop through sides, moving our endpoint until we find a new start\n for(cnt = 0; cnt < 4; cnt++) { // just to prevent infinite loops\n if(!endpt) {\n Lib.log('Missing end?', i, pi);\n break;\n }\n\n if(istop(endpt) && !isright(endpt)) newendpt = perimeter[1]; // right top\n else if(isleft(endpt)) newendpt = perimeter[0]; // left top\n else if(isbottom(endpt)) newendpt = perimeter[3]; // right bottom\n else if(isright(endpt)) newendpt = perimeter[2]; // left bottom\n\n for(possiblei = 0; possiblei < pi.edgepaths.length; possiblei++) {\n var ptNew = pi.edgepaths[possiblei][0];\n // is ptNew on the (horz. or vert.) segment from endpt to newendpt?\n if(Math.abs(endpt[0] - newendpt[0]) < 0.01) {\n if(Math.abs(endpt[0] - ptNew[0]) < 0.01 &&\n (ptNew[1] - endpt[1]) * (newendpt[1] - ptNew[1]) >= 0) {\n newendpt = ptNew;\n nexti = possiblei;\n }\n } else if(Math.abs(endpt[1] - newendpt[1]) < 0.01) {\n if(Math.abs(endpt[1] - ptNew[1]) < 0.01 &&\n (ptNew[0] - endpt[0]) * (newendpt[0] - ptNew[0]) >= 0) {\n newendpt = ptNew;\n nexti = possiblei;\n }\n } else {\n Lib.log('endpt to newendpt is not vert. or horz.',\n endpt, newendpt, ptNew);\n }\n }\n\n endpt = newendpt;\n\n if(nexti >= 0) break;\n fullpath += 'L' + newendpt;\n }\n\n if(nexti === pi.edgepaths.length) {\n Lib.log('unclosed perimeter path');\n break;\n }\n\n i = nexti;\n\n // if we closed back on a loop we already included,\n // close it and start a new loop\n newloop = (startsleft.indexOf(i) === -1);\n if(newloop) {\n i = startsleft[0];\n fullpath += 'Z';\n }\n }\n\n // finally add the interior paths\n for(i = 0; i < pi.paths.length; i++) {\n fullpath += Drawing.smoothclosed(pi.paths[i], pi.smoothing);\n }\n\n return fullpath;\n}\n\nfunction makeLinesAndLabels(plotgroup, pathinfo, gd, cd0, contours) {\n var lineContainer = Lib.ensureSingle(plotgroup, 'g', 'contourlines');\n var showLines = contours.showlines !== false;\n var showLabels = contours.showlabels;\n var clipLinesForLabels = showLines && showLabels;\n\n // Even if we're not going to show lines, we need to create them\n // if we're showing labels, because the fill paths include the perimeter\n // so can't be used to position the labels correctly.\n // In this case we'll remove the lines after making the labels.\n var linegroup = exports.createLines(lineContainer, showLines || showLabels, pathinfo);\n\n var lineClip = exports.createLineClip(lineContainer, clipLinesForLabels, gd, cd0.trace.uid);\n\n var labelGroup = plotgroup.selectAll('g.contourlabels')\n .data(showLabels ? [0] : []);\n\n labelGroup.exit().remove();\n\n labelGroup.enter().append('g')\n .classed('contourlabels', true);\n\n if(showLabels) {\n var labelClipPathData = [];\n var labelData = [];\n\n // invalidate the getTextLocation cache in case paths changed\n Lib.clearLocationCache();\n\n var contourFormat = exports.labelFormatter(gd, cd0);\n\n var dummyText = Drawing.tester.append('text')\n .attr('data-notex', 1)\n .call(Drawing.font, contours.labelfont);\n\n var xa = pathinfo[0].xaxis;\n var ya = pathinfo[0].yaxis;\n var xLen = xa._length;\n var yLen = ya._length;\n var xRng = xa.range;\n var yRng = ya.range;\n var xMin = Lib.aggNums(Math.min, null, cd0.x);\n var xMax = Lib.aggNums(Math.max, null, cd0.x);\n var yMin = Lib.aggNums(Math.min, null, cd0.y);\n var yMax = Lib.aggNums(Math.max, null, cd0.y);\n var x0 = Math.max(xa.c2p(xMin, true), 0);\n var x1 = Math.min(xa.c2p(xMax, true), xLen);\n var y0 = Math.max(ya.c2p(yMax, true), 0);\n var y1 = Math.min(ya.c2p(yMin, true), yLen);\n\n // visible bounds of the contour trace (and the midpoints, to\n // help with cost calculations)\n var bounds = {};\n\n if(xRng[0] < xRng[1]) {\n bounds.left = x0;\n bounds.right = x1;\n } else {\n bounds.left = x1;\n bounds.right = x0;\n }\n\n if(yRng[0] < yRng[1]) {\n bounds.top = y0;\n bounds.bottom = y1;\n } else {\n bounds.top = y1;\n bounds.bottom = y0;\n }\n\n bounds.middle = (bounds.top + bounds.bottom) / 2;\n bounds.center = (bounds.left + bounds.right) / 2;\n\n labelClipPathData.push([\n [bounds.left, bounds.top],\n [bounds.right, bounds.top],\n [bounds.right, bounds.bottom],\n [bounds.left, bounds.bottom]\n ]);\n\n var plotDiagonal = Math.sqrt(xLen * xLen + yLen * yLen);\n\n // the path length to use to scale the number of labels to draw:\n var normLength = constants.LABELDISTANCE * plotDiagonal /\n Math.max(1, pathinfo.length / constants.LABELINCREASE);\n\n linegroup.each(function(d) {\n var textOpts = exports.calcTextOpts(d.level, contourFormat, dummyText, gd);\n\n d3.select(this).selectAll('path').each(function() {\n var path = this;\n var pathBounds = Lib.getVisibleSegment(path, bounds, textOpts.height / 2);\n if(!pathBounds) return;\n\n if(pathBounds.len < (textOpts.width + textOpts.height) * constants.LABELMIN) return;\n\n var maxLabels = Math.min(Math.ceil(pathBounds.len / normLength),\n constants.LABELMAX);\n\n for(var i = 0; i < maxLabels; i++) {\n var loc = exports.findBestTextLocation(path, pathBounds, textOpts,\n labelData, bounds);\n\n if(!loc) break;\n\n exports.addLabelData(loc, textOpts, labelData, labelClipPathData);\n }\n });\n });\n\n dummyText.remove();\n\n exports.drawLabels(labelGroup, labelData, gd, lineClip,\n clipLinesForLabels ? labelClipPathData : null);\n }\n\n if(showLabels && !showLines) linegroup.remove();\n}\n\nexports.createLines = function(lineContainer, makeLines, pathinfo) {\n var smoothing = pathinfo[0].smoothing;\n\n var linegroup = lineContainer.selectAll('g.contourlevel')\n .data(makeLines ? pathinfo : []);\n\n linegroup.exit().remove();\n linegroup.enter().append('g')\n .classed('contourlevel', true);\n\n if(makeLines) {\n // pedgepaths / ppaths are used by contourcarpet, for the paths transformed from a/b to x/y\n // edgepaths / paths are used by contour since it's in x/y from the start\n var opencontourlines = linegroup.selectAll('path.openline')\n .data(function(d) { return d.pedgepaths || d.edgepaths; });\n\n opencontourlines.exit().remove();\n opencontourlines.enter().append('path')\n .classed('openline', true);\n\n opencontourlines\n .attr('d', function(d) {\n return Drawing.smoothopen(d, smoothing);\n })\n .style('stroke-miterlimit', 1)\n .style('vector-effect', 'non-scaling-stroke');\n\n var closedcontourlines = linegroup.selectAll('path.closedline')\n .data(function(d) { return d.ppaths || d.paths; });\n\n closedcontourlines.exit().remove();\n closedcontourlines.enter().append('path')\n .classed('closedline', true);\n\n closedcontourlines\n .attr('d', function(d) {\n return Drawing.smoothclosed(d, smoothing);\n })\n .style('stroke-miterlimit', 1)\n .style('vector-effect', 'non-scaling-stroke');\n }\n\n return linegroup;\n};\n\nexports.createLineClip = function(lineContainer, clipLinesForLabels, gd, uid) {\n var clips = gd._fullLayout._clips;\n var clipId = clipLinesForLabels ? ('clipline' + uid) : null;\n\n var lineClip = clips.selectAll('#' + clipId)\n .data(clipLinesForLabels ? [0] : []);\n lineClip.exit().remove();\n\n lineClip.enter().append('clipPath')\n .classed('contourlineclip', true)\n .attr('id', clipId);\n\n Drawing.setClipUrl(lineContainer, clipId, gd);\n\n return lineClip;\n};\n\nexports.labelFormatter = function(gd, cd0) {\n var fullLayout = gd._fullLayout;\n var trace = cd0.trace;\n var contours = trace.contours;\n\n if(contours.labelformat) {\n return fullLayout._d3locale.numberFormat(contours.labelformat);\n } else {\n var formatAxis;\n var cOpts = Colorscale.extractOpts(trace);\n if(cOpts && cOpts.colorbar && cOpts.colorbar._axis) {\n formatAxis = cOpts.colorbar._axis;\n } else {\n formatAxis = {\n type: 'linear',\n _id: 'ycontour',\n showexponent: 'all',\n exponentformat: 'B'\n };\n\n if(contours.type === 'constraint') {\n var value = contours.value;\n if(Array.isArray(value)) {\n formatAxis.range = [value[0], value[value.length - 1]];\n } else formatAxis.range = [value, value];\n } else {\n formatAxis.range = [contours.start, contours.end];\n formatAxis.nticks = (contours.end - contours.start) / contours.size;\n }\n\n if(formatAxis.range[0] === formatAxis.range[1]) {\n formatAxis.range[1] += formatAxis.range[0] || 1;\n }\n if(!formatAxis.nticks) formatAxis.nticks = 1000;\n\n setConvert(formatAxis, fullLayout);\n Axes.prepTicks(formatAxis);\n formatAxis._tmin = null;\n formatAxis._tmax = null;\n }\n return function(v) {\n return Axes.tickText(formatAxis, v).text;\n };\n }\n};\n\nexports.calcTextOpts = function(level, contourFormat, dummyText, gd) {\n var text = contourFormat(level);\n dummyText.text(text)\n .call(svgTextUtils.convertToTspans, gd);\n var bBox = Drawing.bBox(dummyText.node(), true);\n\n return {\n text: text,\n width: bBox.width,\n height: bBox.height,\n level: level,\n dy: (bBox.top + bBox.bottom) / 2\n };\n};\n\nexports.findBestTextLocation = function(path, pathBounds, textOpts, labelData, plotBounds) {\n var textWidth = textOpts.width;\n\n var p0, dp, pMax, pMin, loc;\n if(pathBounds.isClosed) {\n dp = pathBounds.len / costConstants.INITIALSEARCHPOINTS;\n p0 = pathBounds.min + dp / 2;\n pMax = pathBounds.max;\n } else {\n dp = (pathBounds.len - textWidth) / (costConstants.INITIALSEARCHPOINTS + 1);\n p0 = pathBounds.min + dp + textWidth / 2;\n pMax = pathBounds.max - (dp + textWidth) / 2;\n }\n\n var cost = Infinity;\n for(var j = 0; j < costConstants.ITERATIONS; j++) {\n for(var p = p0; p < pMax; p += dp) {\n var newLocation = Lib.getTextLocation(path, pathBounds.total, p, textWidth);\n var newCost = locationCost(newLocation, textOpts, labelData, plotBounds);\n if(newCost < cost) {\n cost = newCost;\n loc = newLocation;\n pMin = p;\n }\n }\n if(cost > costConstants.MAXCOST * 2) break;\n\n // subsequent iterations just look half steps away from the\n // best we found in the previous iteration\n if(j) dp /= 2;\n p0 = pMin - dp / 2;\n pMax = p0 + dp * 1.5;\n }\n if(cost <= costConstants.MAXCOST) return loc;\n};\n\n/*\n * locationCost: a cost function for label locations\n * composed of three kinds of penalty:\n * - for open paths, being close to the end of the path\n * - the angle away from horizontal\n * - being too close to already placed neighbors\n */\nfunction locationCost(loc, textOpts, labelData, bounds) {\n var halfWidth = textOpts.width / 2;\n var halfHeight = textOpts.height / 2;\n var x = loc.x;\n var y = loc.y;\n var theta = loc.theta;\n var dx = Math.cos(theta) * halfWidth;\n var dy = Math.sin(theta) * halfWidth;\n\n // cost for being near an edge\n var normX = ((x > bounds.center) ? (bounds.right - x) : (x - bounds.left)) /\n (dx + Math.abs(Math.sin(theta) * halfHeight));\n var normY = ((y > bounds.middle) ? (bounds.bottom - y) : (y - bounds.top)) /\n (Math.abs(dy) + Math.cos(theta) * halfHeight);\n if(normX < 1 || normY < 1) return Infinity;\n var cost = costConstants.EDGECOST * (1 / (normX - 1) + 1 / (normY - 1));\n\n // cost for not being horizontal\n cost += costConstants.ANGLECOST * theta * theta;\n\n // cost for being close to other labels\n var x1 = x - dx;\n var y1 = y - dy;\n var x2 = x + dx;\n var y2 = y + dy;\n for(var i = 0; i < labelData.length; i++) {\n var labeli = labelData[i];\n var dxd = Math.cos(labeli.theta) * labeli.width / 2;\n var dyd = Math.sin(labeli.theta) * labeli.width / 2;\n var dist = Lib.segmentDistance(\n x1, y1,\n x2, y2,\n labeli.x - dxd, labeli.y - dyd,\n labeli.x + dxd, labeli.y + dyd\n ) * 2 / (textOpts.height + labeli.height);\n\n var sameLevel = labeli.level === textOpts.level;\n var distOffset = sameLevel ? costConstants.SAMELEVELDISTANCE : 1;\n\n if(dist <= distOffset) return Infinity;\n\n var distFactor = costConstants.NEIGHBORCOST *\n (sameLevel ? costConstants.SAMELEVELFACTOR : 1);\n\n cost += distFactor / (dist - distOffset);\n }\n\n return cost;\n}\n\nexports.addLabelData = function(loc, textOpts, labelData, labelClipPathData) {\n var halfWidth = textOpts.width / 2;\n var halfHeight = textOpts.height / 2;\n\n var x = loc.x;\n var y = loc.y;\n var theta = loc.theta;\n\n var sin = Math.sin(theta);\n var cos = Math.cos(theta);\n var dxw = halfWidth * cos;\n var dxh = halfHeight * sin;\n var dyw = halfWidth * sin;\n var dyh = -halfHeight * cos;\n var bBoxPts = [\n [x - dxw - dxh, y - dyw - dyh],\n [x + dxw - dxh, y + dyw - dyh],\n [x + dxw + dxh, y + dyw + dyh],\n [x - dxw + dxh, y - dyw + dyh],\n ];\n\n labelData.push({\n text: textOpts.text,\n x: x,\n y: y,\n dy: textOpts.dy,\n theta: theta,\n level: textOpts.level,\n width: textOpts.width,\n height: textOpts.height\n });\n\n labelClipPathData.push(bBoxPts);\n};\n\nexports.drawLabels = function(labelGroup, labelData, gd, lineClip, labelClipPathData) {\n var labels = labelGroup.selectAll('text')\n .data(labelData, function(d) {\n return d.text + ',' + d.x + ',' + d.y + ',' + d.theta;\n });\n\n labels.exit().remove();\n\n labels.enter().append('text')\n .attr({\n 'data-notex': 1,\n 'text-anchor': 'middle'\n })\n .each(function(d) {\n var x = d.x + Math.sin(d.theta) * d.dy;\n var y = d.y - Math.cos(d.theta) * d.dy;\n d3.select(this)\n .text(d.text)\n .attr({\n x: x,\n y: y,\n transform: 'rotate(' + (180 * d.theta / Math.PI) + ' ' + x + ' ' + y + ')'\n })\n .call(svgTextUtils.convertToTspans, gd);\n });\n\n if(labelClipPathData) {\n var clipPath = '';\n for(var i = 0; i < labelClipPathData.length; i++) {\n clipPath += 'M' + labelClipPathData[i].join('L') + 'Z';\n }\n\n var lineClipPath = Lib.ensureSingle(lineClip, 'path', '');\n lineClipPath.attr('d', clipPath);\n }\n};\n\nfunction clipGaps(plotGroup, plotinfo, gd, cd0, perimeter) {\n var trace = cd0.trace;\n var clips = gd._fullLayout._clips;\n var clipId = 'clip' + trace.uid;\n\n var clipPath = clips.selectAll('#' + clipId)\n .data(trace.connectgaps ? [] : [0]);\n clipPath.enter().append('clipPath')\n .classed('contourclip', true)\n .attr('id', clipId);\n clipPath.exit().remove();\n\n if(trace.connectgaps === false) {\n var clipPathInfo = {\n // fraction of the way from missing to present point\n // to draw the boundary.\n // if you make this 1 (or 1-epsilon) then a point in\n // a sea of missing data will disappear entirely.\n level: 0.9,\n crossings: {},\n starts: [],\n edgepaths: [],\n paths: [],\n xaxis: plotinfo.xaxis,\n yaxis: plotinfo.yaxis,\n x: cd0.x,\n y: cd0.y,\n // 0 = no data, 1 = data\n z: makeClipMask(cd0),\n smoothing: 0\n };\n\n makeCrossings([clipPathInfo]);\n findAllPaths([clipPathInfo]);\n closeBoundaries([clipPathInfo], {type: 'levels'});\n\n var path = Lib.ensureSingle(clipPath, 'path', '');\n path.attr('d',\n (clipPathInfo.prefixBoundary ? 'M' + perimeter.join('L') + 'Z' : '') +\n joinAllPaths(clipPathInfo, perimeter)\n );\n } else clipId = null;\n\n Drawing.setClipUrl(plotGroup, clipId, gd);\n}\n\nfunction makeClipMask(cd0) {\n var empties = cd0.trace._emptypoints;\n var z = [];\n var m = cd0.z.length;\n var n = cd0.z[0].length;\n var i;\n var row = [];\n var emptyPoint;\n\n for(i = 0; i < n; i++) row.push(1);\n for(i = 0; i < m; i++) z.push(row.slice());\n for(i = 0; i < empties.length; i++) {\n emptyPoint = empties[i];\n z[emptyPoint[0]][emptyPoint[1]] = 0;\n }\n // save this mask to determine whether to show this data in hover\n cd0.zmask = z;\n return z;\n}\n\n\n/***/ }),\n\n/***/ \"6962\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Registry = __webpack_require__(\"371e\");\nvar appendArrayPointValue = __webpack_require__(\"c4c7\").appendArrayPointValue;\nvar Fx = __webpack_require__(\"a5c4\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Events = __webpack_require__(\"8741\");\n\nvar helpers = __webpack_require__(\"fb56\");\nvar pieHelpers = __webpack_require__(\"59e0\");\n\nvar formatValue = pieHelpers.formatPieValue;\n\nmodule.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {\n var cd0 = cd[0];\n var trace = cd0.trace;\n var hierarchy = cd0.hierarchy;\n\n var isSunburst = trace.type === 'sunburst';\n var isTreemap = trace.type === 'treemap';\n\n // hover state vars\n // have we drawn a hover label, so it should be cleared later\n if(!('_hasHoverLabel' in trace)) trace._hasHoverLabel = false;\n // have we emitted a hover event, so later an unhover event should be emitted\n // note that click events do not depend on this - you can still get them\n // with hovermode: false or if you were earlier dragging, then clicked\n // in the same slice that you moused up in\n if(!('_hasHoverEvent' in trace)) trace._hasHoverEvent = false;\n\n var onMouseOver = function(pt) {\n var fullLayoutNow = gd._fullLayout;\n\n if(gd._dragging || fullLayoutNow.hovermode === false) return;\n\n var traceNow = gd._fullData[trace.index];\n var cdi = pt.data.data;\n var ptNumber = cdi.i;\n var isRoot = helpers.isHierarchyRoot(pt);\n var parent = helpers.getParent(hierarchy, pt);\n\n var val = helpers.getValue(pt);\n\n var _cast = function(astr) {\n return Lib.castOption(traceNow, ptNumber, astr);\n };\n\n var hovertemplate = _cast('hovertemplate');\n var hoverinfo = Fx.castHoverinfo(traceNow, fullLayoutNow, ptNumber);\n var separators = fullLayoutNow.separators;\n\n if(hovertemplate || (hoverinfo && hoverinfo !== 'none' && hoverinfo !== 'skip')) {\n var hoverCenterX;\n var hoverCenterY;\n if(isSunburst) {\n hoverCenterX = cd0.cx + pt.pxmid[0] * (1 - pt.rInscribed);\n hoverCenterY = cd0.cy + pt.pxmid[1] * (1 - pt.rInscribed);\n }\n if(isTreemap) {\n hoverCenterX = pt._hoverX;\n hoverCenterY = pt._hoverY;\n }\n\n var hoverPt = {};\n var parts = [];\n var thisText = [];\n var hasFlag = function(flag) { return parts.indexOf(flag) !== -1; };\n\n if(hoverinfo) {\n parts = hoverinfo === 'all' ?\n traceNow._module.attributes.hoverinfo.flags :\n hoverinfo.split('+');\n }\n\n hoverPt.label = cdi.label;\n if(hasFlag('label') && hoverPt.label) thisText.push(hoverPt.label);\n\n if(cdi.hasOwnProperty('v')) {\n hoverPt.value = cdi.v;\n hoverPt.valueLabel = formatValue(hoverPt.value, separators);\n if(hasFlag('value')) thisText.push(hoverPt.valueLabel);\n }\n\n hoverPt.currentPath = pt.currentPath = helpers.getPath(pt.data);\n if(hasFlag('current path') && !isRoot) {\n thisText.push(hoverPt.currentPath);\n }\n\n var tx;\n var allPercents = [];\n var insertPercent = function() {\n if(allPercents.indexOf(tx) === -1) { // no need to add redundant info\n thisText.push(tx);\n allPercents.push(tx);\n }\n };\n\n hoverPt.percentParent = pt.percentParent = val / helpers.getValue(parent);\n hoverPt.parent = pt.parentString = helpers.getPtLabel(parent);\n if(hasFlag('percent parent')) {\n tx = helpers.formatPercent(hoverPt.percentParent, separators) + ' of ' + hoverPt.parent;\n insertPercent();\n }\n\n hoverPt.percentEntry = pt.percentEntry = val / helpers.getValue(entry);\n hoverPt.entry = pt.entry = helpers.getPtLabel(entry);\n if(hasFlag('percent entry') && !isRoot && !pt.onPathbar) {\n tx = helpers.formatPercent(hoverPt.percentEntry, separators) + ' of ' + hoverPt.entry;\n insertPercent();\n }\n\n hoverPt.percentRoot = pt.percentRoot = val / helpers.getValue(hierarchy);\n hoverPt.root = pt.root = helpers.getPtLabel(hierarchy);\n if(hasFlag('percent root') && !isRoot) {\n tx = helpers.formatPercent(hoverPt.percentRoot, separators) + ' of ' + hoverPt.root;\n insertPercent();\n }\n\n hoverPt.text = _cast('hovertext') || _cast('text');\n if(hasFlag('text')) {\n tx = hoverPt.text;\n if(Lib.isValidTextValue(tx)) thisText.push(tx);\n }\n\n var hoverItems = {\n trace: traceNow,\n y: hoverCenterY,\n text: thisText.join('
'),\n name: (hovertemplate || hasFlag('name')) ? traceNow.name : undefined,\n color: _cast('hoverlabel.bgcolor') || cdi.color,\n borderColor: _cast('hoverlabel.bordercolor'),\n fontFamily: _cast('hoverlabel.font.family'),\n fontSize: _cast('hoverlabel.font.size'),\n fontColor: _cast('hoverlabel.font.color'),\n nameLength: _cast('hoverlabel.namelength'),\n textAlign: _cast('hoverlabel.align'),\n hovertemplate: hovertemplate,\n hovertemplateLabels: hoverPt,\n eventData: [makeEventData(pt, traceNow, opts.eventDataKeys)]\n };\n\n if(isSunburst) {\n hoverItems.x0 = hoverCenterX - pt.rInscribed * pt.rpx1;\n hoverItems.x1 = hoverCenterX + pt.rInscribed * pt.rpx1;\n hoverItems.idealAlign = pt.pxmid[0] < 0 ? 'left' : 'right';\n }\n if(isTreemap) {\n hoverItems.x = hoverCenterX;\n hoverItems.idealAlign = hoverCenterX < 0 ? 'left' : 'right';\n }\n\n Fx.loneHover(hoverItems, {\n container: fullLayoutNow._hoverlayer.node(),\n outerContainer: fullLayoutNow._paper.node(),\n gd: gd\n });\n\n trace._hasHoverLabel = true;\n }\n\n if(isTreemap) {\n var slice = sliceTop.select('path.surface');\n opts.styleOne(slice, pt, traceNow, {\n hovered: true\n });\n }\n\n trace._hasHoverEvent = true;\n gd.emit('plotly_hover', {\n points: [makeEventData(pt, traceNow, opts.eventDataKeys)],\n event: d3.event\n });\n };\n\n var onMouseOut = function(evt) {\n var fullLayoutNow = gd._fullLayout;\n var traceNow = gd._fullData[trace.index];\n var pt = d3.select(this).datum();\n\n if(trace._hasHoverEvent) {\n evt.originalEvent = d3.event;\n gd.emit('plotly_unhover', {\n points: [makeEventData(pt, traceNow, opts.eventDataKeys)],\n event: d3.event\n });\n trace._hasHoverEvent = false;\n }\n\n if(trace._hasHoverLabel) {\n Fx.loneUnhover(fullLayoutNow._hoverlayer.node());\n trace._hasHoverLabel = false;\n }\n\n if(isTreemap) {\n var slice = sliceTop.select('path.surface');\n opts.styleOne(slice, pt, traceNow, {\n hovered: false\n });\n }\n };\n\n var onClick = function(pt) {\n // TODO: this does not support right-click. If we want to support it, we\n // would likely need to change pie to use dragElement instead of straight\n // mapbox event binding. Or perhaps better, make a simple wrapper with the\n // right mousedown, mousemove, and mouseup handlers just for a left/right click\n // mapbox would use this too.\n var fullLayoutNow = gd._fullLayout;\n var traceNow = gd._fullData[trace.index];\n\n var noTransition = isSunburst && (helpers.isHierarchyRoot(pt) || helpers.isLeaf(pt));\n\n var id = helpers.getPtId(pt);\n var nextEntry = helpers.isEntry(pt) ?\n helpers.findEntryWithChild(hierarchy, id) :\n helpers.findEntryWithLevel(hierarchy, id);\n var nextLevel = helpers.getPtId(nextEntry);\n\n var typeClickEvtData = {\n points: [makeEventData(pt, traceNow, opts.eventDataKeys)],\n event: d3.event\n };\n if(!noTransition) typeClickEvtData.nextLevel = nextLevel;\n\n var clickVal = Events.triggerHandler(gd, 'plotly_' + trace.type + 'click', typeClickEvtData);\n\n if(clickVal !== false && fullLayoutNow.hovermode) {\n gd._hoverdata = [makeEventData(pt, traceNow, opts.eventDataKeys)];\n Fx.click(gd, d3.event);\n }\n\n // if click does not trigger a transition, we're done!\n if(noTransition) return;\n\n // if custom handler returns false, we're done!\n if(clickVal === false) return;\n\n // skip if triggered from dragging a nearby cartesian subplot\n if(gd._dragging) return;\n\n // skip during transitions, to avoid potential bugs\n // we could remove this check later\n if(gd._transitioning) return;\n\n // store 'old' level in guiEdit stash, so that subsequent Plotly.react\n // calls with the same uirevision can start from the same entry\n Registry.call('_storeDirectGUIEdit', traceNow, fullLayoutNow._tracePreGUI[traceNow.uid], {\n level: traceNow.level\n });\n\n var frame = {\n data: [{level: nextLevel}],\n traces: [trace.index]\n };\n\n var animOpts = {\n frame: {\n redraw: false,\n duration: opts.transitionTime\n },\n transition: {\n duration: opts.transitionTime,\n easing: opts.transitionEasing\n },\n mode: 'immediate',\n fromcurrent: true\n };\n\n Fx.loneUnhover(fullLayoutNow._hoverlayer.node());\n Registry.call('animate', gd, frame, animOpts);\n };\n\n sliceTop.on('mouseover', onMouseOver);\n sliceTop.on('mouseout', onMouseOut);\n sliceTop.on('click', onClick);\n};\n\nfunction makeEventData(pt, trace, keys) {\n var cdi = pt.data.data;\n\n var out = {\n curveNumber: trace.index,\n pointNumber: cdi.i,\n data: trace._input,\n fullData: trace,\n\n // TODO more things like 'children', 'siblings', 'hierarchy?\n };\n\n for(var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if(key in pt) out[key] = pt[key];\n }\n // handle special case of parent\n if('parentString' in pt && !helpers.isHierarchyRoot(pt)) out.parent = pt.parentString;\n\n appendArrayPointValue(out, trace, cdi.i);\n\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"69f1\":\n/***/ (function(module, exports) {\n\n// transliterated from the python snippet here:\n// http://en.wikipedia.org/wiki/Lanczos_approximation\n\nvar g = 7;\nvar p = [\n 0.99999999999980993,\n 676.5203681218851,\n -1259.1392167224028,\n 771.32342877765313,\n -176.61502916214059,\n 12.507343278686905,\n -0.13857109526572012,\n 9.9843695780195716e-6,\n 1.5056327351493116e-7\n];\n\nvar g_ln = 607/128;\nvar p_ln = [\n 0.99999999999999709182,\n 57.156235665862923517,\n -59.597960355475491248,\n 14.136097974741747174,\n -0.49191381609762019978,\n 0.33994649984811888699e-4,\n 0.46523628927048575665e-4,\n -0.98374475304879564677e-4,\n 0.15808870322491248884e-3,\n -0.21026444172410488319e-3,\n 0.21743961811521264320e-3,\n -0.16431810653676389022e-3,\n 0.84418223983852743293e-4,\n -0.26190838401581408670e-4,\n 0.36899182659531622704e-5\n];\n\n// Spouge approximation (suitable for large arguments)\nfunction lngamma(z) {\n\n if(z < 0) return Number('0/0');\n var x = p_ln[0];\n for(var i = p_ln.length - 1; i > 0; --i) x += p_ln[i] / (z + i);\n var t = z + g_ln + 0.5;\n return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z);\n}\n\nmodule.exports = function gamma (z) {\n if (z < 0.5) {\n return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z));\n }\n else if(z > 100) return Math.exp(lngamma(z));\n else {\n z -= 1;\n var x = p[0];\n for (var i = 1; i < g + 2; i++) {\n x += p[i] / (z + i);\n }\n var t = z + g + 0.5;\n\n return Math.sqrt(2 * Math.PI)\n * Math.pow(t, z + 0.5)\n * Math.exp(-t)\n * x\n ;\n }\n};\n\nmodule.exports.log = lngamma;\n\n\n/***/ }),\n\n/***/ \"69f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(\"7f9a\");\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar objectHas = __webpack_require__(\"5135\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar hiddenKeys = __webpack_require__(\"d012\");\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 = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\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 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/***/ \"6a08\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// Requirements\n// ============\nvar wrap = __webpack_require__(\"0a3e\").wrap;\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar filterUnique = __webpack_require__(\"5567\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Lib = __webpack_require__(\"fc26\");\n\n/**\n * Create a wrapped ParcatsModel object from trace\n *\n * Note: trace defaults have already been applied\n * @param {Object} gd\n * @param {Object} trace\n * @return {Array.}\n */\nmodule.exports = function calc(gd, trace) {\n var visibleDims = Lib.filterVisible(trace.dimensions);\n\n if(visibleDims.length === 0) return [];\n\n var uniqueInfoDims = visibleDims.map(function(dim) {\n var categoryValues;\n if(dim.categoryorder === 'trace') {\n // Use order of first occurrence in trace\n categoryValues = null;\n } else if(dim.categoryorder === 'array') {\n // Use categories specified in `categoryarray` first,\n // then add extra to the end in trace order\n categoryValues = dim.categoryarray;\n } else {\n // Get all categories up front so we can order them\n // Should we check for numbers as sort numerically?\n categoryValues = filterUnique(dim.values).sort();\n if(dim.categoryorder === 'category descending') {\n categoryValues = categoryValues.reverse();\n }\n }\n return getUniqueInfo(dim.values, categoryValues);\n });\n\n var counts,\n count,\n totalCount;\n if(Lib.isArrayOrTypedArray(trace.counts)) {\n counts = trace.counts;\n } else {\n counts = [trace.counts];\n }\n\n validateDimensionDisplayInds(visibleDims);\n\n visibleDims.forEach(function(dim, dimInd) {\n validateCategoryProperties(dim, uniqueInfoDims[dimInd]);\n });\n\n // Handle path colors\n // ------------------\n var line = trace.line;\n var markerColorscale;\n\n // Process colorscale\n if(line) {\n if(hasColorscale(trace, 'line')) {\n colorscaleCalc(gd, trace, {\n vals: trace.line.color,\n containerStr: 'line',\n cLetter: 'c'\n });\n }\n markerColorscale = Drawing.tryColorscale(line);\n } else {\n markerColorscale = Lib.identity;\n }\n\n // Build color generation function\n function getMarkerColorInfo(index) {\n var value, rawColor;\n if(Lib.isArrayOrTypedArray(line.color)) {\n value = line.color[index % line.color.length];\n rawColor = value;\n } else {\n value = line.color;\n }\n\n return {color: markerColorscale(value), rawColor: rawColor};\n }\n\n // Number of values and counts\n // ---------------------------\n var numValues = visibleDims[0].values.length;\n\n // Build path info\n // ---------------\n // Mapping from category inds to PathModel objects\n var pathModels = {};\n\n // Category inds array for each dimension\n var categoryIndsDims = uniqueInfoDims.map(function(di) {return di.inds;});\n\n // Initialize total count\n totalCount = 0;\n var valueInd;\n var d;\n\n for(valueInd = 0; valueInd < numValues; valueInd++) {\n // Category inds for this input value across dimensions\n var categoryIndsPath = [];\n for(d = 0; d < categoryIndsDims.length; d++) {\n categoryIndsPath.push(categoryIndsDims[d][valueInd]);\n }\n\n // Count\n count = counts[valueInd % counts.length];\n\n // Update total count\n totalCount += count;\n\n // Path color\n var pathColorInfo = getMarkerColorInfo(valueInd);\n\n // path key\n var pathKey = categoryIndsPath + '-' + pathColorInfo.rawColor;\n\n // Create / Update PathModel\n if(pathModels[pathKey] === undefined) {\n pathModels[pathKey] = createPathModel(categoryIndsPath,\n pathColorInfo.color,\n pathColorInfo.rawColor);\n }\n updatePathModel(pathModels[pathKey], valueInd, count);\n }\n\n var dimensionModels = visibleDims.map(function(di, i) {\n return createDimensionModel(i, di._index, di._displayindex, di.label, totalCount);\n });\n\n\n for(valueInd = 0; valueInd < numValues; valueInd++) {\n count = counts[valueInd % counts.length];\n\n for(d = 0; d < dimensionModels.length; d++) {\n var containerInd = dimensionModels[d].containerInd;\n var catInd = uniqueInfoDims[d].inds[valueInd];\n var cats = dimensionModels[d].categories;\n\n if(cats[catInd] === undefined) {\n var catValue = trace.dimensions[containerInd]._categoryarray[catInd];\n var catLabel = trace.dimensions[containerInd]._ticktext[catInd];\n cats[catInd] = createCategoryModel(d, catInd, catValue, catLabel);\n }\n\n updateCategoryModel(cats[catInd], valueInd, count);\n }\n }\n\n // Compute unique\n return wrap(createParcatsModel(dimensionModels, pathModels, totalCount));\n};\n\n// Models\n// ======\n\n// Parcats Model\n// -------------\n/**\n * @typedef {Object} ParcatsModel\n * Object containing calculated information about a parcats trace\n *\n * @property {Array.} dimensions\n * Array of dimension models\n * @property {Object.} paths\n * Dictionary from category inds string (e.g. \"1,2,1,1\") to path model\n * @property {Number} maxCats\n * The maximum number of categories of any dimension in the diagram\n * @property {Number} count\n * Total number of input values\n * @property {Object} trace\n */\n\n/**\n * Create and new ParcatsModel object\n * @param {Array.} dimensions\n * @param {Object.} paths\n * @param {Number} count\n * @return {ParcatsModel}\n */\nfunction createParcatsModel(dimensions, paths, count) {\n var maxCats = dimensions\n .map(function(d) {return d.categories.length;})\n .reduce(function(v1, v2) {return Math.max(v1, v2);});\n return {dimensions: dimensions, paths: paths, trace: undefined, maxCats: maxCats, count: count};\n}\n\n// Dimension Model\n// ---------------\n/**\n * @typedef {Object} DimensionModel\n * Object containing calculated information about a single dimension\n *\n * @property {Number} dimensionInd\n * The index of this dimension among the *visible* dimensions\n * @property {Number} containerInd\n * The index of this dimension in the original dimensions container,\n * irrespective of dimension visibility\n * @property {Number} displayInd\n * The display index of this dimension (where 0 is the left most dimension)\n * @property {String} dimensionLabel\n * The label of this dimension\n * @property {Number} count\n * Total number of input values\n * @property {Array.} categories\n * @property {Number|null} dragX\n * The x position of dimension that is currently being dragged. null if not being dragged\n */\n\n/**\n * Create and new DimensionModel object with an empty categories array\n * @param {Number} dimensionInd\n * @param {Number} containerInd\n * @param {Number} displayInd\n * @param {String} dimensionLabel\n * @param {Number} count\n * Total number of input values\n * @return {DimensionModel}\n */\nfunction createDimensionModel(dimensionInd, containerInd, displayInd, dimensionLabel, count) {\n return {\n dimensionInd: dimensionInd,\n containerInd: containerInd,\n displayInd: displayInd,\n dimensionLabel: dimensionLabel,\n count: count,\n categories: [],\n dragX: null\n };\n}\n\n// Category Model\n// --------------\n/**\n * @typedef {Object} CategoryModel\n * Object containing calculated information about a single category.\n *\n * @property {Number} dimensionInd\n * The index of this categories dimension\n * @property {Number} categoryInd\n * The index of this category\n * @property {Number} displayInd\n * The display index of this category (where 0 is the topmost category)\n * @property {String} categoryLabel\n * The name of this category\n * @property categoryValue: Raw value of the category\n * @property {Array} valueInds\n * Array of indices (into the original value array) of all samples in this category\n * @property {Number} count\n * The number of elements from the original array in this path\n * @property {Number|null} dragY\n * The y position of category that is currently being dragged. null if not being dragged\n */\n\n/**\n * Create and return a new CategoryModel object\n * @param {Number} dimensionInd\n * @param {Number} categoryInd\n * The display index of this category (where 0 is the topmost category)\n * @param {String} categoryValue\n * @param {String} categoryLabel\n * @return {CategoryModel}\n */\nfunction createCategoryModel(dimensionInd, categoryInd, categoryValue, categoryLabel) {\n return {\n dimensionInd: dimensionInd,\n categoryInd: categoryInd,\n categoryValue: categoryValue,\n displayInd: categoryInd,\n categoryLabel: categoryLabel,\n valueInds: [],\n count: 0,\n dragY: null\n };\n}\n\n/**\n * Update a CategoryModel object with a new value index\n * Note: The calling parameter is modified in place.\n *\n * @param {CategoryModel} categoryModel\n * @param {Number} valueInd\n * @param {Number} count\n */\nfunction updateCategoryModel(categoryModel, valueInd, count) {\n categoryModel.valueInds.push(valueInd);\n categoryModel.count += count;\n}\n\n\n// Path Model\n// ----------\n/**\n * @typedef {Object} PathModel\n * Object containing calculated information about the samples in a path.\n *\n * @property {Array} categoryInds\n * Array of category indices for each dimension (length `numDimensions`)\n * @param {String} pathColor\n * Color of this path. (Note: Any colorscaling has already taken place)\n * @property {Array} valueInds\n * Array of indices (into the original value array) of all samples in this path\n * @property {Number} count\n * The number of elements from the original array in this path\n * @property {String} color\n * The path's color (ass CSS color string)\n * @property rawColor\n * The raw color value specified by the user. May be a CSS color string or a Number\n */\n\n/**\n * Create and return a new PathModel object\n * @param {Array} categoryInds\n * @param color\n * @param rawColor\n * @return {PathModel}\n */\nfunction createPathModel(categoryInds, color, rawColor) {\n return {\n categoryInds: categoryInds,\n color: color,\n rawColor: rawColor,\n valueInds: [],\n count: 0\n };\n}\n\n/**\n * Update a PathModel object with a new value index\n * Note: The calling parameter is modified in place.\n *\n * @param {PathModel} pathModel\n * @param {Number} valueInd\n * @param {Number} count\n */\nfunction updatePathModel(pathModel, valueInd, count) {\n pathModel.valueInds.push(valueInd);\n pathModel.count += count;\n}\n\n// Unique calculations\n// ===================\n/**\n * @typedef {Object} UniqueInfo\n * Object containing information about the unique values of an input array\n *\n * @property {Array} uniqueValues\n * The unique values in the input array\n * @property {Array} uniqueCounts\n * The number of times each entry in uniqueValues occurs in input array.\n * This has the same length as `uniqueValues`\n * @property {Array} inds\n * Indices into uniqueValues that would reproduce original input array\n */\n\n/**\n * Compute unique value information for an array\n *\n * IMPORTANT: Note that values are considered unique\n * if their string representations are unique.\n *\n * @param {Array} values\n * @param {Array|undefined} uniqueValues\n * Array of expected unique values. The uniqueValues property of the resulting UniqueInfo object will begin with\n * these entries. Entries are included even if there are zero occurrences in the values array. Entries found in\n * the values array that are not present in uniqueValues will be included at the end of the array in the\n * UniqueInfo object.\n * @return {UniqueInfo}\n */\nfunction getUniqueInfo(values, uniqueValues) {\n // Initialize uniqueValues if not specified\n if(uniqueValues === undefined || uniqueValues === null) {\n uniqueValues = [];\n } else {\n // Shallow copy so append below doesn't alter input array\n uniqueValues = uniqueValues.map(function(e) {return e;});\n }\n\n // Initialize Variables\n var uniqueValueCounts = {};\n var uniqueValueInds = {};\n var inds = [];\n\n // Initialize uniqueValueCounts and\n uniqueValues.forEach(function(uniqueVal, valInd) {\n uniqueValueCounts[uniqueVal] = 0;\n uniqueValueInds[uniqueVal] = valInd;\n });\n\n // Compute the necessary unique info in a single pass\n for(var i = 0; i < values.length; i++) {\n var item = values[i];\n var itemInd;\n\n if(uniqueValueCounts[item] === undefined) {\n // This item has a previously unseen value\n uniqueValueCounts[item] = 1;\n itemInd = uniqueValues.push(item) - 1;\n uniqueValueInds[item] = itemInd;\n } else {\n // Increment count for this item\n uniqueValueCounts[item]++;\n itemInd = uniqueValueInds[item];\n }\n inds.push(itemInd);\n }\n\n // Build UniqueInfo\n var uniqueCounts = uniqueValues.map(function(v) { return uniqueValueCounts[v]; });\n\n return {\n uniqueValues: uniqueValues,\n uniqueCounts: uniqueCounts,\n inds: inds\n };\n}\n\n\n/**\n * Validate the requested display order for the dimensions.\n * If the display order is a permutation of 0 through dimensions.length - 1, link to _displayindex\n * Otherwise, replace the display order with the dimension order\n * @param {Object} trace\n */\nfunction validateDimensionDisplayInds(visibleDims) {\n var displayInds = visibleDims.map(function(d) { return d.displayindex; });\n var i;\n\n if(isRangePermutation(displayInds)) {\n for(i = 0; i < visibleDims.length; i++) {\n visibleDims[i]._displayindex = visibleDims[i].displayindex;\n }\n } else {\n for(i = 0; i < visibleDims.length; i++) {\n visibleDims[i]._displayindex = i;\n }\n }\n}\n\n\n/**\n * Update category properties based on the unique values found for this dimension\n * @param {Object} dim\n * @param {UniqueInfo} uniqueInfoDim\n */\nfunction validateCategoryProperties(dim, uniqueInfoDim) {\n // Update categoryarray\n dim._categoryarray = uniqueInfoDim.uniqueValues;\n\n // Handle ticktext\n if(dim.ticktext === null || dim.ticktext === undefined) {\n dim._ticktext = [];\n } else {\n // Shallow copy to avoid modifying input array\n dim._ticktext = dim.ticktext.slice();\n }\n\n // Extend ticktext with elements from uniqueInfoDim.uniqueValues\n for(var i = dim._ticktext.length; i < uniqueInfoDim.uniqueValues.length; i++) {\n dim._ticktext.push(uniqueInfoDim.uniqueValues[i]);\n }\n}\n\n/**\n * Determine whether an array contains a permutation of the integers from 0 to the array's length - 1\n * @param {Array} inds\n * @return {boolean}\n */\nfunction isRangePermutation(inds) {\n var indsSpecified = new Array(inds.length);\n\n for(var i = 0; i < inds.length; i++) {\n // Check for out of bounds\n if(inds[i] < 0 || inds[i] >= inds.length) {\n return false;\n }\n\n // Check for collisions with already specified index\n if(indsSpecified[inds[i]] !== undefined) {\n return false;\n }\n\n indsSpecified[inds[i]] = true;\n }\n\n // Nothing out of bounds and no collisions. We have a permutation\n return true;\n}\n\n\n/***/ }),\n\n/***/ \"6a25\":\n/***/ (function(module, exports) {\n\nmodule.exports = [\r\n '<<='\r\n , '>>='\r\n , '++'\r\n , '--'\r\n , '<<'\r\n , '>>'\r\n , '<='\r\n , '>='\r\n , '=='\r\n , '!='\r\n , '&&'\r\n , '||'\r\n , '+='\r\n , '-='\r\n , '*='\r\n , '/='\r\n , '%='\r\n , '&='\r\n , '^^'\r\n , '^='\r\n , '|='\r\n , '('\r\n , ')'\r\n , '['\r\n , ']'\r\n , '.'\r\n , '!'\r\n , '~'\r\n , '*'\r\n , '/'\r\n , '%'\r\n , '+'\r\n , '-'\r\n , '<'\r\n , '>'\r\n , '&'\r\n , '^'\r\n , '|'\r\n , '?'\r\n , ':'\r\n , '='\r\n , ','\r\n , ';'\r\n , '{'\r\n , '}'\r\n]\r\n\n\n/***/ }),\n\n/***/ \"6a77\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Axes = __webpack_require__(\"0642\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\nvar _ = Lib._;\n\nmodule.exports = function calc(gd, trace) {\n var fullLayout = gd._fullLayout;\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var cd = [];\n\n // N.B. violin reuses same Box.calc\n var numKey = trace.type === 'violin' ? '_numViolins' : '_numBoxes';\n\n var i, j;\n var valAxis, valLetter;\n var posAxis, posLetter;\n\n if(trace.orientation === 'h') {\n valAxis = xa;\n valLetter = 'x';\n posAxis = ya;\n posLetter = 'y';\n } else {\n valAxis = ya;\n valLetter = 'y';\n posAxis = xa;\n posLetter = 'x';\n }\n\n var posArray = getPos(trace, posLetter, posAxis, fullLayout[numKey]);\n var dv = Lib.distinctVals(posArray);\n var posDistinct = dv.vals;\n var dPos = dv.minDiff / 2;\n\n // item in trace calcdata\n var cdi;\n // array of {v: v, i, i} sample pts\n var pts;\n // values of the `pts` array of objects\n var boxVals;\n // length of sample\n var N;\n // single sample point\n var pt;\n // single sample value\n var v;\n\n // filter function for outlier pts\n // outlier definition based on http://www.physics.csbsju.edu/stats/box2.html\n var ptFilterFn = (trace.boxpoints || trace.points) === 'all' ?\n Lib.identity :\n function(pt) { return (pt.v < cdi.lf || pt.v > cdi.uf); };\n\n if(trace._hasPreCompStats) {\n var valArrayRaw = trace[valLetter];\n var d2c = function(k) { return valAxis.d2c((trace[k] || [])[i]); };\n var minVal = Infinity;\n var maxVal = -Infinity;\n\n for(i = 0; i < trace._length; i++) {\n var posi = posArray[i];\n if(!isNumeric(posi)) continue;\n\n cdi = {};\n cdi.pos = cdi[posLetter] = posi;\n\n cdi.q1 = d2c('q1');\n cdi.med = d2c('median');\n cdi.q3 = d2c('q3');\n\n pts = [];\n if(valArrayRaw && Lib.isArrayOrTypedArray(valArrayRaw[i])) {\n for(j = 0; j < valArrayRaw[i].length; j++) {\n v = valAxis.d2c(valArrayRaw[i][j]);\n if(v !== BADNUM) {\n pt = {v: v, i: [i, j]};\n arraysToCalcdata(pt, trace, [i, j]);\n pts.push(pt);\n }\n }\n }\n cdi.pts = pts.sort(sortByVal);\n boxVals = cdi[valLetter] = pts.map(extractVal);\n N = boxVals.length;\n\n if(cdi.med !== BADNUM && cdi.q1 !== BADNUM && cdi.q3 !== BADNUM &&\n cdi.med >= cdi.q1 && cdi.q3 >= cdi.med\n ) {\n var lf = d2c('lowerfence');\n cdi.lf = (lf !== BADNUM && lf <= cdi.q1) ?\n lf :\n computeLowerFence(cdi, boxVals, N);\n\n var uf = d2c('upperfence');\n cdi.uf = (uf !== BADNUM && uf >= cdi.q3) ?\n uf :\n computeUpperFence(cdi, boxVals, N);\n\n var mean = d2c('mean');\n cdi.mean = (mean !== BADNUM) ?\n mean :\n (N ? Lib.mean(boxVals, N) : (cdi.q1 + cdi.q3) / 2);\n\n var sd = d2c('sd');\n cdi.sd = (mean !== BADNUM && sd >= 0) ?\n sd :\n (N ? Lib.stdev(boxVals, N, cdi.mean) : (cdi.q3 - cdi.q1));\n\n cdi.lo = computeLowerOutlierBound(cdi);\n cdi.uo = computeUpperOutlierBound(cdi);\n\n var ns = d2c('notchspan');\n ns = (ns !== BADNUM && ns > 0) ? ns : computeNotchSpan(cdi, N);\n cdi.ln = cdi.med - ns;\n cdi.un = cdi.med + ns;\n\n var imin = cdi.lf;\n var imax = cdi.uf;\n if(trace.boxpoints && boxVals.length) {\n imin = Math.min(imin, boxVals[0]);\n imax = Math.max(imax, boxVals[N - 1]);\n }\n if(trace.notched) {\n imin = Math.min(imin, cdi.ln);\n imax = Math.max(imax, cdi.un);\n }\n cdi.min = imin;\n cdi.max = imax;\n } else {\n Lib.warn([\n 'Invalid input - make sure that q1 <= median <= q3',\n 'q1 = ' + cdi.q1,\n 'median = ' + cdi.med,\n 'q3 = ' + cdi.q3\n ].join('\\n'));\n\n var v0;\n if(cdi.med !== BADNUM) {\n v0 = cdi.med;\n } else if(cdi.q1 !== BADNUM) {\n if(cdi.q3 !== BADNUM) v0 = (cdi.q1 + cdi.q3) / 2;\n else v0 = cdi.q1;\n } else if(cdi.q3 !== BADNUM) {\n v0 = cdi.q3;\n } else {\n v0 = 0;\n }\n\n // draw box as line segment\n cdi.med = v0;\n cdi.q1 = cdi.q3 = v0;\n cdi.lf = cdi.uf = v0;\n cdi.mean = cdi.sd = v0;\n cdi.ln = cdi.un = v0;\n cdi.min = cdi.max = v0;\n }\n\n minVal = Math.min(minVal, cdi.min);\n maxVal = Math.max(maxVal, cdi.max);\n\n cdi.pts2 = pts.filter(ptFilterFn);\n\n cd.push(cdi);\n }\n\n trace._extremes[valAxis._id] = Axes.findExtremes(valAxis,\n [minVal, maxVal],\n {padded: true}\n );\n } else {\n var valArray = valAxis.makeCalcdata(trace, valLetter);\n var posBins = makeBins(posDistinct, dPos);\n var pLen = posDistinct.length;\n var ptsPerBin = initNestedArray(pLen);\n\n // bin pts info per position bins\n for(i = 0; i < trace._length; i++) {\n v = valArray[i];\n if(!isNumeric(v)) continue;\n\n var n = Lib.findBin(posArray[i], posBins);\n if(n >= 0 && n < pLen) {\n pt = {v: v, i: i};\n arraysToCalcdata(pt, trace, i);\n ptsPerBin[n].push(pt);\n }\n }\n\n var minLowerNotch = Infinity;\n var maxUpperNotch = -Infinity;\n\n var quartilemethod = trace.quartilemethod;\n var usesExclusive = quartilemethod === 'exclusive';\n var usesInclusive = quartilemethod === 'inclusive';\n\n // build calcdata trace items, one item per distinct position\n for(i = 0; i < pLen; i++) {\n if(ptsPerBin[i].length > 0) {\n cdi = {};\n cdi.pos = cdi[posLetter] = posDistinct[i];\n\n pts = cdi.pts = ptsPerBin[i].sort(sortByVal);\n boxVals = cdi[valLetter] = pts.map(extractVal);\n N = boxVals.length;\n\n cdi.min = boxVals[0];\n cdi.max = boxVals[N - 1];\n cdi.mean = Lib.mean(boxVals, N);\n cdi.sd = Lib.stdev(boxVals, N, cdi.mean);\n cdi.med = Lib.interp(boxVals, 0.5);\n\n if((N % 2) && (usesExclusive || usesInclusive)) {\n var lower;\n var upper;\n\n if(usesExclusive) {\n // do NOT include the median in either half\n lower = boxVals.slice(0, N / 2);\n upper = boxVals.slice(N / 2 + 1);\n } else if(usesInclusive) {\n // include the median in either half\n lower = boxVals.slice(0, N / 2 + 1);\n upper = boxVals.slice(N / 2);\n }\n\n cdi.q1 = Lib.interp(lower, 0.5);\n cdi.q3 = Lib.interp(upper, 0.5);\n } else {\n cdi.q1 = Lib.interp(boxVals, 0.25);\n cdi.q3 = Lib.interp(boxVals, 0.75);\n }\n\n // lower and upper fences\n cdi.lf = computeLowerFence(cdi, boxVals, N);\n cdi.uf = computeUpperFence(cdi, boxVals, N);\n\n // lower and upper outliers bounds\n cdi.lo = computeLowerOutlierBound(cdi);\n cdi.uo = computeUpperOutlierBound(cdi);\n\n // lower and upper notches\n var mci = computeNotchSpan(cdi, N);\n cdi.ln = cdi.med - mci;\n cdi.un = cdi.med + mci;\n minLowerNotch = Math.min(minLowerNotch, cdi.ln);\n maxUpperNotch = Math.max(maxUpperNotch, cdi.un);\n\n cdi.pts2 = pts.filter(ptFilterFn);\n\n cd.push(cdi);\n }\n }\n\n trace._extremes[valAxis._id] = Axes.findExtremes(valAxis,\n trace.notched ? valArray.concat([minLowerNotch, maxUpperNotch]) : valArray,\n {padded: true}\n );\n }\n\n calcSelection(cd, trace);\n\n if(cd.length > 0) {\n cd[0].t = {\n num: fullLayout[numKey],\n dPos: dPos,\n posLetter: posLetter,\n valLetter: valLetter,\n labels: {\n med: _(gd, 'median:'),\n min: _(gd, 'min:'),\n q1: _(gd, 'q1:'),\n q3: _(gd, 'q3:'),\n max: _(gd, 'max:'),\n mean: trace.boxmean === 'sd' ? _(gd, 'mean ยฑ ฯƒ:') : _(gd, 'mean:'),\n lf: _(gd, 'lower fence:'),\n uf: _(gd, 'upper fence:')\n }\n };\n\n fullLayout[numKey]++;\n return cd;\n } else {\n return [{t: {empty: true}}];\n }\n};\n\n// In vertical (horizontal) box plots:\n// if no x (y) data, use x0 (y0), or name\n// so if you want one box\n// per trace, set x0 (y0) to the x (y) value or category for this trace\n// (or set x (y) to a constant array matching y (x))\nfunction getPos(trace, posLetter, posAxis, num) {\n var hasPosArray = posLetter in trace;\n var hasPos0 = posLetter + '0' in trace;\n var hasPosStep = 'd' + posLetter in trace;\n\n if(hasPosArray || (hasPos0 && hasPosStep)) {\n return posAxis.makeCalcdata(trace, posLetter);\n }\n\n var pos0;\n if(hasPos0) {\n pos0 = trace[posLetter + '0'];\n } else if('name' in trace && (\n posAxis.type === 'category' || (\n isNumeric(trace.name) &&\n ['linear', 'log'].indexOf(posAxis.type) !== -1\n ) || (\n Lib.isDateTime(trace.name) &&\n posAxis.type === 'date'\n )\n )) {\n pos0 = trace.name;\n } else {\n pos0 = num;\n }\n\n var pos0c = posAxis.type === 'multicategory' ?\n posAxis.r2c_just_indices(pos0) :\n posAxis.d2c(pos0, 0, trace[posLetter + 'calendar']);\n\n var len = trace._length;\n var out = new Array(len);\n for(var i = 0; i < len; i++) out[i] = pos0c;\n\n return out;\n}\n\nfunction makeBins(x, dx) {\n var len = x.length;\n var bins = new Array(len + 1);\n\n for(var i = 0; i < len; i++) {\n bins[i] = x[i] - dx;\n }\n bins[len] = x[len - 1] + dx;\n\n return bins;\n}\n\nfunction initNestedArray(len) {\n var arr = new Array(len);\n for(var i = 0; i < len; i++) {\n arr[i] = [];\n }\n return arr;\n}\n\nvar TRACE_TO_CALC = {\n text: 'tx',\n hovertext: 'htx'\n};\n\nfunction arraysToCalcdata(pt, trace, ptNumber) {\n for(var k in TRACE_TO_CALC) {\n if(Lib.isArrayOrTypedArray(trace[k])) {\n if(Array.isArray(ptNumber)) {\n if(Lib.isArrayOrTypedArray(trace[k][ptNumber[0]])) {\n pt[TRACE_TO_CALC[k]] = trace[k][ptNumber[0]][ptNumber[1]];\n }\n } else {\n pt[TRACE_TO_CALC[k]] = trace[k][ptNumber];\n }\n }\n }\n}\n\nfunction calcSelection(cd, trace) {\n if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {\n for(var i = 0; i < cd.length; i++) {\n var pts = cd[i].pts || [];\n var ptNumber2cdIndex = {};\n\n for(var j = 0; j < pts.length; j++) {\n ptNumber2cdIndex[pts[j].i] = j;\n }\n\n Lib.tagSelected(pts, trace, ptNumber2cdIndex);\n }\n }\n}\n\nfunction sortByVal(a, b) { return a.v - b.v; }\n\nfunction extractVal(o) { return o.v; }\n\n// last point below 1.5 * IQR\nfunction computeLowerFence(cdi, boxVals, N) {\n if(N === 0) return cdi.q1;\n return Math.min(\n cdi.q1,\n boxVals[Math.min(\n Lib.findBin(2.5 * cdi.q1 - 1.5 * cdi.q3, boxVals, true) + 1,\n N - 1\n )]\n );\n}\n\n// last point above 1.5 * IQR\nfunction computeUpperFence(cdi, boxVals, N) {\n if(N === 0) return cdi.q3;\n return Math.max(\n cdi.q3,\n boxVals[Math.max(\n Lib.findBin(2.5 * cdi.q3 - 1.5 * cdi.q1, boxVals),\n 0\n )]\n );\n}\n\n// 3 IQR below (don't clip to max/min,\n// this is only for discriminating suspected & far outliers)\nfunction computeLowerOutlierBound(cdi) {\n return 4 * cdi.q1 - 3 * cdi.q3;\n}\n\n// 3 IQR above (don't clip to max/min,\n// this is only for discriminating suspected & far outliers)\nfunction computeUpperOutlierBound(cdi) {\n return 4 * cdi.q3 - 3 * cdi.q1;\n}\n\n// 95% confidence intervals for median\nfunction computeNotchSpan(cdi, N) {\n if(N === 0) return 0;\n return 1.57 * (cdi.q3 - cdi.q1) / Math.sqrt(N);\n}\n\n\n/***/ }),\n\n/***/ \"6aa3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar wrap = __webpack_require__(\"0a3e\").wrap;\n\nmodule.exports = function calc() {\n // we don't actually need to include the trace here, since that will be added\n // by Plots.doCalcdata, and that's all we actually need later.\n return wrap({});\n};\n\n\n/***/ }),\n\n/***/ \"6add\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar id2name = __webpack_require__(\"3c1c\").id2name;\nvar scaleZoom = __webpack_require__(\"9759\");\nvar makePadFn = __webpack_require__(\"ce56\").makePadFn;\nvar concatExtremes = __webpack_require__(\"ce56\").concatExtremes;\n\nvar ALMOST_EQUAL = __webpack_require__(\"e806\").ALMOST_EQUAL;\nvar FROM_BL = __webpack_require__(\"63dc\").FROM_BL;\n\nexports.handleConstraintDefaults = function(containerIn, containerOut, coerce, opts) {\n var allAxisIds = opts.allAxisIds;\n var layoutOut = opts.layoutOut;\n var scaleanchorDflt = opts.scaleanchorDflt;\n var constrainDflt = opts.constrainDflt;\n var constraintGroups = layoutOut._axisConstraintGroups;\n var matchGroups = layoutOut._axisMatchGroups;\n var axId = containerOut._id;\n var axLetter = axId.charAt(0);\n var splomStash = ((layoutOut._splomAxes || {})[axLetter] || {})[axId] || {};\n var thisID = containerOut._id;\n var letter = thisID.charAt(0);\n\n // coerce the constraint mechanics even if this axis has no scaleanchor\n // because it may be the anchor of another axis.\n var constrain = coerce('constrain', constrainDflt);\n Lib.coerce(containerIn, containerOut, {\n constraintoward: {\n valType: 'enumerated',\n values: letter === 'x' ? ['left', 'center', 'right'] : ['bottom', 'middle', 'top'],\n dflt: letter === 'x' ? 'center' : 'middle'\n }\n }, 'constraintoward');\n\n var matches, matchOpts;\n\n if((containerIn.matches || splomStash.matches) && !containerOut.fixedrange) {\n matchOpts = getConstraintOpts(matchGroups, thisID, allAxisIds, layoutOut);\n matches = Lib.coerce(containerIn, containerOut, {\n matches: {\n valType: 'enumerated',\n values: matchOpts.linkableAxes || [],\n dflt: splomStash.matches\n }\n }, 'matches');\n }\n\n // 'matches' wins over 'scaleanchor' (for now)\n var scaleanchor, scaleOpts;\n\n if(!matches &&\n !(containerOut.fixedrange && constrain !== 'domain') &&\n (containerIn.scaleanchor || scaleanchorDflt)\n ) {\n scaleOpts = getConstraintOpts(constraintGroups, thisID, allAxisIds, layoutOut, constrain);\n scaleanchor = Lib.coerce(containerIn, containerOut, {\n scaleanchor: {\n valType: 'enumerated',\n values: scaleOpts.linkableAxes || []\n }\n }, 'scaleanchor', scaleanchorDflt);\n }\n\n if(matches) {\n delete containerOut.constrain;\n updateConstraintGroups(matchGroups, matchOpts.thisGroup, thisID, matches, 1);\n } else if(allAxisIds.indexOf(containerIn.matches) !== -1) {\n Lib.warn('ignored ' + containerOut._name + '.matches: \"' +\n containerIn.matches + '\" to avoid either an infinite loop ' +\n 'or because the target axis has fixed range.');\n }\n\n if(scaleanchor) {\n var scaleratio = coerce('scaleratio');\n\n // TODO: I suppose I could do attribute.min: Number.MIN_VALUE to avoid zero,\n // but that seems hacky. Better way to say \"must be a positive number\"?\n // Of course if you use several super-tiny values you could eventually\n // force a product of these to zero and all hell would break loose...\n // Likewise with super-huge values.\n if(!scaleratio) scaleratio = containerOut.scaleratio = 1;\n\n updateConstraintGroups(constraintGroups, scaleOpts.thisGroup, thisID, scaleanchor, scaleratio);\n } else if(allAxisIds.indexOf(containerIn.scaleanchor) !== -1) {\n Lib.warn('ignored ' + containerOut._name + '.scaleanchor: \"' +\n containerIn.scaleanchor + '\" to avoid either an infinite loop ' +\n 'and possibly inconsistent scaleratios, or because the target ' +\n 'axis has fixed range or this axis declares a *matches* constraint.');\n }\n};\n\n// If this axis is already part of a constraint group, we can't\n// scaleanchor any other axis in that group, or we'd make a loop.\n// Filter allAxisIds to enforce this, also matching axis types.\nfunction getConstraintOpts(groups, thisID, allAxisIds, layoutOut, constrain) {\n var doesNotConstrainRange = constrain !== 'range';\n var thisType = layoutOut[id2name(thisID)].type;\n var i, j, idj, axj;\n\n var linkableAxes = [];\n for(j = 0; j < allAxisIds.length; j++) {\n idj = allAxisIds[j];\n if(idj === thisID) continue;\n\n axj = layoutOut[id2name(idj)];\n if(axj.type === thisType) {\n if(!axj.fixedrange) {\n linkableAxes.push(idj);\n } else if(doesNotConstrainRange && axj.anchor) {\n // allow domain constraints on subplots where\n // BOTH axes have fixedrange:true and constrain:domain\n var counterAxj = layoutOut[id2name(axj.anchor)];\n if(counterAxj.fixedrange) {\n linkableAxes.push(idj);\n }\n }\n }\n }\n\n for(i = 0; i < groups.length; i++) {\n if(groups[i][thisID]) {\n var thisGroup = groups[i];\n\n var linkableAxesNoLoops = [];\n for(j = 0; j < linkableAxes.length; j++) {\n idj = linkableAxes[j];\n if(!thisGroup[idj]) linkableAxesNoLoops.push(idj);\n }\n return {linkableAxes: linkableAxesNoLoops, thisGroup: thisGroup};\n }\n }\n\n return {linkableAxes: linkableAxes, thisGroup: null};\n}\n\n/*\n * Add this axis to the axis constraint groups, which is the collection\n * of axes that are all constrained together on scale.\n *\n * constraintGroups: a list of objects. each object is\n * {axis_id: scale_within_group}, where scale_within_group is\n * only important relative to the rest of the group, and defines\n * the relative scales between all axes in the group\n *\n * thisGroup: the group the current axis is already in\n * thisID: the id if the current axis\n * scaleanchor: the id of the axis to scale it with\n * scaleratio: the ratio of this axis to the scaleanchor axis\n */\nfunction updateConstraintGroups(constraintGroups, thisGroup, thisID, scaleanchor, scaleratio) {\n var i, j, groupi, keyj, thisGroupIndex;\n\n if(thisGroup === null) {\n thisGroup = {};\n thisGroup[thisID] = 1;\n thisGroupIndex = constraintGroups.length;\n constraintGroups.push(thisGroup);\n } else {\n thisGroupIndex = constraintGroups.indexOf(thisGroup);\n }\n\n var thisGroupKeys = Object.keys(thisGroup);\n\n // we know that this axis isn't in any other groups, but we don't know\n // about the scaleanchor axis. If it is, we need to merge the groups.\n for(i = 0; i < constraintGroups.length; i++) {\n groupi = constraintGroups[i];\n if(i !== thisGroupIndex && groupi[scaleanchor]) {\n var baseScale = groupi[scaleanchor];\n for(j = 0; j < thisGroupKeys.length; j++) {\n keyj = thisGroupKeys[j];\n groupi[keyj] = baseScale * scaleratio * thisGroup[keyj];\n }\n constraintGroups.splice(thisGroupIndex, 1);\n return;\n }\n }\n\n // otherwise, we insert the new scaleanchor axis as the base scale (1)\n // in its group, and scale the rest of the group to it\n if(scaleratio !== 1) {\n for(j = 0; j < thisGroupKeys.length; j++) {\n thisGroup[thisGroupKeys[j]] *= scaleratio;\n }\n }\n thisGroup[scaleanchor] = 1;\n}\n\nexports.enforce = function enforce(gd) {\n var fullLayout = gd._fullLayout;\n var constraintGroups = fullLayout._axisConstraintGroups || [];\n\n var i, j, axisID, ax, normScale, mode, factor;\n\n for(i = 0; i < constraintGroups.length; i++) {\n var group = constraintGroups[i];\n var axisIDs = Object.keys(group);\n\n var minScale = Infinity;\n var maxScale = 0;\n // mostly matchScale will be the same as minScale\n // ie we expand axis ranges to encompass *everything*\n // that's currently in any of their ranges, but during\n // autorange of a subset of axes we will ignore other\n // axes for this purpose.\n var matchScale = Infinity;\n var normScales = {};\n var axes = {};\n var hasAnyDomainConstraint = false;\n\n // find the (normalized) scale of each axis in the group\n for(j = 0; j < axisIDs.length; j++) {\n axisID = axisIDs[j];\n axes[axisID] = ax = fullLayout[id2name(axisID)];\n\n if(ax._inputDomain) ax.domain = ax._inputDomain.slice();\n else ax._inputDomain = ax.domain.slice();\n\n if(!ax._inputRange) ax._inputRange = ax.range.slice();\n\n // set axis scale here so we can use _m rather than\n // having to calculate it from length and range\n ax.setScale();\n\n // abs: inverted scales still satisfy the constraint\n normScales[axisID] = normScale = Math.abs(ax._m) / group[axisID];\n minScale = Math.min(minScale, normScale);\n if(ax.constrain === 'domain' || !ax._constraintShrinkable) {\n matchScale = Math.min(matchScale, normScale);\n }\n\n // this has served its purpose, so remove it\n delete ax._constraintShrinkable;\n maxScale = Math.max(maxScale, normScale);\n\n if(ax.constrain === 'domain') hasAnyDomainConstraint = true;\n }\n\n // Do we have a constraint mismatch? Give a small buffer for rounding errors\n if(minScale > ALMOST_EQUAL * maxScale && !hasAnyDomainConstraint) continue;\n\n // now increase any ranges we need to until all normalized scales are equal\n for(j = 0; j < axisIDs.length; j++) {\n axisID = axisIDs[j];\n normScale = normScales[axisID];\n ax = axes[axisID];\n mode = ax.constrain;\n\n // even if the scale didn't change, if we're shrinking domain\n // we need to recalculate in case `constraintoward` changed\n if(normScale !== matchScale || mode === 'domain') {\n factor = normScale / matchScale;\n\n if(mode === 'range') {\n scaleZoom(ax, factor);\n } else {\n // mode === 'domain'\n\n var inputDomain = ax._inputDomain;\n var domainShrunk = (ax.domain[1] - ax.domain[0]) /\n (inputDomain[1] - inputDomain[0]);\n var rangeShrunk = (ax.r2l(ax.range[1]) - ax.r2l(ax.range[0])) /\n (ax.r2l(ax._inputRange[1]) - ax.r2l(ax._inputRange[0]));\n\n factor /= domainShrunk;\n\n if(factor * rangeShrunk < 1) {\n // we've asked to magnify the axis more than we can just by\n // enlarging the domain - so we need to constrict range\n ax.domain = ax._input.domain = inputDomain.slice();\n scaleZoom(ax, factor);\n continue;\n }\n\n if(rangeShrunk < 1) {\n // the range has previously been constricted by ^^, but we've\n // switched to the domain-constricted regime, so reset range\n ax.range = ax._input.range = ax._inputRange.slice();\n factor *= rangeShrunk;\n }\n\n if(ax.autorange) {\n /*\n * range & factor may need to change because range was\n * calculated for the larger scaling, so some pixel\n * paddings may get cut off when we reduce the domain.\n *\n * This is easier than the regular autorange calculation\n * because we already know the scaling `m`, but we still\n * need to cut out impossible constraints (like\n * annotations with super-long arrows). That's what\n * outerMin/Max are for - if the expansion was going to\n * go beyond the original domain, it must be impossible\n */\n var rl0 = ax.r2l(ax.range[0]);\n var rl1 = ax.r2l(ax.range[1]);\n var rangeCenter = (rl0 + rl1) / 2;\n var rangeMin = rangeCenter;\n var rangeMax = rangeCenter;\n var halfRange = Math.abs(rl1 - rangeCenter);\n // extra tiny bit for rounding errors, in case we actually\n // *are* expanding to the full domain\n var outerMin = rangeCenter - halfRange * factor * 1.0001;\n var outerMax = rangeCenter + halfRange * factor * 1.0001;\n var getPad = makePadFn(ax);\n\n updateDomain(ax, factor);\n var m = Math.abs(ax._m);\n var extremes = concatExtremes(gd, ax);\n var minArray = extremes.min;\n var maxArray = extremes.max;\n var newVal;\n var k;\n\n for(k = 0; k < minArray.length; k++) {\n newVal = minArray[k].val - getPad(minArray[k]) / m;\n if(newVal > outerMin && newVal < rangeMin) {\n rangeMin = newVal;\n }\n }\n\n for(k = 0; k < maxArray.length; k++) {\n newVal = maxArray[k].val + getPad(maxArray[k]) / m;\n if(newVal < outerMax && newVal > rangeMax) {\n rangeMax = newVal;\n }\n }\n\n var domainExpand = (rangeMax - rangeMin) / (2 * halfRange);\n factor /= domainExpand;\n\n rangeMin = ax.l2r(rangeMin);\n rangeMax = ax.l2r(rangeMax);\n ax.range = ax._input.range = (rl0 < rl1) ?\n [rangeMin, rangeMax] : [rangeMax, rangeMin];\n }\n\n updateDomain(ax, factor);\n }\n }\n }\n }\n};\n\n// For use before autoranging, check if this axis was previously constrained\n// by domain but no longer is\nexports.clean = function clean(gd, ax) {\n if(ax._inputDomain) {\n var isConstrained = false;\n var axId = ax._id;\n var constraintGroups = gd._fullLayout._axisConstraintGroups;\n for(var j = 0; j < constraintGroups.length; j++) {\n if(constraintGroups[j][axId]) {\n isConstrained = true;\n break;\n }\n }\n if(!isConstrained || ax.constrain !== 'domain') {\n ax._input.domain = ax.domain = ax._inputDomain;\n delete ax._inputDomain;\n }\n }\n};\n\nfunction updateDomain(ax, factor) {\n var inputDomain = ax._inputDomain;\n var centerFraction = FROM_BL[ax.constraintoward];\n var center = inputDomain[0] + (inputDomain[1] - inputDomain[0]) * centerFraction;\n\n ax.domain = ax._input.domain = [\n center + (inputDomain[0] - center) / factor,\n center + (inputDomain[1] - center) / factor\n ];\n ax.setScale();\n}\n\n\n/***/ }),\n\n/***/ \"6af8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArray = Array.isArray;\n\n// IE9 fallbacks\n\nvar ab = (typeof ArrayBuffer === 'undefined' || !ArrayBuffer.isView) ?\n {isView: function() { return false; }} :\n ArrayBuffer;\n\nvar dv = (typeof DataView === 'undefined') ?\n function() {} :\n DataView;\n\nfunction isTypedArray(a) {\n return ab.isView(a) && !(a instanceof dv);\n}\nexports.isTypedArray = isTypedArray;\n\nfunction isArrayOrTypedArray(a) {\n return isArray(a) || isTypedArray(a);\n}\nexports.isArrayOrTypedArray = isArrayOrTypedArray;\n\n/*\n * Test whether an input object is 1D.\n *\n * Assumes we already know the object is an array.\n *\n * Looks only at the first element, if the dimensionality is\n * not consistent we won't figure that out here.\n */\nfunction isArray1D(a) {\n return !isArrayOrTypedArray(a[0]);\n}\nexports.isArray1D = isArray1D;\n\n/*\n * Ensures an array has the right amount of storage space. If it doesn't\n * exist, it creates an array. If it does exist, it returns it if too\n * short or truncates it in-place.\n *\n * The goal is to just reuse memory to avoid a bit of excessive garbage\n * collection.\n */\nexports.ensureArray = function(out, n) {\n // TODO: typed array support here? This is only used in\n // traces/carpet/compute_control_points\n if(!isArray(out)) out = [];\n\n // If too long, truncate. (If too short, it will grow\n // automatically so we don't care about that case)\n out.length = n;\n\n return out;\n};\n\n/*\n * TypedArray-compatible concatenation of n arrays\n * if all arrays are the same type it will preserve that type,\n * otherwise it falls back on Array.\n * Also tries to avoid copying, in case one array has zero length\n * But never mutates an existing array\n */\nexports.concat = function() {\n var args = [];\n var allArray = true;\n var totalLen = 0;\n\n var _constructor, arg0, i, argi, posi, leni, out, j;\n\n for(i = 0; i < arguments.length; i++) {\n argi = arguments[i];\n leni = argi.length;\n if(leni) {\n if(arg0) args.push(argi);\n else {\n arg0 = argi;\n posi = leni;\n }\n\n if(isArray(argi)) {\n _constructor = false;\n } else {\n allArray = false;\n if(!totalLen) {\n _constructor = argi.constructor;\n } else if(_constructor !== argi.constructor) {\n // TODO: in principle we could upgrade here,\n // ie keep typed array but convert all to Float64Array?\n _constructor = false;\n }\n }\n\n totalLen += leni;\n }\n }\n\n if(!totalLen) return [];\n if(!args.length) return arg0;\n\n if(allArray) return arg0.concat.apply(arg0, args);\n if(_constructor) {\n // matching typed arrays\n out = new _constructor(totalLen);\n out.set(arg0);\n for(i = 0; i < args.length; i++) {\n argi = args[i];\n out.set(argi, posi);\n posi += argi.length;\n }\n return out;\n }\n\n // mismatched types or Array + typed\n out = new Array(totalLen);\n for(j = 0; j < arg0.length; j++) out[j] = arg0[j];\n for(i = 0; i < args.length; i++) {\n argi = args[i];\n for(j = 0; j < argi.length; j++) out[posi + j] = argi[j];\n posi += j;\n }\n return out;\n};\n\nexports.maxRowLength = function(z) {\n return _rowLength(z, Math.max, 0);\n};\n\nexports.minRowLength = function(z) {\n return _rowLength(z, Math.min, Infinity);\n};\n\nfunction _rowLength(z, fn, len0) {\n if(isArrayOrTypedArray(z)) {\n if(isArrayOrTypedArray(z[0])) {\n var len = len0;\n for(var i = 0; i < z.length; i++) {\n len = fn(len, z[i].length);\n }\n return len;\n } else {\n return z.length;\n }\n }\n return 0;\n}\n\n\n/***/ }),\n\n/***/ \"6b10\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Template = __webpack_require__(\"a651\");\nvar axisIds = __webpack_require__(\"3c1c\");\n\nvar attributes = __webpack_require__(\"8f38\");\nvar oppAxisAttrs = __webpack_require__(\"5844\");\n\nmodule.exports = function handleDefaults(layoutIn, layoutOut, axName) {\n var axIn = layoutIn[axName];\n var axOut = layoutOut[axName];\n\n if(!(axIn.rangeslider || layoutOut._requestRangeslider[axOut._id])) return;\n\n // not super proud of this (maybe store _ in axis object instead\n if(!Lib.isPlainObject(axIn.rangeslider)) {\n axIn.rangeslider = {};\n }\n\n var containerIn = axIn.rangeslider;\n var containerOut = Template.newContainer(axOut, 'rangeslider');\n\n function coerce(attr, dflt) {\n return Lib.coerce(containerIn, containerOut, attributes, attr, dflt);\n }\n\n var rangeContainerIn, rangeContainerOut;\n function coerceRange(attr, dflt) {\n return Lib.coerce(rangeContainerIn, rangeContainerOut, oppAxisAttrs, attr, dflt);\n }\n\n var visible = coerce('visible');\n if(!visible) return;\n\n coerce('bgcolor', layoutOut.plot_bgcolor);\n coerce('bordercolor');\n coerce('borderwidth');\n coerce('thickness');\n\n coerce('autorange', !axOut.isValidRange(containerIn.range));\n coerce('range');\n\n var subplots = layoutOut._subplots;\n if(subplots) {\n var yIds = subplots.cartesian\n .filter(function(subplotId) {\n return subplotId.substr(0, subplotId.indexOf('y')) === axisIds.name2id(axName);\n })\n .map(function(subplotId) {\n return subplotId.substr(subplotId.indexOf('y'), subplotId.length);\n });\n var yNames = Lib.simpleMap(yIds, axisIds.id2name);\n for(var i = 0; i < yNames.length; i++) {\n var yName = yNames[i];\n\n rangeContainerIn = containerIn[yName] || {};\n rangeContainerOut = Template.newContainer(containerOut, yName, 'yaxis');\n\n var yAxOut = layoutOut[yName];\n\n var rangemodeDflt;\n if(rangeContainerIn.range && yAxOut.isValidRange(rangeContainerIn.range)) {\n rangemodeDflt = 'fixed';\n }\n\n var rangeMode = coerceRange('rangemode', rangemodeDflt);\n if(rangeMode !== 'match') {\n coerceRange('range', yAxOut.range.slice());\n }\n }\n }\n\n // to map back range slider (auto) range\n containerOut._input = containerIn;\n};\n\n\n/***/ }),\n\n/***/ \"6b38\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/** @module gl-util/context */\r\n\r\n\r\nvar pick = __webpack_require__(\"b7d1\")\r\n\r\nmodule.exports = function setContext (o) {\r\n\tif (!o) o = {}\r\n\telse if (typeof o === 'string') o = {container: o}\r\n\r\n\t// HTMLCanvasElement\r\n\tif (isCanvas(o)) {\r\n\t\to = {container: o}\r\n\t}\r\n\t// HTMLElement\r\n\telse if (isElement(o)) {\r\n\t\to = {container: o}\r\n\t}\r\n\t// WebGLContext\r\n\telse if (isContext(o)) {\r\n\t\to = {gl: o}\r\n\t}\r\n\t// options object\r\n\telse {\r\n\t\to = pick(o, {\r\n\t\t\tcontainer: 'container target element el canvas holder parent parentNode wrapper use ref root node',\r\n\t\t\tgl: 'gl context webgl glContext',\r\n\t\t\tattrs: 'attributes attrs contextAttributes',\r\n\t\t\tpixelRatio: 'pixelRatio pxRatio px ratio pxratio pixelratio',\r\n\t\t\twidth: 'w width',\r\n\t\t\theight: 'h height'\r\n\t\t}, true)\r\n\t}\r\n\r\n\tif (!o.pixelRatio) o.pixelRatio = global.pixelRatio || 1\r\n\r\n\t// make sure there is container and canvas\r\n\tif (o.gl) {\r\n\t\treturn o.gl\r\n\t}\r\n\tif (o.canvas) {\r\n\t\to.container = o.canvas.parentNode\r\n\t}\r\n\tif (o.container) {\r\n\t\tif (typeof o.container === 'string') {\r\n\t\t\tvar c = document.querySelector(o.container)\r\n\t\t\tif (!c) throw Error('Element ' + o.container + ' is not found')\r\n\t\t\to.container = c\r\n\t\t}\r\n\t\tif (isCanvas(o.container)) {\r\n\t\t\to.canvas = o.container\r\n\t\t\to.container = o.canvas.parentNode\r\n\t\t}\r\n\t\telse if (!o.canvas) {\r\n\t\t\to.canvas = createCanvas()\r\n\t\t\to.container.appendChild(o.canvas)\r\n\t\t\tresize(o)\r\n\t\t}\r\n\t}\r\n\t// blank new canvas\r\n\telse if (!o.canvas) {\r\n\t\tif (typeof document !== 'undefined') {\r\n\t\t\to.container = document.body || document.documentElement\r\n\t\t\to.canvas = createCanvas()\r\n\t\t\to.container.appendChild(o.canvas)\r\n\t\t\tresize(o)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthrow Error('Not DOM environment. Use headless-gl.')\r\n\t\t}\r\n\t}\r\n\r\n\t// make sure there is context\r\n\tif (!o.gl) {\r\n\t\ttry {\r\n\t\t\to.gl = o.canvas.getContext('webgl', o.attrs)\r\n\t\t} catch (e) {\r\n\t\t\ttry {\r\n\t\t\t\to.gl = o.canvas.getContext('experimental-webgl', o.attrs)\r\n\t\t\t}\r\n\t\t\tcatch (e) {\r\n\t\t\t\to.gl = o.canvas.getContext('webgl-experimental', o.attrs)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn o.gl\r\n}\r\n\r\n\r\nfunction resize (o) {\r\n\tif (o.container) {\r\n\t\tif (o.container == document.body) {\r\n\t\t\tif (!document.body.style.width) o.canvas.width = o.width || (o.pixelRatio * global.innerWidth)\r\n\t\t\tif (!document.body.style.height) o.canvas.height = o.height || (o.pixelRatio * global.innerHeight)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvar bounds = o.container.getBoundingClientRect()\r\n\t\t\to.canvas.width = o.width || (bounds.right - bounds.left)\r\n\t\t\to.canvas.height = o.height || (bounds.bottom - bounds.top)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction isCanvas (e) {\r\n\treturn typeof e.getContext === 'function'\r\n\t\t&& 'width' in e\r\n\t\t&& 'height' in e\r\n}\r\n\r\nfunction isElement (e) {\r\n\treturn typeof e.nodeName === 'string' &&\r\n\t\ttypeof e.appendChild === 'function' &&\r\n\t\ttypeof e.getBoundingClientRect === 'function'\r\n}\r\n\r\nfunction isContext (e) {\r\n\treturn typeof e.drawArrays === 'function' ||\r\n\t\ttypeof e.drawElements === 'function'\r\n}\r\n\r\nfunction createCanvas () {\r\n\tvar canvas = document.createElement('canvas')\r\n\tcanvas.style.position = 'absolute'\r\n\tcanvas.style.top = 0\r\n\tcanvas.style.left = 0\r\n\r\n\treturn canvas\r\n}\r\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"6b3c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createShader = __webpack_require__(\"28dd\")\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createTexture = __webpack_require__(\"1d5b\")\nvar multiply = __webpack_require__(\"1417\")\nvar invert = __webpack_require__(\"9343\")\nvar ndarray = __webpack_require__(\"b5bb\")\nvar colormap = __webpack_require__(\"595c\")\n\nvar IDENTITY = [\n 1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\nfunction VectorMesh(gl\n , texture\n , triShader\n , pickShader\n , trianglePositions\n , triangleVectors\n , triangleIds\n , triangleColors\n , triangleUVs\n , triangleVAO\n , traceType) {\n\n this.gl = gl\n this.pixelRatio = 1\n this.cells = []\n this.positions = []\n this.intensity = []\n this.texture = texture\n this.dirty = true\n\n this.triShader = triShader\n this.pickShader = pickShader\n\n this.trianglePositions = trianglePositions\n this.triangleVectors = triangleVectors\n this.triangleColors = triangleColors\n this.triangleUVs = triangleUVs\n this.triangleIds = triangleIds\n this.triangleVAO = triangleVAO\n this.triangleCount = 0\n\n this.pickId = 1\n this.bounds = [\n [ Infinity, Infinity, Infinity],\n [-Infinity,-Infinity,-Infinity] ]\n this.clipBounds = [\n [-Infinity,-Infinity,-Infinity],\n [ Infinity, Infinity, Infinity] ]\n\n this.lightPosition = [1e5, 1e5, 0]\n this.ambientLight = 0.8\n this.diffuseLight = 0.8\n this.specularLight = 2.0\n this.roughness = 0.5\n this.fresnel = 1.5\n\n this.opacity = 1\n\n this.traceType = traceType\n this.tubeScale = 1 // used in streamtube\n this.coneScale = 2 // used in cone\n this.vectorScale = 1 // used in cone\n this.coneOffset = 0.25 // used in cone\n\n this._model = IDENTITY\n this._view = IDENTITY\n this._projection = IDENTITY\n this._resolution = [1,1]\n}\n\nvar proto = VectorMesh.prototype\n\nproto.isOpaque = function() {\n return this.opacity >= 1\n}\n\nproto.isTransparent = function() {\n return this.opacity < 1\n}\n\nproto.pickSlots = 1\n\nproto.setPickBase = function(id) {\n this.pickId = id\n}\n\nfunction genColormap(param) {\n var colors = colormap({\n colormap: param\n , nshades: 256\n , format: 'rgba'\n })\n\n var result = new Uint8Array(256*4)\n for(var i=0; i<256; ++i) {\n var c = colors[i]\n for(var j=0; j<3; ++j) {\n result[4*i+j] = c[j]\n }\n result[4*i+3] = c[3]*255\n }\n\n return ndarray(result, [256,256,4], [4,0,1])\n}\n\nfunction takeZComponent(array) {\n var n = array.length\n var result = new Array(n)\n for(var i=0; i 0) {\n var shader = this.triShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n}\n\nproto.drawPick = function(params) {\n params = params || {}\n\n var gl = this.gl\n\n var model = params.model || IDENTITY\n var view = params.view || IDENTITY\n var projection = params.projection || IDENTITY\n\n var clipBounds = [[-1e6,-1e6,-1e6],[1e6,1e6,1e6]]\n for(var i=0; i<3; ++i) {\n clipBounds[0][i] = Math.max(clipBounds[0][i], this.clipBounds[0][i])\n clipBounds[1][i] = Math.min(clipBounds[1][i], this.clipBounds[1][i])\n }\n\n //Save camera parameters\n this._model = [].slice.call(model)\n this._view = [].slice.call(view)\n this._projection = [].slice.call(projection)\n this._resolution = [gl.drawingBufferWidth, gl.drawingBufferHeight]\n\n var uniforms = {\n model: model,\n view: view,\n projection: projection,\n clipBounds: clipBounds,\n\n tubeScale: this.tubeScale,\n vectorScale: this.vectorScale,\n coneScale: this.coneScale,\n coneOffset: this.coneOffset,\n\n pickId: this.pickId / 255.0,\n }\n\n var shader = this.pickShader\n shader.bind()\n shader.uniforms = uniforms\n\n if(this.triangleCount > 0) {\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n}\n\n\nproto.pick = function(pickData) {\n if(!pickData) {\n return null\n }\n if(pickData.id !== this.pickId) {\n return null\n }\n\n var cellId = pickData.value[0] + 256*pickData.value[1] + 65536*pickData.value[2]\n var cell = this.cells[cellId]\n var pos = this.positions[cell[1]].slice(0, 3)\n\n var result = {\n position: pos,\n dataCoordinate: pos,\n index: Math.floor(cell[1] / 48)\n }\n\n\n if(this.traceType === 'cone') {\n result.index = Math.floor(cell[1] / 48)\n } else if(this.traceType === 'streamtube') {\n result.intensity = this.intensity[cell[1]]\n result.velocity = this.vectors[cell[1]].slice(0, 3)\n result.divergence = this.vectors[cell[1]][3]\n result.index = cellId\n }\n\n return result\n}\n\n\nproto.dispose = function() {\n this.texture.dispose()\n\n this.triShader.dispose()\n this.pickShader.dispose()\n\n this.triangleVAO.dispose()\n this.trianglePositions.dispose()\n this.triangleVectors.dispose()\n this.triangleColors.dispose()\n this.triangleUVs.dispose()\n this.triangleIds.dispose()\n}\n\nfunction createMeshShader(gl, shaders) {\n var shader = createShader(gl,\n shaders.meshShader.vertex,\n shaders.meshShader.fragment,\n null,\n shaders.meshShader.attributes\n )\n\n shader.attributes.position.location = 0\n shader.attributes.color.location = 2\n shader.attributes.uv.location = 3\n shader.attributes.vector.location = 4\n return shader\n}\n\n\nfunction createPickShader(gl, shaders) {\n var shader = createShader(gl,\n shaders.pickShader.vertex,\n shaders.pickShader.fragment,\n null,\n shaders.pickShader.attributes\n )\n\n shader.attributes.position.location = 0\n shader.attributes.id.location = 1\n shader.attributes.vector.location = 4\n return shader\n}\n\n\nfunction createVectorMesh(gl, params, opts) {\n var shaders = opts.shaders\n\n if (arguments.length === 1) {\n params = gl\n gl = params.gl\n }\n\n\n var triShader = createMeshShader(gl, shaders)\n var pickShader = createPickShader(gl, shaders)\n var meshTexture = createTexture(gl,\n ndarray(new Uint8Array([255,255,255,255]), [1,1,4]))\n meshTexture.generateMipmap()\n meshTexture.minFilter = gl.LINEAR_MIPMAP_LINEAR\n meshTexture.magFilter = gl.LINEAR\n\n var trianglePositions = createBuffer(gl)\n var triangleVectors = createBuffer(gl)\n var triangleColors = createBuffer(gl)\n var triangleUVs = createBuffer(gl)\n var triangleIds = createBuffer(gl)\n var triangleVAO = createVAO(gl, [\n { buffer: trianglePositions,\n type: gl.FLOAT,\n size: 4\n },\n { buffer: triangleIds,\n type: gl.UNSIGNED_BYTE,\n size: 4,\n normalized: true\n },\n { buffer: triangleColors,\n type: gl.FLOAT,\n size: 4\n },\n { buffer: triangleUVs,\n type: gl.FLOAT,\n size: 2\n },\n { buffer: triangleVectors,\n type: gl.FLOAT,\n size: 4\n }\n ])\n\n var mesh = new VectorMesh(gl\n , meshTexture\n , triShader\n , pickShader\n , trianglePositions\n , triangleVectors\n , triangleIds\n , triangleColors\n , triangleUVs\n , triangleVAO\n , opts.traceType || 'cone'\n )\n\n mesh.update(params)\n\n return mesh\n}\n\nmodule.exports = createVectorMesh\n\n\n/***/ }),\n\n/***/ \"6b50\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar surfaceAttrs = __webpack_require__(\"02ea\");\nvar baseAttrs = __webpack_require__(\"a876\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = extendFlat({\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n y: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n z: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n\n i: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n j: {\n valType: 'data_array',\n editType: 'calc',\n \n\n },\n k: {\n valType: 'data_array',\n editType: 'calc',\n \n\n },\n\n text: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n hovertext: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n hovertemplate: hovertemplateAttrs({editType: 'calc'}),\n\n delaunayaxis: {\n valType: 'enumerated',\n \n values: [ 'x', 'y', 'z' ],\n dflt: 'z',\n editType: 'calc',\n \n },\n\n alphahull: {\n valType: 'number',\n \n dflt: -1,\n editType: 'calc',\n \n },\n\n intensity: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n intensitymode: {\n valType: 'enumerated',\n values: ['vertex', 'cell'],\n dflt: 'vertex',\n editType: 'calc',\n \n \n },\n\n // Color field\n color: {\n valType: 'color',\n \n editType: 'calc',\n \n },\n vertexcolor: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n facecolor: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n transforms: undefined\n},\n\ncolorScaleAttrs('', {\n colorAttr: '`intensity`',\n showScaleDflt: true,\n editTypeOverride: 'calc'\n}), {\n opacity: surfaceAttrs.opacity,\n\n // Flat shaded mode\n flatshading: {\n valType: 'boolean',\n \n dflt: false,\n editType: 'calc',\n \n },\n\n contour: {\n show: extendFlat({}, surfaceAttrs.contours.x.show, {\n \n }),\n color: surfaceAttrs.contours.x.color,\n width: surfaceAttrs.contours.x.width,\n editType: 'calc'\n },\n\n lightposition: {\n x: extendFlat({}, surfaceAttrs.lightposition.x, {dflt: 1e5}),\n y: extendFlat({}, surfaceAttrs.lightposition.y, {dflt: 1e5}),\n z: extendFlat({}, surfaceAttrs.lightposition.z, {dflt: 0}),\n editType: 'calc'\n },\n lighting: extendFlat({\n vertexnormalsepsilon: {\n valType: 'number',\n \n min: 0.00,\n max: 1,\n dflt: 1e-12, // otherwise finely tessellated things eg. the brain will have no specular light reflection\n editType: 'calc',\n \n },\n facenormalsepsilon: {\n valType: 'number',\n \n min: 0.00,\n max: 1,\n dflt: 1e-6, // even the brain model doesn't appear to need finer than this\n editType: 'calc',\n \n },\n editType: 'calc'\n }, surfaceAttrs.lighting),\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {editType: 'calc'}),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n});\n\n\n/***/ }),\n\n/***/ \"6b5f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar plots = __webpack_require__(\"bb71\");\n\nexports.name = 'pie';\n\nexports.plot = function(gd, traces, transitionOpts, makeOnCompleteCallback) {\n plots.plotBasePlot(exports.name, gd, traces, transitionOpts, makeOnCompleteCallback);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n plots.cleanBasePlot(exports.name, newFullData, newFullLayout, oldFullData, oldFullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"6b78\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar perStackAttrs = ['orientation', 'groupnorm', 'stackgaps'];\n\nmodule.exports = function handleStackDefaults(traceIn, traceOut, layout, coerce) {\n var stackOpts = layout._scatterStackOpts;\n\n var stackGroup = coerce('stackgroup');\n if(stackGroup) {\n // use independent stacking options per subplot\n var subplot = traceOut.xaxis + traceOut.yaxis;\n var subplotStackOpts = stackOpts[subplot];\n if(!subplotStackOpts) subplotStackOpts = stackOpts[subplot] = {};\n\n var groupOpts = subplotStackOpts[stackGroup];\n var firstTrace = false;\n if(groupOpts) {\n groupOpts.traces.push(traceOut);\n } else {\n groupOpts = subplotStackOpts[stackGroup] = {\n // keep track of trace indices for use during stacking calculations\n // this will be filled in during `calc` and used during `crossTraceCalc`\n // so it's OK if we don't recreate it during a non-calc edit\n traceIndices: [],\n // Hold on to the whole set of prior traces\n // First one is most important, so we can clear defaults\n // there if we find explicit values only in later traces.\n // We're only going to *use* the values stored in groupOpts,\n // but for the editor and validate we want things self-consistent\n // The full set of traces is used only to fix `fill` default if\n // we find `orientation: 'h'` beyond the first trace\n traces: [traceOut]\n };\n firstTrace = true;\n }\n // TODO: how is this going to work with groupby transforms?\n // in principle it should be OK I guess, as long as explicit group styles\n // don't override explicit base-trace styles?\n\n var dflts = {\n orientation: (traceOut.x && !traceOut.y) ? 'h' : 'v'\n };\n\n for(var i = 0; i < perStackAttrs.length; i++) {\n var attr = perStackAttrs[i];\n var attrFound = attr + 'Found';\n if(!groupOpts[attrFound]) {\n var traceHasAttr = traceIn[attr] !== undefined;\n var isOrientation = attr === 'orientation';\n if(traceHasAttr || firstTrace) {\n groupOpts[attr] = coerce(attr, dflts[attr]);\n\n if(isOrientation) {\n groupOpts.fillDflt = groupOpts[attr] === 'h' ?\n 'tonextx' : 'tonexty';\n }\n\n if(traceHasAttr) {\n // Note: this will show a value here even if it's invalid\n // in which case it will revert to default.\n groupOpts[attrFound] = true;\n\n // Note: only one trace in the stack will get a _fullData\n // entry for a given stack-wide attribute. If no traces\n // (or the first trace) specify that attribute, the\n // first trace will get it. If the first trace does NOT\n // specify it but some later trace does, then it gets\n // removed from the first trace and only included in the\n // one that specified it. This is mostly important for\n // editors (that want to see the full values to know\n // what settings are available) and Plotly.react diffing.\n // Editors may want to use fullLayout._scatterStackOpts\n // directly and make these settings available from all\n // traces in the stack... then set the new value into\n // the first trace, and clear all later traces.\n if(!firstTrace) {\n delete groupOpts.traces[0][attr];\n\n // orientation can affect default fill of previous traces\n if(isOrientation) {\n for(var j = 0; j < groupOpts.traces.length - 1; j++) {\n var trace2 = groupOpts.traces[j];\n if(trace2._input.fill !== trace2.fill) {\n trace2.fill = groupOpts.fillDflt;\n }\n }\n }\n }\n }\n }\n }\n }\n return groupOpts;\n }\n};\n\n\n/***/ }),\n\n/***/ \"6bd5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Colorscale = __webpack_require__(\"c258\");\n\nvar heatmapCalc = __webpack_require__(\"0625\");\nvar setContours = __webpack_require__(\"8a7d\");\nvar endPlus = __webpack_require__(\"bc6b\");\n\n// most is the same as heatmap calc, then adjust it\n// though a few things inside heatmap calc still look for\n// contour maps, because the makeBoundArray calls are too entangled\nmodule.exports = function calc(gd, trace) {\n var cd = heatmapCalc(gd, trace);\n\n var zOut = cd[0].z;\n setContours(trace, zOut);\n\n var contours = trace.contours;\n var cOpts = Colorscale.extractOpts(trace);\n var cVals;\n\n if(contours.coloring === 'heatmap' && cOpts.auto && trace.autocontour === false) {\n var start = contours.start;\n var end = endPlus(contours);\n var cs = contours.size || 1;\n var nc = Math.floor((end - start) / cs) + 1;\n\n if(!isFinite(cs)) {\n cs = 1;\n nc = 1;\n }\n\n var min0 = start - cs / 2;\n var max0 = min0 + nc * cs;\n cVals = [min0, max0];\n } else {\n cVals = zOut;\n }\n\n Colorscale.calc(gd, trace, {vals: cVals, cLetter: 'z'});\n\n return cd;\n};\n\n\n/***/ }),\n\n/***/ \"6c5a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n/**\n * Determine the position anchor property of x/y xanchor/yanchor components.\n *\n * - values < 1/3 align the low side at that fraction,\n * - values [1/3, 2/3] align the center at that fraction,\n * - values > 2/3 align the right at that fraction.\n */\n\n\nexports.isLeftAnchor = function isLeftAnchor(opts) {\n return (\n opts.xanchor === 'left' ||\n (opts.xanchor === 'auto' && opts.x <= 1 / 3)\n );\n};\n\nexports.isCenterAnchor = function isCenterAnchor(opts) {\n return (\n opts.xanchor === 'center' ||\n (opts.xanchor === 'auto' && opts.x > 1 / 3 && opts.x < 2 / 3)\n );\n};\n\nexports.isRightAnchor = function isRightAnchor(opts) {\n return (\n opts.xanchor === 'right' ||\n (opts.xanchor === 'auto' && opts.x >= 2 / 3)\n );\n};\n\nexports.isTopAnchor = function isTopAnchor(opts) {\n return (\n opts.yanchor === 'top' ||\n (opts.yanchor === 'auto' && opts.y >= 2 / 3)\n );\n};\n\nexports.isMiddleAnchor = function isMiddleAnchor(opts) {\n return (\n opts.yanchor === 'middle' ||\n (opts.yanchor === 'auto' && opts.y > 1 / 3 && opts.y < 2 / 3)\n );\n};\n\nexports.isBottomAnchor = function isBottomAnchor(opts) {\n return (\n opts.yanchor === 'bottom' ||\n (opts.yanchor === 'auto' && opts.y <= 1 / 3)\n );\n};\n\n\n/***/ }),\n\n/***/ \"6c77\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n COMPARISON_OPS: ['=', '!=', '<', '>=', '>', '<='],\n COMPARISON_OPS2: ['=', '<', '>=', '>', '<='],\n INTERVAL_OPS: ['[]', '()', '[)', '(]', '][', ')(', '](', ')['],\n SET_OPS: ['{}', '}{'],\n CONSTRAINT_REDUCTION: {\n // for contour constraints, open/closed endpoints are equivalent\n '=': '=',\n\n '<': '<',\n '<=': '<',\n\n '>': '>',\n '>=': '>',\n\n '[]': '[]',\n '()': '[]',\n '[)': '[]',\n '(]': '[]',\n\n '][': '][',\n ')(': '][',\n '](': '][',\n ')[': ']['\n }\n};\n\n\n/***/ }),\n\n/***/ \"6ca5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"89ab\");\n\n\n/***/ }),\n\n/***/ \"6ceb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getContext = __webpack_require__(\"fda9\")\n\nmodule.exports = function getWebGLContext (opt) {\n return getContext('webgl', opt)\n}\n\n\n/***/ }),\n\n/***/ \"6d08\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"6d0a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"c7c2\");\n\n\n/***/ }),\n\n/***/ \"6dcc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\n\nmodule.exports = {\n count: function(n, i, size) {\n size[n]++;\n return 1;\n },\n\n sum: function(n, i, size, counterData) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n size[n] += v;\n return v;\n }\n return 0;\n },\n\n avg: function(n, i, size, counterData, counts) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n size[n] += v;\n counts[n]++;\n }\n return 0;\n },\n\n min: function(n, i, size, counterData) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n if(!isNumeric(size[n])) {\n size[n] = v;\n return v;\n } else if(size[n] > v) {\n var delta = v - size[n];\n size[n] = v;\n return delta;\n }\n }\n return 0;\n },\n\n max: function(n, i, size, counterData) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n if(!isNumeric(size[n])) {\n size[n] = v;\n return v;\n } else if(size[n] < v) {\n var delta = v - size[n];\n size[n] = v;\n return delta;\n }\n }\n return 0;\n }\n};\n\n\n/***/ }),\n\n/***/ \"6dd0\":\n/***/ (function(module) {\n\nmodule.exports = JSON.parse(\"[\\\"caption\\\",\\\"icon\\\",\\\"menu\\\",\\\"message-box\\\",\\\"small-caption\\\",\\\"status-bar\\\"]\");\n\n/***/ }),\n\n/***/ \"6dea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\n\nmodule.exports = function calc(gd, trace) {\n if(trace.intensity) {\n colorscaleCalc(gd, trace, {\n vals: trace.intensity,\n containerStr: '',\n cLetter: 'c'\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"6e1f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = segmentsIntersect\n\nvar orient = __webpack_require__(\"92ba\")[3]\n\nfunction checkCollinear(a0, a1, b0, b1) {\n\n for(var d=0; d<2; ++d) {\n var x0 = a0[d]\n var y0 = a1[d]\n var l0 = Math.min(x0, y0)\n var h0 = Math.max(x0, y0) \n\n var x1 = b0[d]\n var y1 = b1[d]\n var l1 = Math.min(x1, y1)\n var h1 = Math.max(x1, y1) \n\n if(h1 < l0 || h0 < l1) {\n return false\n }\n }\n\n return true\n}\n\nfunction segmentsIntersect(a0, a1, b0, b1) {\n var x0 = orient(a0, b0, b1)\n var y0 = orient(a1, b0, b1)\n if((x0 > 0 && y0 > 0) || (x0 < 0 && y0 < 0)) {\n return false\n }\n\n var x1 = orient(b0, a0, a1)\n var y1 = orient(b1, a0, a1)\n if((x1 > 0 && y1 > 0) || (x1 < 0 && y1 < 0)) {\n return false\n }\n\n //Check for degenerate collinear case\n if(x0 === 0 && y0 === 0 && x1 === 0 && y1 === 0) {\n return checkCollinear(a0, a1, b0, b1)\n }\n\n return true\n}\n\n/***/ }),\n\n/***/ \"6e40\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar modModule = __webpack_require__(\"d3dc\");\nvar mod = modModule.mod;\nvar modHalf = modModule.modHalf;\n\nvar PI = Math.PI;\nvar twoPI = 2 * PI;\n\nfunction deg2rad(deg) { return deg / 180 * PI; }\n\nfunction rad2deg(rad) { return rad / PI * 180; }\n\n/**\n * is sector a full circle?\n * ... this comes up a lot in SVG path-drawing routines\n *\n * N.B. we consider all sectors that span more that 2pi 'full' circles\n *\n * @param {2-item array} aBnds : angular bounds in *radians*\n * @return {boolean}\n */\nfunction isFullCircle(aBnds) {\n return Math.abs(aBnds[1] - aBnds[0]) > twoPI - 1e-14;\n}\n\n/**\n * angular delta between angle 'a' and 'b'\n * solution taken from: https://stackoverflow.com/a/2007279\n *\n * @param {number} a : first angle in *radians*\n * @param {number} b : second angle in *radians*\n * @return {number} angular delta in *radians*\n */\nfunction angleDelta(a, b) {\n return modHalf(b - a, twoPI);\n}\n\n/**\n * angular distance between angle 'a' and 'b'\n *\n * @param {number} a : first angle in *radians*\n * @param {number} b : second angle in *radians*\n * @return {number} angular distance in *radians*\n */\nfunction angleDist(a, b) {\n return Math.abs(angleDelta(a, b));\n}\n\n/**\n * is angle inside sector?\n *\n * @param {number} a : angle to test in *radians*\n * @param {2-item array} aBnds : sector's angular bounds in *radians*\n * @param {boolean}\n */\nfunction isAngleInsideSector(a, aBnds) {\n if(isFullCircle(aBnds)) return true;\n\n var s0, s1;\n\n if(aBnds[0] < aBnds[1]) {\n s0 = aBnds[0];\n s1 = aBnds[1];\n } else {\n s0 = aBnds[1];\n s1 = aBnds[0];\n }\n\n s0 = mod(s0, twoPI);\n s1 = mod(s1, twoPI);\n if(s0 > s1) s1 += twoPI;\n\n var a0 = mod(a, twoPI);\n var a1 = a0 + twoPI;\n\n return (a0 >= s0 && a0 <= s1) || (a1 >= s0 && a1 <= s1);\n}\n\n/**\n * is pt (r,a) inside sector?\n *\n * @param {number} r : pt's radial coordinate\n * @param {number} a : pt's angular coordinate in *radians*\n * @param {2-item array} rBnds : sector's radial bounds\n * @param {2-item array} aBnds : sector's angular bounds in *radians*\n * @return {boolean}\n */\nfunction isPtInsideSector(r, a, rBnds, aBnds) {\n if(!isAngleInsideSector(a, aBnds)) return false;\n\n var r0, r1;\n\n if(rBnds[0] < rBnds[1]) {\n r0 = rBnds[0];\n r1 = rBnds[1];\n } else {\n r0 = rBnds[1];\n r1 = rBnds[0];\n }\n\n return r >= r0 && r <= r1;\n}\n\n// common to pathArc, pathSector and pathAnnulus\nfunction _path(r0, r1, a0, a1, cx, cy, isClosed) {\n cx = cx || 0;\n cy = cy || 0;\n\n var isCircle = isFullCircle([a0, a1]);\n var aStart, aMid, aEnd;\n var rStart, rEnd;\n\n if(isCircle) {\n aStart = 0;\n aMid = PI;\n aEnd = twoPI;\n } else {\n if(a0 < a1) {\n aStart = a0;\n aEnd = a1;\n } else {\n aStart = a1;\n aEnd = a0;\n }\n }\n\n if(r0 < r1) {\n rStart = r0;\n rEnd = r1;\n } else {\n rStart = r1;\n rEnd = r0;\n }\n\n // N.B. svg coordinates here, where y increases downward\n function pt(r, a) {\n return [r * Math.cos(a) + cx, cy - r * Math.sin(a)];\n }\n\n var largeArc = Math.abs(aEnd - aStart) <= PI ? 0 : 1;\n function arc(r, a, cw) {\n return 'A' + [r, r] + ' ' + [0, largeArc, cw] + ' ' + pt(r, a);\n }\n\n var p;\n\n if(isCircle) {\n if(rStart === null) {\n p = 'M' + pt(rEnd, aStart) +\n arc(rEnd, aMid, 0) +\n arc(rEnd, aEnd, 0) + 'Z';\n } else {\n p = 'M' + pt(rStart, aStart) +\n arc(rStart, aMid, 0) +\n arc(rStart, aEnd, 0) + 'Z' +\n 'M' + pt(rEnd, aStart) +\n arc(rEnd, aMid, 1) +\n arc(rEnd, aEnd, 1) + 'Z';\n }\n } else {\n if(rStart === null) {\n p = 'M' + pt(rEnd, aStart) + arc(rEnd, aEnd, 0);\n if(isClosed) p += 'L0,0Z';\n } else {\n p = 'M' + pt(rStart, aStart) +\n 'L' + pt(rEnd, aStart) +\n arc(rEnd, aEnd, 0) +\n 'L' + pt(rStart, aEnd) +\n arc(rStart, aStart, 1) + 'Z';\n }\n }\n\n return p;\n}\n\n/**\n * path an arc\n *\n * @param {number} r : radius\n * @param {number} a0 : first angular coordinate in *radians*\n * @param {number} a1 : second angular coordinate in *radians*\n * @param {number (optional)} cx : x coordinate of center\n * @param {number (optional)} cy : y coordinate of center\n * @return {string} svg path\n */\nfunction pathArc(r, a0, a1, cx, cy) {\n return _path(null, r, a0, a1, cx, cy, 0);\n}\n\n/**\n * path a sector\n *\n * @param {number} r : radius\n * @param {number} a0 : first angular coordinate in *radians*\n * @param {number} a1 : second angular coordinate in *radians*\n * @param {number (optional)} cx : x coordinate of center\n * @param {number (optional)} cy : y coordinate of center\n * @return {string} svg path\n */\nfunction pathSector(r, a0, a1, cx, cy) {\n return _path(null, r, a0, a1, cx, cy, 1);\n}\n\n/**\n * path an annulus\n *\n * @param {number} r0 : first radial coordinate\n * @param {number} r1 : second radial coordinate\n * @param {number} a0 : first angular coordinate in *radians*\n * @param {number} a1 : second angular coordinate in *radians*\n * @param {number (optional)} cx : x coordinate of center\n * @param {number (optional)} cy : y coordinate of center\n * @return {string} svg path\n */\nfunction pathAnnulus(r0, r1, a0, a1, cx, cy) {\n return _path(r0, r1, a0, a1, cx, cy, 1);\n}\n\nmodule.exports = {\n deg2rad: deg2rad,\n rad2deg: rad2deg,\n angleDelta: angleDelta,\n angleDist: angleDist,\n isFullCircle: isFullCircle,\n isAngleInsideSector: isAngleInsideSector,\n isPtInsideSector: isPtInsideSector,\n pathArc: pathArc,\n pathSector: pathSector,\n pathAnnulus: pathAnnulus\n};\n\n\n/***/ }),\n\n/***/ \"6e58\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;!function() {\n var d3 = {\n version: \"3.5.17\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n return d3_arraySlice.call(list);\n };\n var d3_document = this.document;\n function d3_documentElement(node) {\n return node && (node.ownerDocument || node.document || node).documentElement;\n }\n function d3_window(node) {\n return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n }\n if (d3_document) {\n try {\n d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n } catch (e) {\n d3_array = function(list) {\n var i = list.length, array = new Array(i);\n while (i--) array[i] = list[i];\n return array;\n };\n }\n }\n if (!Date.now) Date.now = function() {\n return +new Date();\n };\n if (d3_document) {\n try {\n d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch (error) {\n var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n d3_element_prototype.setAttribute = function(name, value) {\n d3_element_setAttribute.call(this, name, value + \"\");\n };\n d3_element_prototype.setAttributeNS = function(space, local, value) {\n d3_element_setAttributeNS.call(this, space, local, value + \"\");\n };\n d3_style_prototype.setProperty = function(name, value, priority) {\n d3_style_setProperty.call(this, name, value + \"\", priority);\n };\n }\n }\n d3.ascending = d3_ascending;\n function d3_ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n }\n d3.descending = function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n };\n d3.min = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n }\n return a;\n };\n d3.max = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n }\n return a;\n };\n d3.extent = function(array, f) {\n var i = -1, n = array.length, a, b, c;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n }\n return [ a, c ];\n };\n function d3_number(x) {\n return x === null ? NaN : +x;\n }\n function d3_numeric(x) {\n return !isNaN(x);\n }\n d3.sum = function(array, f) {\n var s = 0, n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n } else {\n while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n }\n return s;\n };\n d3.mean = function(array, f) {\n var s = 0, n = array.length, a, i = -1, j = n;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n }\n if (j) return s / j;\n };\n d3.quantile = function(values, p) {\n var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n return e ? v + e * (values[h] - v) : v;\n };\n d3.median = function(array, f) {\n var numbers = [], n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n }\n if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n };\n d3.variance = function(array, f) {\n var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n if (arguments.length === 1) {\n while (++i < n) {\n if (d3_numeric(a = d3_number(array[i]))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n } else {\n while (++i < n) {\n if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n }\n if (j > 1) return s / (j - 1);\n };\n d3.deviation = function() {\n var v = d3.variance.apply(this, arguments);\n return v ? Math.sqrt(v) : v;\n };\n function d3_bisector(compare) {\n return {\n left: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n }\n return lo;\n }\n };\n }\n var d3_bisect = d3_bisector(d3_ascending);\n d3.bisectLeft = d3_bisect.left;\n d3.bisect = d3.bisectRight = d3_bisect.right;\n d3.bisector = function(f) {\n return d3_bisector(f.length === 1 ? function(d, x) {\n return d3_ascending(f(d), x);\n } : f);\n };\n d3.shuffle = function(array, i0, i1) {\n if ((m = arguments.length) < 3) {\n i1 = array.length;\n if (m < 2) i0 = 0;\n }\n var m = i1 - i0, t, i;\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n }\n return array;\n };\n d3.permute = function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n };\n d3.pairs = function(array) {\n var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n return pairs;\n };\n d3.transpose = function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n };\n function d3_transposeLength(d) {\n return d.length;\n }\n d3.zip = function() {\n return d3.transpose(arguments);\n };\n d3.keys = function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n };\n d3.values = function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n };\n d3.entries = function(map) {\n var entries = [];\n for (var key in map) entries.push({\n key: key,\n value: map[key]\n });\n return entries;\n };\n d3.merge = function(arrays) {\n var n = arrays.length, m, i = -1, j = 0, merged, array;\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n return merged;\n };\n var abs = Math.abs;\n d3.range = function(start, stop, step) {\n if (arguments.length < 3) {\n step = 1;\n if (arguments.length < 2) {\n stop = start;\n start = 0;\n }\n }\n if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n start *= k, stop *= k, step *= k;\n if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n return range;\n };\n function d3_range_integerScale(x) {\n var k = 1;\n while (x * k % 1) k *= 10;\n return k;\n }\n function d3_class(ctor, properties) {\n for (var key in properties) {\n Object.defineProperty(ctor.prototype, key, {\n value: properties[key],\n enumerable: false\n });\n }\n }\n d3.map = function(object, f) {\n var map = new d3_Map();\n if (object instanceof d3_Map) {\n object.forEach(function(key, value) {\n map.set(key, value);\n });\n } else if (Array.isArray(object)) {\n var i = -1, n = object.length, o;\n if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n } else {\n for (var key in object) map.set(key, object[key]);\n }\n return map;\n };\n function d3_Map() {\n this._ = Object.create(null);\n }\n var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n d3_class(d3_Map, {\n has: d3_map_has,\n get: function(key) {\n return this._[d3_map_escape(key)];\n },\n set: function(key, value) {\n return this._[d3_map_escape(key)] = value;\n },\n remove: d3_map_remove,\n keys: d3_map_keys,\n values: function() {\n var values = [];\n for (var key in this._) values.push(this._[key]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var key in this._) entries.push({\n key: d3_map_unescape(key),\n value: this._[key]\n });\n return entries;\n },\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n }\n });\n function d3_map_escape(key) {\n return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n }\n function d3_map_unescape(key) {\n return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n }\n function d3_map_has(key) {\n return d3_map_escape(key) in this._;\n }\n function d3_map_remove(key) {\n return (key = d3_map_escape(key)) in this._ && delete this._[key];\n }\n function d3_map_keys() {\n var keys = [];\n for (var key in this._) keys.push(d3_map_unescape(key));\n return keys;\n }\n function d3_map_size() {\n var size = 0;\n for (var key in this._) ++size;\n return size;\n }\n function d3_map_empty() {\n for (var key in this._) return false;\n return true;\n }\n d3.nest = function() {\n var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n function map(mapType, array, depth) {\n if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n values.push(object);\n } else {\n valuesByKey.set(keyValue, [ object ]);\n }\n }\n if (mapType) {\n object = mapType();\n setter = function(keyValue, values) {\n object.set(keyValue, map(mapType, values, depth));\n };\n } else {\n object = {};\n setter = function(keyValue, values) {\n object[keyValue] = map(mapType, values, depth);\n };\n }\n valuesByKey.forEach(setter);\n return object;\n }\n function entries(map, depth) {\n if (depth >= keys.length) return map;\n var array = [], sortKey = sortKeys[depth++];\n map.forEach(function(key, keyMap) {\n array.push({\n key: key,\n values: entries(keyMap, depth)\n });\n });\n return sortKey ? array.sort(function(a, b) {\n return sortKey(a.key, b.key);\n }) : array;\n }\n nest.map = function(array, mapType) {\n return map(mapType, array, 0);\n };\n nest.entries = function(array) {\n return entries(map(d3.map, array, 0), 0);\n };\n nest.key = function(d) {\n keys.push(d);\n return nest;\n };\n nest.sortKeys = function(order) {\n sortKeys[keys.length - 1] = order;\n return nest;\n };\n nest.sortValues = function(order) {\n sortValues = order;\n return nest;\n };\n nest.rollup = function(f) {\n rollup = f;\n return nest;\n };\n return nest;\n };\n d3.set = function(array) {\n var set = new d3_Set();\n if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n return set;\n };\n function d3_Set() {\n this._ = Object.create(null);\n }\n d3_class(d3_Set, {\n has: d3_map_has,\n add: function(key) {\n this._[d3_map_escape(key += \"\")] = true;\n return key;\n },\n remove: d3_map_remove,\n values: d3_map_keys,\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key));\n }\n });\n d3.behavior = {};\n function d3_identity(d) {\n return d;\n }\n d3.rebind = function(target, source) {\n var i = 1, n = arguments.length, method;\n while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n return target;\n };\n function d3_rebind(target, source, method) {\n return function() {\n var value = method.apply(source, arguments);\n return value === source ? target : value;\n };\n }\n function d3_vendorSymbol(object, name) {\n if (name in object) return name;\n name = name.charAt(0).toUpperCase() + name.slice(1);\n for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n var prefixName = d3_vendorPrefixes[i] + name;\n if (prefixName in object) return prefixName;\n }\n }\n var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n function d3_noop() {}\n d3.dispatch = function() {\n var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n return dispatch;\n };\n function d3_dispatch() {}\n d3_dispatch.prototype.on = function(type, listener) {\n var i = type.indexOf(\".\"), name = \"\";\n if (i >= 0) {\n name = type.slice(i + 1);\n type = type.slice(0, i);\n }\n if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n if (arguments.length === 2) {\n if (listener == null) for (type in this) {\n if (this.hasOwnProperty(type)) this[type].on(name, null);\n }\n return this;\n }\n };\n function d3_dispatch_event(dispatch) {\n var listeners = [], listenerByName = new d3_Map();\n function event() {\n var z = listeners, i = -1, n = z.length, l;\n while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n return dispatch;\n }\n event.on = function(name, listener) {\n var l = listenerByName.get(name), i;\n if (arguments.length < 2) return l && l.on;\n if (l) {\n l.on = null;\n listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n listenerByName.remove(name);\n }\n if (listener) listeners.push(listenerByName.set(name, {\n on: listener\n }));\n return dispatch;\n };\n return event;\n }\n d3.event = null;\n function d3_eventPreventDefault() {\n d3.event.preventDefault();\n }\n function d3_eventSource() {\n var e = d3.event, s;\n while (s = e.sourceEvent) e = s;\n return e;\n }\n function d3_eventDispatch(target) {\n var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n dispatch.of = function(thiz, argumentz) {\n return function(e1) {\n try {\n var e0 = e1.sourceEvent = d3.event;\n e1.target = target;\n d3.event = e1;\n dispatch[e1.type].apply(thiz, argumentz);\n } finally {\n d3.event = e0;\n }\n };\n };\n return dispatch;\n }\n d3.requote = function(s) {\n return s.replace(d3_requote_re, \"\\\\$&\");\n };\n var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n var d3_subclass = {}.__proto__ ? function(object, prototype) {\n object.__proto__ = prototype;\n } : function(object, prototype) {\n for (var property in prototype) object[property] = prototype[property];\n };\n function d3_selection(groups) {\n d3_subclass(groups, d3_selectionPrototype);\n return groups;\n }\n var d3_select = function(s, n) {\n return n.querySelector(s);\n }, d3_selectAll = function(s, n) {\n return n.querySelectorAll(s);\n }, d3_selectMatches = function(n, s) {\n var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n d3_selectMatches = function(n, s) {\n return d3_selectMatcher.call(n, s);\n };\n return d3_selectMatches(n, s);\n };\n if (typeof Sizzle === \"function\") {\n d3_select = function(s, n) {\n return Sizzle(s, n)[0] || null;\n };\n d3_selectAll = Sizzle;\n d3_selectMatches = Sizzle.matchesSelector;\n }\n d3.selection = function() {\n return d3.select(d3_document.documentElement);\n };\n var d3_selectionPrototype = d3.selection.prototype = [];\n d3_selectionPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, group, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selector(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_select(selector, this);\n };\n }\n d3_selectionPrototype.selectAll = function(selector) {\n var subgroups = [], subgroup, node;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n subgroup.parentNode = node;\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selectorAll(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_selectAll(selector, this);\n };\n }\n var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n var d3_nsPrefix = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: d3_nsXhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n };\n d3.ns = {\n prefix: d3_nsPrefix,\n qualify: function(name) {\n var i = name.indexOf(\":\"), prefix = name;\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return d3_nsPrefix.hasOwnProperty(prefix) ? {\n space: d3_nsPrefix[prefix],\n local: name\n } : name;\n }\n };\n d3_selectionPrototype.attr = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node();\n name = d3.ns.qualify(name);\n return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n }\n for (value in name) this.each(d3_selection_attr(value, name[value]));\n return this;\n }\n return this.each(d3_selection_attr(name, value));\n };\n function d3_selection_attr(name, value) {\n name = d3.ns.qualify(name);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrConstant() {\n this.setAttribute(name, value);\n }\n function attrConstantNS() {\n this.setAttributeNS(name.space, name.local, value);\n }\n function attrFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n }\n function attrFunctionNS() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n }\n return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n }\n function d3_collapse(s) {\n return s.trim().replace(/\\s+/g, \" \");\n }\n d3_selectionPrototype.classed = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n if (value = node.classList) {\n while (++i < n) if (!value.contains(name[i])) return false;\n } else {\n value = node.getAttribute(\"class\");\n while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n }\n return true;\n }\n for (value in name) this.each(d3_selection_classed(value, name[value]));\n return this;\n }\n return this.each(d3_selection_classed(name, value));\n };\n function d3_selection_classedRe(name) {\n return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n }\n function d3_selection_classes(name) {\n return (name + \"\").trim().split(/^|\\s+/);\n }\n function d3_selection_classed(name, value) {\n name = d3_selection_classes(name).map(d3_selection_classedName);\n var n = name.length;\n function classedConstant() {\n var i = -1;\n while (++i < n) name[i](this, value);\n }\n function classedFunction() {\n var i = -1, x = value.apply(this, arguments);\n while (++i < n) name[i](this, x);\n }\n return typeof value === \"function\" ? classedFunction : classedConstant;\n }\n function d3_selection_classedName(name) {\n var re = d3_selection_classedRe(name);\n return function(node, value) {\n if (c = node.classList) return value ? c.add(name) : c.remove(name);\n var c = node.getAttribute(\"class\") || \"\";\n if (value) {\n re.lastIndex = 0;\n if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n } else {\n node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n }\n };\n }\n d3_selectionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n return this;\n }\n if (n < 2) {\n var node = this.node();\n return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n }\n priority = \"\";\n }\n return this.each(d3_selection_style(name, value, priority));\n };\n function d3_selection_style(name, value, priority) {\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleConstant() {\n this.style.setProperty(name, value, priority);\n }\n function styleFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n }\n return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n }\n d3_selectionPrototype.property = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") return this.node()[name];\n for (value in name) this.each(d3_selection_property(value, name[value]));\n return this;\n }\n return this.each(d3_selection_property(name, value));\n };\n function d3_selection_property(name, value) {\n function propertyNull() {\n delete this[name];\n }\n function propertyConstant() {\n this[name] = value;\n }\n function propertyFunction() {\n var x = value.apply(this, arguments);\n if (x == null) delete this[name]; else this[name] = x;\n }\n return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n }\n d3_selectionPrototype.text = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n } : value == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = value;\n }) : this.node().textContent;\n };\n d3_selectionPrototype.html = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n } : value == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = value;\n }) : this.node().innerHTML;\n };\n d3_selectionPrototype.append = function(name) {\n name = d3_selection_creator(name);\n return this.select(function() {\n return this.appendChild(name.apply(this, arguments));\n });\n };\n function d3_selection_creator(name) {\n function create() {\n var document = this.ownerDocument, namespace = this.namespaceURI;\n return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n }\n function createNS() {\n return this.ownerDocument.createElementNS(name.space, name.local);\n }\n return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n }\n d3_selectionPrototype.insert = function(name, before) {\n name = d3_selection_creator(name);\n before = d3_selection_selector(before);\n return this.select(function() {\n return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n });\n };\n d3_selectionPrototype.remove = function() {\n return this.each(d3_selectionRemove);\n };\n function d3_selectionRemove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n }\n d3_selectionPrototype.data = function(value, key) {\n var i = -1, n = this.length, group, node;\n if (!arguments.length) {\n value = new Array(n = (group = this[0]).length);\n while (++i < n) {\n if (node = group[i]) {\n value[i] = node.__data__;\n }\n }\n return value;\n }\n function bind(group, groupData) {\n var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n if (key) {\n var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n for (i = -1; ++i < n; ) {\n if (node = group[i]) {\n if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n exitNodes[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n keyValues[i] = keyValue;\n }\n }\n for (i = -1; ++i < m; ) {\n if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n } else if (node !== true) {\n updateNodes[i] = node;\n node.__data__ = nodeData;\n }\n nodeByKeyValue.set(keyValue, true);\n }\n for (i = -1; ++i < n; ) {\n if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n exitNodes[i] = group[i];\n }\n }\n } else {\n for (i = -1; ++i < n0; ) {\n node = group[i];\n nodeData = groupData[i];\n if (node) {\n node.__data__ = nodeData;\n updateNodes[i] = node;\n } else {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n }\n }\n for (;i < m; ++i) {\n enterNodes[i] = d3_selection_dataNode(groupData[i]);\n }\n for (;i < n; ++i) {\n exitNodes[i] = group[i];\n }\n }\n enterNodes.update = updateNodes;\n enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n enter.push(enterNodes);\n update.push(updateNodes);\n exit.push(exitNodes);\n }\n var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n if (typeof value === \"function\") {\n while (++i < n) {\n bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n }\n } else {\n while (++i < n) {\n bind(group = this[i], value);\n }\n }\n update.enter = function() {\n return enter;\n };\n update.exit = function() {\n return exit;\n };\n return update;\n };\n function d3_selection_dataNode(data) {\n return {\n __data__: data\n };\n }\n d3_selectionPrototype.datum = function(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n };\n d3_selectionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_filter(selector) {\n return function() {\n return d3_selectMatches(this, selector);\n };\n }\n d3_selectionPrototype.order = function() {\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n };\n d3_selectionPrototype.sort = function(comparator) {\n comparator = d3_selection_sortComparator.apply(this, arguments);\n for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n return this.order();\n };\n function d3_selection_sortComparator(comparator) {\n if (!arguments.length) comparator = d3_ascending;\n return function(a, b) {\n return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n };\n }\n d3_selectionPrototype.each = function(callback) {\n return d3_selection_each(this, function(node, i, j) {\n callback.call(node, node.__data__, i, j);\n });\n };\n function d3_selection_each(groups, callback) {\n for (var j = 0, m = groups.length; j < m; j++) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n if (node = group[i]) callback(node, i, j);\n }\n }\n return groups;\n }\n d3_selectionPrototype.call = function(callback) {\n var args = d3_array(arguments);\n callback.apply(args[0] = this, args);\n return this;\n };\n d3_selectionPrototype.empty = function() {\n return !this.node();\n };\n d3_selectionPrototype.node = function() {\n for (var j = 0, m = this.length; j < m; j++) {\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n };\n d3_selectionPrototype.size = function() {\n var n = 0;\n d3_selection_each(this, function() {\n ++n;\n });\n return n;\n };\n function d3_selection_enter(selection) {\n d3_subclass(selection, d3_selection_enterPrototype);\n return selection;\n }\n var d3_selection_enterPrototype = [];\n d3.selection.enter = d3_selection_enter;\n d3.selection.enter.prototype = d3_selection_enterPrototype;\n d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n d3_selection_enterPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, upgroup, group, node;\n for (var j = -1, m = this.length; ++j < m; ) {\n upgroup = (group = this[j]).update;\n subgroups.push(subgroup = []);\n subgroup.parentNode = group.parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n d3_selection_enterPrototype.insert = function(name, before) {\n if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n return d3_selectionPrototype.insert.call(this, name, before);\n };\n function d3_selection_enterInsertBefore(enter) {\n var i0, j0;\n return function(d, i, j) {\n var group = enter[j].update, n = group.length, node;\n if (j != j0) j0 = j, i0 = 0;\n if (i >= i0) i0 = i + 1;\n while (!(node = group[i0]) && ++i0 < n) ;\n return node;\n };\n }\n d3.select = function(node) {\n var group;\n if (typeof node === \"string\") {\n group = [ d3_select(node, d3_document) ];\n group.parentNode = d3_document.documentElement;\n } else {\n group = [ node ];\n group.parentNode = d3_documentElement(node);\n }\n return d3_selection([ group ]);\n };\n d3.selectAll = function(nodes) {\n var group;\n if (typeof nodes === \"string\") {\n group = d3_array(d3_selectAll(nodes, d3_document));\n group.parentNode = d3_document.documentElement;\n } else {\n group = d3_array(nodes);\n group.parentNode = null;\n }\n return d3_selection([ group ]);\n };\n d3_selectionPrototype.on = function(type, listener, capture) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof type !== \"string\") {\n if (n < 2) listener = false;\n for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n return this;\n }\n if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n capture = false;\n }\n return this.each(d3_selection_on(type, listener, capture));\n };\n function d3_selection_on(type, listener, capture) {\n var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n if (i > 0) type = type.slice(0, i);\n var filter = d3_selection_onFilters.get(type);\n if (filter) type = filter, wrap = d3_selection_onFilter;\n function onRemove() {\n var l = this[name];\n if (l) {\n this.removeEventListener(type, l, l.$);\n delete this[name];\n }\n }\n function onAdd() {\n var l = wrap(listener, d3_array(arguments));\n onRemove.call(this);\n this.addEventListener(type, this[name] = l, l.$ = capture);\n l._ = listener;\n }\n function removeAll() {\n var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n for (var name in this) {\n if (match = name.match(re)) {\n var l = this[name];\n this.removeEventListener(match[1], l, l.$);\n delete this[name];\n }\n }\n }\n return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n }\n var d3_selection_onFilters = d3.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n if (d3_document) {\n d3_selection_onFilters.forEach(function(k) {\n if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n });\n }\n function d3_selection_onListener(listener, argumentz) {\n return function(e) {\n var o = d3.event;\n d3.event = e;\n argumentz[0] = this.__data__;\n try {\n listener.apply(this, argumentz);\n } finally {\n d3.event = o;\n }\n };\n }\n function d3_selection_onFilter(listener, argumentz) {\n var l = d3_selection_onListener(listener, argumentz);\n return function(e) {\n var target = this, related = e.relatedTarget;\n if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n l.call(target, e);\n }\n };\n }\n var d3_event_dragSelect, d3_event_dragId = 0;\n function d3_event_dragSuppress(node) {\n var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n if (d3_event_dragSelect == null) {\n d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n }\n if (d3_event_dragSelect) {\n var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n style[d3_event_dragSelect] = \"none\";\n }\n return function(suppressClick) {\n w.on(name, null);\n if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n if (suppressClick) {\n var off = function() {\n w.on(click, null);\n };\n w.on(click, function() {\n d3_eventPreventDefault();\n off();\n }, true);\n setTimeout(off, 0);\n }\n };\n }\n d3.mouse = function(container) {\n return d3_mousePoint(container, d3_eventSource());\n };\n var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function d3_mousePoint(container, e) {\n if (e.changedTouches) e = e.changedTouches[0];\n var svg = container.ownerSVGElement || container;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n if (d3_mouse_bug44083 < 0) {\n var window = d3_window(container);\n if (window.scrollX || window.scrollY) {\n svg = d3.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var ctm = svg[0][0].getScreenCTM();\n d3_mouse_bug44083 = !(ctm.f || ctm.e);\n svg.remove();\n }\n }\n if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n point.y = e.clientY;\n point = point.matrixTransform(container.getScreenCTM().inverse());\n return [ point.x, point.y ];\n }\n var rect = container.getBoundingClientRect();\n return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n }\n d3.touch = function(container, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return d3_mousePoint(container, touch);\n }\n }\n };\n d3.behavior.drag = function() {\n var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n function drag() {\n this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n }\n function dragstart(id, position, subject, move, end) {\n return function() {\n var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n if (origin) {\n dragOffset = origin.apply(that, arguments);\n dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n } else {\n dragOffset = [ 0, 0 ];\n }\n dispatch({\n type: \"dragstart\"\n });\n function moved() {\n var position1 = position(parent, dragId), dx, dy;\n if (!position1) return;\n dx = position1[0] - position0[0];\n dy = position1[1] - position0[1];\n dragged |= dx | dy;\n position0 = position1;\n dispatch({\n type: \"drag\",\n x: position1[0] + dragOffset[0],\n y: position1[1] + dragOffset[1],\n dx: dx,\n dy: dy\n });\n }\n function ended() {\n if (!position(parent, dragId)) return;\n dragSubject.on(move + dragName, null).on(end + dragName, null);\n dragRestore(dragged);\n dispatch({\n type: \"dragend\"\n });\n }\n };\n }\n drag.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return drag;\n };\n return d3.rebind(drag, event, \"on\");\n };\n function d3_behavior_dragTouchId() {\n return d3.event.changedTouches[0].identifier;\n }\n d3.touches = function(container, touches) {\n if (arguments.length < 2) touches = d3_eventSource().touches;\n return touches ? d3_array(touches).map(function(touch) {\n var point = d3_mousePoint(container, touch);\n point.identifier = touch.identifier;\n return point;\n }) : [];\n };\n var ฮต = 1e-6, ฮต2 = ฮต * ฮต, ฯ€ = Math.PI, ฯ„ = 2 * ฯ€, ฯ„ฮต = ฯ„ - ฮต, halfฯ€ = ฯ€ / 2, d3_radians = ฯ€ / 180, d3_degrees = 180 / ฯ€;\n function d3_sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function d3_cross2d(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n }\n function d3_acos(x) {\n return x > 1 ? 0 : x < -1 ? ฯ€ : Math.acos(x);\n }\n function d3_asin(x) {\n return x > 1 ? halfฯ€ : x < -1 ? -halfฯ€ : Math.asin(x);\n }\n function d3_sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n }\n function d3_cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n }\n function d3_tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n }\n function d3_haversin(x) {\n return (x = Math.sin(x / 2)) * x;\n }\n var ฯ = Math.SQRT2, ฯ2 = 2, ฯ4 = 4;\n d3.interpolateZoom = function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n if (d2 < ฮต2) {\n S = Math.log(w1 / w0) / ฯ;\n i = function(t) {\n return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ฯ * t * S) ];\n };\n } else {\n var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ฯ4 * d2) / (2 * w0 * ฯ2 * d1), b1 = (w1 * w1 - w0 * w0 - ฯ4 * d2) / (2 * w1 * ฯ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / ฯ;\n i = function(t) {\n var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (ฯ2 * d1) * (coshr0 * d3_tanh(ฯ * s + r0) - d3_sinh(r0));\n return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ฯ * s + r0) ];\n };\n }\n i.duration = S * 1e3;\n return i;\n };\n d3.behavior.zoom = function() {\n var view = {\n x: 0,\n y: 0,\n k: 1\n }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n if (!d3_behavior_zoomWheel) {\n d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return d3.event.wheelDelta;\n }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n return -d3.event.detail;\n }, \"MozMousePixelScroll\");\n }\n function zoom(g) {\n g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n }\n zoom.event = function(g) {\n g.each(function() {\n var dispatch = event.of(this, arguments), view1 = view;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.zoom\", function() {\n view = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n };\n zoomstarted(dispatch);\n }).tween(\"zoom:zoom\", function() {\n var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n return function(t) {\n var l = i(t), k = dx / l[2];\n this.__chart__ = view = {\n x: cx - l[0] * k,\n y: cy - l[1] * k,\n k: k\n };\n zoomed(dispatch);\n };\n }).each(\"interrupt.zoom\", function() {\n zoomended(dispatch);\n }).each(\"end.zoom\", function() {\n zoomended(dispatch);\n });\n } else {\n this.__chart__ = view;\n zoomstarted(dispatch);\n zoomed(dispatch);\n zoomended(dispatch);\n }\n });\n };\n zoom.translate = function(_) {\n if (!arguments.length) return [ view.x, view.y ];\n view = {\n x: +_[0],\n y: +_[1],\n k: view.k\n };\n rescale();\n return zoom;\n };\n zoom.scale = function(_) {\n if (!arguments.length) return view.k;\n view = {\n x: view.x,\n y: view.y,\n k: null\n };\n scaleTo(+_);\n rescale();\n return zoom;\n };\n zoom.scaleExtent = function(_) {\n if (!arguments.length) return scaleExtent;\n scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.center = function(_) {\n if (!arguments.length) return center;\n center = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.size = function(_) {\n if (!arguments.length) return size;\n size = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.duration = function(_) {\n if (!arguments.length) return duration;\n duration = +_;\n return zoom;\n };\n zoom.x = function(z) {\n if (!arguments.length) return x1;\n x1 = z;\n x0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n zoom.y = function(z) {\n if (!arguments.length) return y1;\n y1 = z;\n y0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n function location(p) {\n return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n }\n function point(l) {\n return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n }\n function scaleTo(s) {\n view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n }\n function translateTo(p, l) {\n l = point(l);\n view.x += p[0] - l[0];\n view.y += p[1] - l[1];\n }\n function zoomTo(that, p, l, k) {\n that.__chart__ = {\n x: view.x,\n y: view.y,\n k: view.k\n };\n scaleTo(Math.pow(2, k));\n translateTo(center0 = p, l);\n that = d3.select(that);\n if (duration > 0) that = that.transition().duration(duration);\n that.call(zoom.event);\n }\n function rescale() {\n if (x1) x1.domain(x0.range().map(function(x) {\n return (x - view.x) / view.k;\n }).map(x0.invert));\n if (y1) y1.domain(y0.range().map(function(y) {\n return (y - view.y) / view.k;\n }).map(y0.invert));\n }\n function zoomstarted(dispatch) {\n if (!zooming++) dispatch({\n type: \"zoomstart\"\n });\n }\n function zoomed(dispatch) {\n rescale();\n dispatch({\n type: \"zoom\",\n scale: view.k,\n translate: [ view.x, view.y ]\n });\n }\n function zoomended(dispatch) {\n if (!--zooming) dispatch({\n type: \"zoomend\"\n }), center0 = null;\n }\n function mousedowned() {\n var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n d3_selection_interrupt.call(that);\n zoomstarted(dispatch);\n function moved() {\n dragged = 1;\n translateTo(d3.mouse(that), location0);\n zoomed(dispatch);\n }\n function ended() {\n subject.on(mousemove, null).on(mouseup, null);\n dragRestore(dragged);\n zoomended(dispatch);\n }\n }\n function touchstarted() {\n var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n started();\n zoomstarted(dispatch);\n subject.on(mousedown, null).on(touchstart, started);\n function relocate() {\n var touches = d3.touches(that);\n scale0 = view.k;\n touches.forEach(function(t) {\n if (t.identifier in locations0) locations0[t.identifier] = location(t);\n });\n return touches;\n }\n function started() {\n var target = d3.event.target;\n d3.select(target).on(touchmove, moved).on(touchend, ended);\n targets.push(target);\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n locations0[changed[i].identifier] = null;\n }\n var touches = relocate(), now = Date.now();\n if (touches.length === 1) {\n if (now - touchtime < 500) {\n var p = touches[0];\n zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n d3_eventPreventDefault();\n }\n touchtime = now;\n } else if (touches.length > 1) {\n var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n distance0 = dx * dx + dy * dy;\n }\n }\n function moved() {\n var touches = d3.touches(that), p0, l0, p1, l1;\n d3_selection_interrupt.call(that);\n for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n p1 = touches[i];\n if (l1 = locations0[p1.identifier]) {\n if (l0) break;\n p0 = p1, l0 = l1;\n }\n }\n if (l1) {\n var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n scaleTo(scale1 * scale0);\n }\n touchtime = null;\n translateTo(p0, l0);\n zoomed(dispatch);\n }\n function ended() {\n if (d3.event.touches.length) {\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n delete locations0[changed[i].identifier];\n }\n for (var identifier in locations0) {\n return void relocate();\n }\n }\n d3.selectAll(targets).on(zoomName, null);\n subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n dragRestore();\n zoomended(dispatch);\n }\n }\n function mousewheeled() {\n var dispatch = event.of(this, arguments);\n if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n mousewheelTimer = setTimeout(function() {\n mousewheelTimer = null;\n zoomended(dispatch);\n }, 50);\n d3_eventPreventDefault();\n scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n translateTo(center0, translate0);\n zoomed(dispatch);\n }\n function dblclicked() {\n var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n }\n return d3.rebind(zoom, event, \"on\");\n };\n var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n d3.color = d3_color;\n function d3_color() {}\n d3_color.prototype.toString = function() {\n return this.rgb() + \"\";\n };\n d3.hsl = d3_hsl;\n function d3_hsl(h, s, l) {\n return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n }\n var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n d3_hslPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, this.l / k);\n };\n d3_hslPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, k * this.l);\n };\n d3_hslPrototype.rgb = function() {\n return d3_hsl_rgb(this.h, this.s, this.l);\n };\n function d3_hsl_rgb(h, s, l) {\n var m1, m2;\n h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n m1 = 2 * l - m2;\n function v(h) {\n if (h > 360) h -= 360; else if (h < 0) h += 360;\n if (h < 60) return m1 + (m2 - m1) * h / 60;\n if (h < 180) return m2;\n if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n return m1;\n }\n function vv(h) {\n return Math.round(v(h) * 255);\n }\n return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n }\n d3.hcl = d3_hcl;\n function d3_hcl(h, c, l) {\n return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n }\n var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n d3_hclPrototype.brighter = function(k) {\n return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.darker = function(k) {\n return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.rgb = function() {\n return d3_hcl_lab(this.h, this.c, this.l).rgb();\n };\n function d3_hcl_lab(h, c, l) {\n if (isNaN(h)) h = 0;\n if (isNaN(c)) c = 0;\n return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n }\n d3.lab = d3_lab;\n function d3_lab(l, a, b) {\n return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n }\n var d3_lab_K = 18;\n var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n var d3_labPrototype = d3_lab.prototype = new d3_color();\n d3_labPrototype.brighter = function(k) {\n return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.darker = function(k) {\n return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.rgb = function() {\n return d3_lab_rgb(this.l, this.a, this.b);\n };\n function d3_lab_rgb(l, a, b) {\n var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n x = d3_lab_xyz(x) * d3_lab_X;\n y = d3_lab_xyz(y) * d3_lab_Y;\n z = d3_lab_xyz(z) * d3_lab_Z;\n return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n }\n function d3_lab_hcl(l, a, b) {\n return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n }\n function d3_lab_xyz(x) {\n return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n }\n function d3_xyz_lab(x) {\n return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n }\n function d3_xyz_rgb(r) {\n return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n }\n d3.rgb = d3_rgb;\n function d3_rgb(r, g, b) {\n return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n }\n function d3_rgbNumber(value) {\n return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n }\n function d3_rgbString(value) {\n return d3_rgbNumber(value) + \"\";\n }\n var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n d3_rgbPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n var r = this.r, g = this.g, b = this.b, i = 30;\n if (!r && !g && !b) return new d3_rgb(i, i, i);\n if (r && r < i) r = i;\n if (g && g < i) g = i;\n if (b && b < i) b = i;\n return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n };\n d3_rgbPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_rgb(k * this.r, k * this.g, k * this.b);\n };\n d3_rgbPrototype.hsl = function() {\n return d3_rgb_hsl(this.r, this.g, this.b);\n };\n d3_rgbPrototype.toString = function() {\n return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n };\n function d3_rgb_hex(v) {\n return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n }\n function d3_rgb_parse(format, rgb, hsl) {\n var r = 0, g = 0, b = 0, m1, m2, color;\n m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n if (m1) {\n m2 = m1[2].split(\",\");\n switch (m1[1]) {\n case \"hsl\":\n {\n return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n }\n\n case \"rgb\":\n {\n return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n }\n }\n }\n if (color = d3_rgb_names.get(format)) {\n return rgb(color.r, color.g, color.b);\n }\n if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n if (format.length === 4) {\n r = (color & 3840) >> 4;\n r = r >> 4 | r;\n g = color & 240;\n g = g >> 4 | g;\n b = color & 15;\n b = b << 4 | b;\n } else if (format.length === 7) {\n r = (color & 16711680) >> 16;\n g = (color & 65280) >> 8;\n b = color & 255;\n }\n }\n return rgb(r, g, b);\n }\n function d3_rgb_hsl(r, g, b) {\n var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n if (d) {\n s = l < .5 ? d / (max + min) : d / (2 - max - min);\n if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n h *= 60;\n } else {\n h = NaN;\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new d3_hsl(h, s, l);\n }\n function d3_rgb_lab(r, g, b) {\n r = d3_rgb_xyz(r);\n g = d3_rgb_xyz(g);\n b = d3_rgb_xyz(b);\n var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n }\n function d3_rgb_xyz(r) {\n return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n }\n function d3_rgb_parseNumber(c) {\n var f = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n }\n var d3_rgb_names = d3.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n d3_rgb_names.forEach(function(key, value) {\n d3_rgb_names.set(key, d3_rgbNumber(value));\n });\n function d3_functor(v) {\n return typeof v === \"function\" ? v : function() {\n return v;\n };\n }\n d3.functor = d3_functor;\n d3.xhr = d3_xhrType(d3_identity);\n function d3_xhrType(response) {\n return function(url, mimeType, callback) {\n if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n mimeType = null;\n return d3_xhr(url, mimeType, response, callback);\n };\n }\n function d3_xhr(url, mimeType, response, callback) {\n var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n request.readyState > 3 && respond();\n };\n function respond() {\n var status = request.status, result;\n if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n try {\n result = response.call(xhr, request);\n } catch (e) {\n dispatch.error.call(xhr, e);\n return;\n }\n dispatch.load.call(xhr, result);\n } else {\n dispatch.error.call(xhr, request);\n }\n }\n request.onprogress = function(event) {\n var o = d3.event;\n d3.event = event;\n try {\n dispatch.progress.call(xhr, request);\n } finally {\n d3.event = o;\n }\n };\n xhr.header = function(name, value) {\n name = (name + \"\").toLowerCase();\n if (arguments.length < 2) return headers[name];\n if (value == null) delete headers[name]; else headers[name] = value + \"\";\n return xhr;\n };\n xhr.mimeType = function(value) {\n if (!arguments.length) return mimeType;\n mimeType = value == null ? null : value + \"\";\n return xhr;\n };\n xhr.responseType = function(value) {\n if (!arguments.length) return responseType;\n responseType = value;\n return xhr;\n };\n xhr.response = function(value) {\n response = value;\n return xhr;\n };\n [ \"get\", \"post\" ].forEach(function(method) {\n xhr[method] = function() {\n return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n };\n });\n xhr.send = function(method, data, callback) {\n if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n request.open(method, url, true);\n if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n if (responseType != null) request.responseType = responseType;\n if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n callback(null, request);\n });\n dispatch.beforesend.call(xhr, request);\n request.send(data == null ? null : data);\n return xhr;\n };\n xhr.abort = function() {\n request.abort();\n return xhr;\n };\n d3.rebind(xhr, dispatch, \"on\");\n return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n }\n function d3_xhr_fixCallback(callback) {\n return callback.length === 1 ? function(error, request) {\n callback(error == null ? request : null);\n } : callback;\n }\n function d3_xhrHasResponse(request) {\n var type = request.responseType;\n return type && type !== \"text\" ? request.response : request.responseText;\n }\n d3.dsv = function(delimiter, mimeType) {\n var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n function dsv(url, row, callback) {\n if (arguments.length < 3) callback = row, row = null;\n var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n xhr.row = function(_) {\n return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n };\n return xhr;\n }\n function response(request) {\n return dsv.parse(request.responseText);\n }\n function typedResponse(f) {\n return function(request) {\n return dsv.parse(request.responseText, f);\n };\n }\n dsv.parse = function(text, f) {\n var o;\n return dsv.parseRows(text, function(row, i) {\n if (o) return o(row, i - 1);\n var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n o = f ? function(row, i) {\n return f(a(row), i);\n } : a;\n });\n };\n dsv.parseRows = function(text, f) {\n var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n function token() {\n if (I >= N) return EOF;\n if (eol) return eol = false, EOL;\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n }\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; else if (c === 13) {\n eol = true;\n if (text.charCodeAt(I) === 10) ++I, ++k;\n } else if (c !== delimiterCode) continue;\n return text.slice(j, I - k);\n }\n return text.slice(j);\n }\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && (a = f(a, n++)) == null) continue;\n rows.push(a);\n }\n return rows;\n };\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n var fieldSet = new d3_Set(), fields = [];\n rows.forEach(function(row) {\n for (var field in row) {\n if (!fieldSet.has(field)) {\n fields.push(fieldSet.add(field));\n }\n }\n });\n return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join(\"\\n\");\n };\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join(\"\\n\");\n };\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n function formatValue(text) {\n return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n }\n return dsv;\n };\n d3.csv = d3.dsv(\",\", \"text/csv\");\n d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n setTimeout(callback, 17);\n };\n d3.timer = function() {\n d3_timer.apply(this, arguments);\n };\n function d3_timer(callback, delay, then) {\n var n = arguments.length;\n if (n < 2) delay = 0;\n if (n < 3) then = Date.now();\n var time = then + delay, timer = {\n c: callback,\n t: time,\n n: null\n };\n if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n d3_timer_queueTail = timer;\n if (!d3_timer_interval) {\n d3_timer_timeout = clearTimeout(d3_timer_timeout);\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n return timer;\n }\n function d3_timer_step() {\n var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n if (delay > 24) {\n if (isFinite(delay)) {\n clearTimeout(d3_timer_timeout);\n d3_timer_timeout = setTimeout(d3_timer_step, delay);\n }\n d3_timer_interval = 0;\n } else {\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n }\n d3.timer.flush = function() {\n d3_timer_mark();\n d3_timer_sweep();\n };\n function d3_timer_mark() {\n var now = Date.now(), timer = d3_timer_queueHead;\n while (timer) {\n if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n timer = timer.n;\n }\n return now;\n }\n function d3_timer_sweep() {\n var t0, t1 = d3_timer_queueHead, time = Infinity;\n while (t1) {\n if (t1.c) {\n if (t1.t < time) time = t1.t;\n t1 = (t0 = t1).n;\n } else {\n t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n }\n }\n d3_timer_queueTail = t0;\n return time;\n }\n function d3_format_precision(x, p) {\n return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n }\n d3.round = function(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n };\n var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"ยต\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n d3.formatPrefix = function(value, precision) {\n var i = 0;\n if (value = +value) {\n if (value < 0) value *= -1;\n if (precision) value = d3.round(value, d3_format_precision(value, precision));\n i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n }\n return d3_formatPrefixes[8 + i / 3];\n };\n function d3_formatPrefix(d, i) {\n var k = Math.pow(10, abs(8 - i) * 3);\n return {\n scale: i > 8 ? function(d) {\n return d / k;\n } : function(d) {\n return d * k;\n },\n symbol: d\n };\n }\n function d3_locale_numberFormat(locale) {\n var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\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 = locale_grouping[j = (j + 1) % locale_grouping.length];\n }\n return t.reverse().join(locale_thousands);\n } : d3_identity;\n return function(specifier) {\n var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n if (precision) precision = +precision.substring(1);\n if (zfill || fill === \"0\" && align === \"=\") {\n zfill = fill = \"0\";\n align = \"=\";\n }\n switch (type) {\n case \"n\":\n comma = true;\n type = \"g\";\n break;\n\n case \"%\":\n scale = 100;\n suffix = \"%\";\n type = \"f\";\n break;\n\n case \"p\":\n scale = 100;\n suffix = \"%\";\n type = \"r\";\n break;\n\n case \"b\":\n case \"o\":\n case \"x\":\n case \"X\":\n if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n\n case \"c\":\n exponent = false;\n\n case \"d\":\n integer = true;\n precision = 0;\n break;\n\n case \"s\":\n scale = -1;\n type = \"r\";\n break;\n }\n if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n if (type == \"r\" && !precision) type = \"g\";\n if (precision != null) {\n if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n }\n type = d3_format_types.get(type) || d3_format_typeDefault;\n var zcomma = zfill && comma;\n return function(value) {\n var fullSuffix = suffix;\n if (integer && value % 1) return \"\";\n var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n if (scale < 0) {\n var unit = d3.formatPrefix(value, precision);\n value = unit.scale(value);\n fullSuffix = unit.symbol + suffix;\n } else {\n value *= scale;\n }\n value = type(value, precision);\n var i = value.lastIndexOf(\".\"), before, after;\n if (i < 0) {\n var j = exponent ? value.lastIndexOf(\"e\") : -1;\n if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n } else {\n before = value.substring(0, i);\n after = locale_decimal + value.substring(i + 1);\n }\n if (!zfill && comma) before = formatGroup(before, Infinity);\n var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n negative += prefix;\n value = before + after;\n return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n };\n };\n }\n var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n var d3_format_types = d3.map({\n b: function(x) {\n return x.toString(2);\n },\n c: function(x) {\n return String.fromCharCode(x);\n },\n o: function(x) {\n return x.toString(8);\n },\n x: function(x) {\n return x.toString(16);\n },\n X: function(x) {\n return x.toString(16).toUpperCase();\n },\n g: function(x, p) {\n return x.toPrecision(p);\n },\n e: function(x, p) {\n return x.toExponential(p);\n },\n f: function(x, p) {\n return x.toFixed(p);\n },\n r: function(x, p) {\n return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n }\n });\n function d3_format_typeDefault(x) {\n return x + \"\";\n }\n var d3_time = d3.time = {}, d3_date = Date;\n function d3_date_utc() {\n this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n }\n d3_date_utc.prototype = {\n getDate: function() {\n return this._.getUTCDate();\n },\n getDay: function() {\n return this._.getUTCDay();\n },\n getFullYear: function() {\n return this._.getUTCFullYear();\n },\n getHours: function() {\n return this._.getUTCHours();\n },\n getMilliseconds: function() {\n return this._.getUTCMilliseconds();\n },\n getMinutes: function() {\n return this._.getUTCMinutes();\n },\n getMonth: function() {\n return this._.getUTCMonth();\n },\n getSeconds: function() {\n return this._.getUTCSeconds();\n },\n getTime: function() {\n return this._.getTime();\n },\n getTimezoneOffset: function() {\n return 0;\n },\n valueOf: function() {\n return this._.valueOf();\n },\n setDate: function() {\n d3_time_prototype.setUTCDate.apply(this._, arguments);\n },\n setDay: function() {\n d3_time_prototype.setUTCDay.apply(this._, arguments);\n },\n setFullYear: function() {\n d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n },\n setHours: function() {\n d3_time_prototype.setUTCHours.apply(this._, arguments);\n },\n setMilliseconds: function() {\n d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n },\n setMinutes: function() {\n d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n },\n setMonth: function() {\n d3_time_prototype.setUTCMonth.apply(this._, arguments);\n },\n setSeconds: function() {\n d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n },\n setTime: function() {\n d3_time_prototype.setTime.apply(this._, arguments);\n }\n };\n var d3_time_prototype = Date.prototype;\n function d3_time_interval(local, step, number) {\n function round(date) {\n var d0 = local(date), d1 = offset(d0, 1);\n return date - d0 < d1 - date ? d0 : d1;\n }\n function ceil(date) {\n step(date = local(new d3_date(date - 1)), 1);\n return date;\n }\n function offset(date, k) {\n step(date = new d3_date(+date), k);\n return date;\n }\n function range(t0, t1, dt) {\n var time = ceil(t0), times = [];\n if (dt > 1) {\n while (time < t1) {\n if (!(number(time) % dt)) times.push(new Date(+time));\n step(time, 1);\n }\n } else {\n while (time < t1) times.push(new Date(+time)), step(time, 1);\n }\n return times;\n }\n function range_utc(t0, t1, dt) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = t0;\n return range(utc, t1, dt);\n } finally {\n d3_date = Date;\n }\n }\n local.floor = local;\n local.round = round;\n local.ceil = ceil;\n local.offset = offset;\n local.range = range;\n var utc = local.utc = d3_time_interval_utc(local);\n utc.floor = utc;\n utc.round = d3_time_interval_utc(round);\n utc.ceil = d3_time_interval_utc(ceil);\n utc.offset = d3_time_interval_utc(offset);\n utc.range = range_utc;\n return local;\n }\n function d3_time_interval_utc(method) {\n return function(date, k) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = date;\n return method(utc, k)._;\n } finally {\n d3_date = Date;\n }\n };\n }\n d3_time.year = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setMonth(0, 1);\n return date;\n }, function(date, offset) {\n date.setFullYear(date.getFullYear() + offset);\n }, function(date) {\n return date.getFullYear();\n });\n d3_time.years = d3_time.year.range;\n d3_time.years.utc = d3_time.year.utc.range;\n d3_time.day = d3_time_interval(function(date) {\n var day = new d3_date(2e3, 0);\n day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n return day;\n }, function(date, offset) {\n date.setDate(date.getDate() + offset);\n }, function(date) {\n return date.getDate() - 1;\n });\n d3_time.days = d3_time.day.range;\n d3_time.days.utc = d3_time.day.utc.range;\n d3_time.dayOfYear = function(date) {\n var year = d3_time.year(date);\n return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n };\n [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n i = 7 - i;\n var interval = d3_time[day] = d3_time_interval(function(date) {\n (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n return date;\n }, function(date, offset) {\n date.setDate(date.getDate() + Math.floor(offset) * 7);\n }, function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n });\n d3_time[day + \"s\"] = interval.range;\n d3_time[day + \"s\"].utc = interval.utc.range;\n d3_time[day + \"OfYear\"] = function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n };\n });\n d3_time.week = d3_time.sunday;\n d3_time.weeks = d3_time.sunday.range;\n d3_time.weeks.utc = d3_time.sunday.utc.range;\n d3_time.weekOfYear = d3_time.sundayOfYear;\n function d3_locale_timeFormat(locale) {\n var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n function d3_time_format(template) {\n var n = template.length;\n function format(date) {\n var string = [], i = -1, j = 0, c, p, f;\n while (++i < n) {\n if (template.charCodeAt(i) === 37) {\n string.push(template.slice(j, i));\n if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(template.slice(j, i));\n return string.join(\"\");\n }\n format.parse = function(string) {\n var d = {\n y: 1900,\n m: 0,\n d: 1,\n H: 0,\n M: 0,\n S: 0,\n L: 0,\n Z: null\n }, i = d3_time_parse(d, template, string, 0);\n if (i != string.length) return null;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n date.setFullYear(d.y, 0, 1);\n date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n } else date.setFullYear(d.y, d.m, d.d);\n date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n return localZ ? date._ : date;\n };\n format.toString = function() {\n return template;\n };\n return format;\n }\n function d3_time_parse(date, template, string, j) {\n var c, p, t, i = 0, n = template.length, m = string.length;\n while (i < n) {\n if (j >= m) return -1;\n c = template.charCodeAt(i++);\n if (c === 37) {\n t = template.charAt(i++);\n p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n if (!p || (j = p(date, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n d3_time_format.utc = function(template) {\n var local = d3_time_format(template);\n function format(date) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date();\n utc._ = date;\n return local(utc);\n } finally {\n d3_date = Date;\n }\n }\n format.parse = function(string) {\n try {\n d3_date = d3_date_utc;\n var date = local.parse(string);\n return date && date._;\n } finally {\n d3_date = Date;\n }\n };\n format.toString = local.toString;\n return format;\n };\n d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n locale_periods.forEach(function(p, i) {\n d3_time_periodLookup.set(p.toLowerCase(), i);\n });\n var d3_time_formats = {\n a: function(d) {\n return locale_shortDays[d.getDay()];\n },\n A: function(d) {\n return locale_days[d.getDay()];\n },\n b: function(d) {\n return locale_shortMonths[d.getMonth()];\n },\n B: function(d) {\n return locale_months[d.getMonth()];\n },\n c: d3_time_format(locale_dateTime),\n d: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n e: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n H: function(d, p) {\n return d3_time_formatPad(d.getHours(), p, 2);\n },\n I: function(d, p) {\n return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n },\n j: function(d, p) {\n return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n },\n L: function(d, p) {\n return d3_time_formatPad(d.getMilliseconds(), p, 3);\n },\n m: function(d, p) {\n return d3_time_formatPad(d.getMonth() + 1, p, 2);\n },\n M: function(d, p) {\n return d3_time_formatPad(d.getMinutes(), p, 2);\n },\n p: function(d) {\n return locale_periods[+(d.getHours() >= 12)];\n },\n S: function(d, p) {\n return d3_time_formatPad(d.getSeconds(), p, 2);\n },\n U: function(d, p) {\n return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n },\n w: function(d) {\n return d.getDay();\n },\n W: function(d, p) {\n return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n },\n x: d3_time_format(locale_date),\n X: d3_time_format(locale_time),\n y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n },\n Y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n },\n Z: d3_time_zone,\n \"%\": function() {\n return \"%\";\n }\n };\n var d3_time_parsers = {\n a: d3_time_parseWeekdayAbbrev,\n A: d3_time_parseWeekday,\n b: d3_time_parseMonthAbbrev,\n B: d3_time_parseMonth,\n c: d3_time_parseLocaleFull,\n d: d3_time_parseDay,\n e: d3_time_parseDay,\n H: d3_time_parseHour24,\n I: d3_time_parseHour24,\n j: d3_time_parseDayOfYear,\n L: d3_time_parseMilliseconds,\n m: d3_time_parseMonthNumber,\n M: d3_time_parseMinutes,\n p: d3_time_parseAmPm,\n S: d3_time_parseSeconds,\n U: d3_time_parseWeekNumberSunday,\n w: d3_time_parseWeekdayNumber,\n W: d3_time_parseWeekNumberMonday,\n x: d3_time_parseLocaleDate,\n X: d3_time_parseLocaleTime,\n y: d3_time_parseYear,\n Y: d3_time_parseFullYear,\n Z: d3_time_parseZone,\n \"%\": d3_time_parseLiteralPercent\n };\n function d3_time_parseWeekdayAbbrev(date, string, i) {\n d3_time_dayAbbrevRe.lastIndex = 0;\n var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseWeekday(date, string, i) {\n d3_time_dayRe.lastIndex = 0;\n var n = d3_time_dayRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonthAbbrev(date, string, i) {\n d3_time_monthAbbrevRe.lastIndex = 0;\n var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonth(date, string, i) {\n d3_time_monthRe.lastIndex = 0;\n var n = d3_time_monthRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseLocaleFull(date, string, i) {\n return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n }\n function d3_time_parseLocaleDate(date, string, i) {\n return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n }\n function d3_time_parseLocaleTime(date, string, i) {\n return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n }\n function d3_time_parseAmPm(date, string, i) {\n var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n return n == null ? -1 : (date.p = n, i);\n }\n return d3_time_format;\n }\n var d3_time_formatPads = {\n \"-\": \"\",\n _: \" \",\n \"0\": \"0\"\n }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n function d3_time_formatPad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function d3_time_formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n }\n function d3_time_formatLookup(names) {\n var map = new d3_Map(), i = -1, n = names.length;\n while (++i < n) map.set(names[i].toLowerCase(), i);\n return map;\n }\n function d3_time_parseWeekdayNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n return n ? (date.w = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberSunday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.U = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberMonday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.W = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseFullYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n return n ? (date.y = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n }\n function d3_time_parseZone(date, string, i) {\n return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n i + 5) : -1;\n }\n function d3_time_expandYear(d) {\n return d + (d > 68 ? 1900 : 2e3);\n }\n function d3_time_parseMonthNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n }\n function d3_time_parseDay(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.d = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseDayOfYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.j = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseHour24(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.H = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMinutes(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.M = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseSeconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.S = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMilliseconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.L = +n[0], i + n[0].length) : -1;\n }\n function d3_time_zone(d) {\n var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n }\n function d3_time_parseLiteralPercent(date, string, i) {\n d3_time_percentRe.lastIndex = 0;\n var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function d3_time_formatMulti(formats) {\n var n = formats.length, i = -1;\n while (++i < n) formats[i][0] = this(formats[i][0]);\n return function(date) {\n var i = 0, f = formats[i];\n while (!f[1](date)) f = formats[++i];\n return f[0](date);\n };\n }\n d3.locale = function(locale) {\n return {\n numberFormat: d3_locale_numberFormat(locale),\n timeFormat: d3_locale_timeFormat(locale)\n };\n };\n var d3_locale_enUS = d3.locale({\n decimal: \".\",\n thousands: \",\",\n grouping: [ 3 ],\n currency: [ \"$\", \"\" ],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%m/%d/%Y\",\n time: \"%H:%M:%S\",\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 d3.format = d3_locale_enUS.numberFormat;\n d3.geo = {};\n function d3_adder() {}\n d3_adder.prototype = {\n s: 0,\n t: 0,\n add: function(y) {\n d3_adderSum(y, this.t, d3_adderTemp);\n d3_adderSum(d3_adderTemp.s, this.s, this);\n if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n },\n reset: function() {\n this.s = this.t = 0;\n },\n valueOf: function() {\n return this.s;\n }\n };\n var d3_adderTemp = new d3_adder();\n function d3_adderSum(a, b, o) {\n var x = o.s = a + b, bv = x - a, av = x - bv;\n o.t = a - av + (b - bv);\n }\n d3.geo.stream = function(object, listener) {\n if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n d3_geo_streamObjectType[object.type](object, listener);\n } else {\n d3_geo_streamGeometry(object, listener);\n }\n };\n function d3_geo_streamGeometry(geometry, listener) {\n if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n d3_geo_streamGeometryType[geometry.type](geometry, listener);\n }\n }\n var d3_geo_streamObjectType = {\n Feature: function(feature, listener) {\n d3_geo_streamGeometry(feature.geometry, listener);\n },\n FeatureCollection: function(object, listener) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n }\n };\n var d3_geo_streamGeometryType = {\n Sphere: function(object, listener) {\n listener.sphere();\n },\n Point: function(object, listener) {\n object = object.coordinates;\n listener.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n },\n LineString: function(object, listener) {\n d3_geo_streamLine(object.coordinates, listener, 0);\n },\n MultiLineString: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n },\n Polygon: function(object, listener) {\n d3_geo_streamPolygon(object.coordinates, listener);\n },\n MultiPolygon: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n },\n GeometryCollection: function(object, listener) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n }\n };\n function d3_geo_streamLine(coordinates, listener, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n listener.lineStart();\n while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n listener.lineEnd();\n }\n function d3_geo_streamPolygon(coordinates, listener) {\n var i = -1, n = coordinates.length;\n listener.polygonStart();\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n listener.polygonEnd();\n }\n d3.geo.area = function(object) {\n d3_geo_areaSum = 0;\n d3.geo.stream(object, d3_geo_area);\n return d3_geo_areaSum;\n };\n var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n var d3_geo_area = {\n sphere: function() {\n d3_geo_areaSum += 4 * ฯ€;\n },\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_areaRingSum.reset();\n d3_geo_area.lineStart = d3_geo_areaRingStart;\n },\n polygonEnd: function() {\n var area = 2 * d3_geo_areaRingSum;\n d3_geo_areaSum += area < 0 ? 4 * ฯ€ + area : area;\n d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n }\n };\n function d3_geo_areaRingStart() {\n var ฮป00, ฯ†00, ฮป0, cosฯ†0, sinฯ†0;\n d3_geo_area.point = function(ฮป, ฯ†) {\n d3_geo_area.point = nextPoint;\n ฮป0 = (ฮป00 = ฮป) * d3_radians, cosฯ†0 = Math.cos(ฯ† = (ฯ†00 = ฯ†) * d3_radians / 2 + ฯ€ / 4), \n sinฯ†0 = Math.sin(ฯ†);\n };\n function nextPoint(ฮป, ฯ†) {\n ฮป *= d3_radians;\n ฯ† = ฯ† * d3_radians / 2 + ฯ€ / 4;\n var dฮป = ฮป - ฮป0, sdฮป = dฮป >= 0 ? 1 : -1, adฮป = sdฮป * dฮป, cosฯ† = Math.cos(ฯ†), sinฯ† = Math.sin(ฯ†), k = sinฯ†0 * sinฯ†, u = cosฯ†0 * cosฯ† + k * Math.cos(adฮป), v = k * sdฮป * Math.sin(adฮป);\n d3_geo_areaRingSum.add(Math.atan2(v, u));\n ฮป0 = ฮป, cosฯ†0 = cosฯ†, sinฯ†0 = sinฯ†;\n }\n d3_geo_area.lineEnd = function() {\n nextPoint(ฮป00, ฯ†00);\n };\n }\n function d3_geo_cartesian(spherical) {\n var ฮป = spherical[0], ฯ† = spherical[1], cosฯ† = Math.cos(ฯ†);\n return [ cosฯ† * Math.cos(ฮป), cosฯ† * Math.sin(ฮป), Math.sin(ฯ†) ];\n }\n function d3_geo_cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n }\n function d3_geo_cartesianCross(a, b) {\n return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n }\n function d3_geo_cartesianAdd(a, b) {\n a[0] += b[0];\n a[1] += b[1];\n a[2] += b[2];\n }\n function d3_geo_cartesianScale(vector, k) {\n return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n }\n function d3_geo_cartesianNormalize(d) {\n var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l;\n d[1] /= l;\n d[2] /= l;\n }\n function d3_geo_spherical(cartesian) {\n return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n }\n function d3_geo_sphericalEqual(a, b) {\n return abs(a[0] - b[0]) < ฮต && abs(a[1] - b[1]) < ฮต;\n }\n d3.geo.bounds = function() {\n var ฮป0, ฯ†0, ฮป1, ฯ†1, ฮป_, ฮป__, ฯ†__, p0, dฮปSum, ranges, range;\n var bound = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n bound.point = ringPoint;\n bound.lineStart = ringStart;\n bound.lineEnd = ringEnd;\n dฮปSum = 0;\n d3_geo_area.polygonStart();\n },\n polygonEnd: function() {\n d3_geo_area.polygonEnd();\n bound.point = point;\n bound.lineStart = lineStart;\n bound.lineEnd = lineEnd;\n if (d3_geo_areaRingSum < 0) ฮป0 = -(ฮป1 = 180), ฯ†0 = -(ฯ†1 = 90); else if (dฮปSum > ฮต) ฯ†1 = 90; else if (dฮปSum < -ฮต) ฯ†0 = -90;\n range[0] = ฮป0, range[1] = ฮป1;\n }\n };\n function point(ฮป, ฯ†) {\n ranges.push(range = [ ฮป0 = ฮป, ฮป1 = ฮป ]);\n if (ฯ† < ฯ†0) ฯ†0 = ฯ†;\n if (ฯ† > ฯ†1) ฯ†1 = ฯ†;\n }\n function linePoint(ฮป, ฯ†) {\n var p = d3_geo_cartesian([ ฮป * d3_radians, ฯ† * d3_radians ]);\n if (p0) {\n var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n d3_geo_cartesianNormalize(inflection);\n inflection = d3_geo_spherical(inflection);\n var dฮป = ฮป - ฮป_, s = dฮป > 0 ? 1 : -1, ฮปi = inflection[0] * d3_degrees * s, antimeridian = abs(dฮป) > 180;\n if (antimeridian ^ (s * ฮป_ < ฮปi && ฮปi < s * ฮป)) {\n var ฯ†i = inflection[1] * d3_degrees;\n if (ฯ†i > ฯ†1) ฯ†1 = ฯ†i;\n } else if (ฮปi = (ฮปi + 360) % 360 - 180, antimeridian ^ (s * ฮป_ < ฮปi && ฮปi < s * ฮป)) {\n var ฯ†i = -inflection[1] * d3_degrees;\n if (ฯ†i < ฯ†0) ฯ†0 = ฯ†i;\n } else {\n if (ฯ† < ฯ†0) ฯ†0 = ฯ†;\n if (ฯ† > ฯ†1) ฯ†1 = ฯ†;\n }\n if (antimeridian) {\n if (ฮป < ฮป_) {\n if (angle(ฮป0, ฮป) > angle(ฮป0, ฮป1)) ฮป1 = ฮป;\n } else {\n if (angle(ฮป, ฮป1) > angle(ฮป0, ฮป1)) ฮป0 = ฮป;\n }\n } else {\n if (ฮป1 >= ฮป0) {\n if (ฮป < ฮป0) ฮป0 = ฮป;\n if (ฮป > ฮป1) ฮป1 = ฮป;\n } else {\n if (ฮป > ฮป_) {\n if (angle(ฮป0, ฮป) > angle(ฮป0, ฮป1)) ฮป1 = ฮป;\n } else {\n if (angle(ฮป, ฮป1) > angle(ฮป0, ฮป1)) ฮป0 = ฮป;\n }\n }\n }\n } else {\n point(ฮป, ฯ†);\n }\n p0 = p, ฮป_ = ฮป;\n }\n function lineStart() {\n bound.point = linePoint;\n }\n function lineEnd() {\n range[0] = ฮป0, range[1] = ฮป1;\n bound.point = point;\n p0 = null;\n }\n function ringPoint(ฮป, ฯ†) {\n if (p0) {\n var dฮป = ฮป - ฮป_;\n dฮปSum += abs(dฮป) > 180 ? dฮป + (dฮป > 0 ? 360 : -360) : dฮป;\n } else ฮป__ = ฮป, ฯ†__ = ฯ†;\n d3_geo_area.point(ฮป, ฯ†);\n linePoint(ฮป, ฯ†);\n }\n function ringStart() {\n d3_geo_area.lineStart();\n }\n function ringEnd() {\n ringPoint(ฮป__, ฯ†__);\n d3_geo_area.lineEnd();\n if (abs(dฮปSum) > ฮต) ฮป0 = -(ฮป1 = 180);\n range[0] = ฮป0, range[1] = ฮป1;\n p0 = null;\n }\n function angle(ฮป0, ฮป1) {\n return (ฮป1 -= ฮป0) < 0 ? ฮป1 + 360 : ฮป1;\n }\n function compareRanges(a, b) {\n return a[0] - b[0];\n }\n function withinRange(x, range) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n }\n return function(feature) {\n ฯ†1 = ฮป1 = -(ฮป0 = ฯ†0 = Infinity);\n ranges = [];\n d3.geo.stream(feature, bound);\n var n = ranges.length;\n if (n) {\n ranges.sort(compareRanges);\n for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n b = ranges[i];\n if (withinRange(b[0], a) || withinRange(b[1], a)) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n var best = -Infinity, dฮป;\n for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n b = merged[i];\n if ((dฮป = angle(a[1], b[0])) > best) best = dฮป, ฮป0 = b[0], ฮป1 = a[1];\n }\n }\n ranges = range = null;\n return ฮป0 === Infinity || ฯ†0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ ฮป0, ฯ†0 ], [ ฮป1, ฯ†1 ] ];\n };\n }();\n d3.geo.centroid = function(object) {\n d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, d3_geo_centroid);\n var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n if (m < ฮต2) {\n x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n if (d3_geo_centroidW1 < ฮต) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n m = x * x + y * y + z * z;\n if (m < ฮต2) return [ NaN, NaN ];\n }\n return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n };\n var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n var d3_geo_centroid = {\n sphere: d3_noop,\n point: d3_geo_centroidPoint,\n lineStart: d3_geo_centroidLineStart,\n lineEnd: d3_geo_centroidLineEnd,\n polygonStart: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n }\n };\n function d3_geo_centroidPoint(ฮป, ฯ†) {\n ฮป *= d3_radians;\n var cosฯ† = Math.cos(ฯ† *= d3_radians);\n d3_geo_centroidPointXYZ(cosฯ† * Math.cos(ฮป), cosฯ† * Math.sin(ฮป), Math.sin(ฯ†));\n }\n function d3_geo_centroidPointXYZ(x, y, z) {\n ++d3_geo_centroidW0;\n d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n }\n function d3_geo_centroidLineStart() {\n var x0, y0, z0;\n d3_geo_centroid.point = function(ฮป, ฯ†) {\n ฮป *= d3_radians;\n var cosฯ† = Math.cos(ฯ† *= d3_radians);\n x0 = cosฯ† * Math.cos(ฮป);\n y0 = cosฯ† * Math.sin(ฮป);\n z0 = Math.sin(ฯ†);\n d3_geo_centroid.point = nextPoint;\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n function nextPoint(ฮป, ฯ†) {\n ฮป *= d3_radians;\n var cosฯ† = Math.cos(ฯ† *= d3_radians), x = cosฯ† * Math.cos(ฮป), y = cosฯ† * Math.sin(ฮป), z = Math.sin(ฯ†), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_centroidLineEnd() {\n d3_geo_centroid.point = d3_geo_centroidPoint;\n }\n function d3_geo_centroidRingStart() {\n var ฮป00, ฯ†00, x0, y0, z0;\n d3_geo_centroid.point = function(ฮป, ฯ†) {\n ฮป00 = ฮป, ฯ†00 = ฯ†;\n d3_geo_centroid.point = nextPoint;\n ฮป *= d3_radians;\n var cosฯ† = Math.cos(ฯ† *= d3_radians);\n x0 = cosฯ† * Math.cos(ฮป);\n y0 = cosฯ† * Math.sin(ฮป);\n z0 = Math.sin(ฯ†);\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n d3_geo_centroid.lineEnd = function() {\n nextPoint(ฮป00, ฯ†00);\n d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n d3_geo_centroid.point = d3_geo_centroidPoint;\n };\n function nextPoint(ฮป, ฯ†) {\n ฮป *= d3_radians;\n var cosฯ† = Math.cos(ฯ† *= d3_radians), x = cosฯ† * Math.cos(ฮป), y = cosฯ† * Math.sin(ฮป), z = Math.sin(ฯ†), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n d3_geo_centroidX2 += v * cx;\n d3_geo_centroidY2 += v * cy;\n d3_geo_centroidZ2 += v * cz;\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_compose(a, b) {\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n return compose;\n }\n function d3_true() {\n return true;\n }\n function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n var subject = [], clip = [];\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n];\n if (d3_geo_sphericalEqual(p0, p1)) {\n listener.lineStart();\n for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n listener.lineEnd();\n return;\n }\n var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n a.o = b;\n subject.push(a);\n clip.push(b);\n a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n a.o = b;\n subject.push(a);\n clip.push(b);\n });\n clip.sort(compare);\n d3_geo_clipPolygonLinkCircular(subject);\n d3_geo_clipPolygonLinkCircular(clip);\n if (!subject.length) return;\n for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n clip[i].e = entry = !entry;\n }\n var start = subject[0], points, point;\n while (1) {\n var current = start, isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n listener.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, listener);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, listener);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n listener.lineEnd();\n }\n }\n function d3_geo_clipPolygonLinkCircular(array) {\n if (!(n = array.length)) return;\n var n, i = 0, a = array[0], b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n }\n function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other;\n this.e = entry;\n this.v = false;\n this.n = this.p = null;\n }\n function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n return function(rotate, listener) {\n var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = d3.merge(segments);\n var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n if (segments.length) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n } else if (clipStartInside) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n listener.polygonStart();\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n listener.polygonEnd();\n }\n };\n function point(ฮป, ฯ†) {\n var point = rotate(ฮป, ฯ†);\n if (pointVisible(ฮป = point[0], ฯ† = point[1])) listener.point(ฮป, ฯ†);\n }\n function pointLine(ฮป, ฯ†) {\n var point = rotate(ฮป, ฯ†);\n line.point(point[0], point[1]);\n }\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n var segments;\n var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n function pointRing(ฮป, ฯ†) {\n ring.push([ ฮป, ฯ† ]);\n var point = rotate(ฮป, ฯ†);\n ringListener.point(point[0], point[1]);\n }\n function ringStart() {\n ringListener.lineStart();\n ring = [];\n }\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringListener.lineEnd();\n var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return;\n if (clean & 1) {\n segment = ringSegments[0];\n var n = segment.length - 1, i = -1, point;\n if (n > 0) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n while (++i < n) listener.point((point = segment[i])[0], point[1]);\n listener.lineEnd();\n }\n return;\n }\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n }\n return clip;\n };\n }\n function d3_geo_clipSegmentLength1(segment) {\n return segment.length > 1;\n }\n function d3_geo_clipBufferListener() {\n var lines = [], line;\n return {\n lineStart: function() {\n lines.push(line = []);\n },\n point: function(ฮป, ฯ†) {\n line.push([ ฮป, ฯ† ]);\n },\n lineEnd: d3_noop,\n buffer: function() {\n var buffer = lines;\n lines = [];\n line = null;\n return buffer;\n },\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n }\n };\n }\n function d3_geo_clipSort(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfฯ€ - ฮต : halfฯ€ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfฯ€ - ฮต : halfฯ€ - b[1]);\n }\n var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -ฯ€, -ฯ€ / 2 ]);\n function d3_geo_clipAntimeridianLine(listener) {\n var ฮป0 = NaN, ฯ†0 = NaN, sฮป0 = NaN, clean;\n return {\n lineStart: function() {\n listener.lineStart();\n clean = 1;\n },\n point: function(ฮป1, ฯ†1) {\n var sฮป1 = ฮป1 > 0 ? ฯ€ : -ฯ€, dฮป = abs(ฮป1 - ฮป0);\n if (abs(dฮป - ฯ€) < ฮต) {\n listener.point(ฮป0, ฯ†0 = (ฯ†0 + ฯ†1) / 2 > 0 ? halfฯ€ : -halfฯ€);\n listener.point(sฮป0, ฯ†0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sฮป1, ฯ†0);\n listener.point(ฮป1, ฯ†0);\n clean = 0;\n } else if (sฮป0 !== sฮป1 && dฮป >= ฯ€) {\n if (abs(ฮป0 - sฮป0) < ฮต) ฮป0 -= sฮป0 * ฮต;\n if (abs(ฮป1 - sฮป1) < ฮต) ฮป1 -= sฮป1 * ฮต;\n ฯ†0 = d3_geo_clipAntimeridianIntersect(ฮป0, ฯ†0, ฮป1, ฯ†1);\n listener.point(sฮป0, ฯ†0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sฮป1, ฯ†0);\n clean = 0;\n }\n listener.point(ฮป0 = ฮป1, ฯ†0 = ฯ†1);\n sฮป0 = sฮป1;\n },\n lineEnd: function() {\n listener.lineEnd();\n ฮป0 = ฯ†0 = NaN;\n },\n clean: function() {\n return 2 - clean;\n }\n };\n }\n function d3_geo_clipAntimeridianIntersect(ฮป0, ฯ†0, ฮป1, ฯ†1) {\n var cosฯ†0, cosฯ†1, sinฮป0_ฮป1 = Math.sin(ฮป0 - ฮป1);\n return abs(sinฮป0_ฮป1) > ฮต ? Math.atan((Math.sin(ฯ†0) * (cosฯ†1 = Math.cos(ฯ†1)) * Math.sin(ฮป1) - Math.sin(ฯ†1) * (cosฯ†0 = Math.cos(ฯ†0)) * Math.sin(ฮป0)) / (cosฯ†0 * cosฯ†1 * sinฮป0_ฮป1)) : (ฯ†0 + ฯ†1) / 2;\n }\n function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n var ฯ†;\n if (from == null) {\n ฯ† = direction * halfฯ€;\n listener.point(-ฯ€, ฯ†);\n listener.point(0, ฯ†);\n listener.point(ฯ€, ฯ†);\n listener.point(ฯ€, 0);\n listener.point(ฯ€, -ฯ†);\n listener.point(0, -ฯ†);\n listener.point(-ฯ€, -ฯ†);\n listener.point(-ฯ€, 0);\n listener.point(-ฯ€, ฯ†);\n } else if (abs(from[0] - to[0]) > ฮต) {\n var s = from[0] < to[0] ? ฯ€ : -ฯ€;\n ฯ† = direction * s / 2;\n listener.point(-s, ฯ†);\n listener.point(0, ฯ†);\n listener.point(s, ฯ†);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function d3_geo_pointInPolygon(point, polygon) {\n var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n d3_geo_areaRingSum.reset();\n for (var i = 0, n = polygon.length; i < n; ++i) {\n var ring = polygon[i], m = ring.length;\n if (!m) continue;\n var point0 = ring[0], ฮป0 = point0[0], ฯ†0 = point0[1] / 2 + ฯ€ / 4, sinฯ†0 = Math.sin(ฯ†0), cosฯ†0 = Math.cos(ฯ†0), j = 1;\n while (true) {\n if (j === m) j = 0;\n point = ring[j];\n var ฮป = point[0], ฯ† = point[1] / 2 + ฯ€ / 4, sinฯ† = Math.sin(ฯ†), cosฯ† = Math.cos(ฯ†), dฮป = ฮป - ฮป0, sdฮป = dฮป >= 0 ? 1 : -1, adฮป = sdฮป * dฮป, antimeridian = adฮป > ฯ€, k = sinฯ†0 * sinฯ†;\n d3_geo_areaRingSum.add(Math.atan2(k * sdฮป * Math.sin(adฮป), cosฯ†0 * cosฯ† + k * Math.cos(adฮป)));\n polarAngle += antimeridian ? dฮป + sdฮป * ฯ„ : dฮป;\n if (antimeridian ^ ฮป0 >= meridian ^ ฮป >= meridian) {\n var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n d3_geo_cartesianNormalize(arc);\n var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n d3_geo_cartesianNormalize(intersection);\n var ฯ†arc = (antimeridian ^ dฮป >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n if (parallel > ฯ†arc || parallel === ฯ†arc && (arc[0] || arc[1])) {\n winding += antimeridian ^ dฮป >= 0 ? 1 : -1;\n }\n }\n if (!j++) break;\n ฮป0 = ฮป, sinฯ†0 = sinฯ†, cosฯ†0 = cosฯ†, point0 = point;\n }\n }\n return (polarAngle < -ฮต || polarAngle < ฮต && d3_geo_areaRingSum < -ฮต) ^ winding & 1;\n }\n function d3_geo_clipCircle(radius) {\n var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ฮต, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -ฯ€, radius - ฯ€ ]);\n function visible(ฮป, ฯ†) {\n return Math.cos(ฮป) * Math.cos(ฯ†) > cr;\n }\n function clipLine(listener) {\n var point0, c0, v0, v00, clean;\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(ฮป, ฯ†) {\n var point1 = [ ฮป, ฯ† ], point2, v = visible(ฮป, ฯ†), c = smallRadius ? v ? 0 : code(ฮป, ฯ†) : v ? code(ฮป + (ฮป < 0 ? ฯ€ : -ฯ€), ฯ†) : 0;\n if (!point0 && (v00 = v0 = v)) listener.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n point1[0] += ฮต;\n point1[1] += ฮต;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n listener.lineStart();\n point2 = intersect(point1, point0);\n listener.point(point2[0], point2[1]);\n } else {\n point2 = intersect(point0, point1);\n listener.point(point2[0], point2[1]);\n listener.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n } else {\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n listener.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) listener.lineEnd();\n point0 = null;\n },\n clean: function() {\n return clean | (v00 && v0) << 1;\n }\n };\n }\n function intersect(a, b, two) {\n var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n if (!determinant) return !two && a;\n var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n d3_geo_cartesianAdd(A, B);\n var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n d3_geo_cartesianAdd(q, A);\n q = d3_geo_spherical(q);\n if (!two) return q;\n var ฮป0 = a[0], ฮป1 = b[0], ฯ†0 = a[1], ฯ†1 = b[1], z;\n if (ฮป1 < ฮป0) z = ฮป0, ฮป0 = ฮป1, ฮป1 = z;\n var ฮดฮป = ฮป1 - ฮป0, polar = abs(ฮดฮป - ฯ€) < ฮต, meridian = polar || ฮดฮป < ฮต;\n if (!polar && ฯ†1 < ฯ†0) z = ฯ†0, ฯ†0 = ฯ†1, ฯ†1 = z;\n if (meridian ? polar ? ฯ†0 + ฯ†1 > 0 ^ q[1] < (abs(q[0] - ฮป0) < ฮต ? ฯ†0 : ฯ†1) : ฯ†0 <= q[1] && q[1] <= ฯ†1 : ฮดฮป > ฯ€ ^ (ฮป0 <= q[0] && q[0] <= ฮป1)) {\n var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n d3_geo_cartesianAdd(q1, A);\n return [ q, d3_geo_spherical(q1) ];\n }\n }\n function code(ฮป, ฯ†) {\n var r = smallRadius ? radius : ฯ€ - radius, code = 0;\n if (ฮป < -r) code |= 1; else if (ฮป > r) code |= 2;\n if (ฯ† < -r) code |= 4; else if (ฯ† > r) code |= 8;\n return code;\n }\n }\n function d3_geom_clipLine(x0, y0, x1, y1) {\n return function(line) {\n var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n if (t0 > 0) line.a = {\n x: ax + t0 * dx,\n y: ay + t0 * dy\n };\n if (t1 < 1) line.b = {\n x: ax + t1 * dx,\n y: ay + t1 * dy\n };\n return line;\n };\n }\n var d3_geo_clipExtentMAX = 1e9;\n d3.geo.clipExtent = function() {\n var x0, y0, x1, y1, stream, clip, clipExtent = {\n stream: function(output) {\n if (stream) stream.valid = false;\n stream = clip(output);\n stream.valid = true;\n return stream;\n },\n extent: function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n if (stream) stream.valid = false, stream = null;\n return clipExtent;\n }\n };\n return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n };\n function d3_geo_clipExtent(x0, y0, x1, y1) {\n return function(listener) {\n var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n listener = bufferListener;\n segments = [];\n polygon = [];\n clean = true;\n },\n polygonEnd: function() {\n listener = listener_;\n segments = d3.merge(segments);\n var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n if (inside || visible) {\n listener.polygonStart();\n if (inside) {\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (visible) {\n d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n }\n listener.polygonEnd();\n }\n segments = polygon = ring = null;\n }\n };\n function insidePolygon(p) {\n var wn = 0, n = polygon.length, y = p[1];\n for (var i = 0; i < n; ++i) {\n for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n b = v[j];\n if (a[1] <= y) {\n if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n } else {\n if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n }\n a = b;\n }\n }\n return wn !== 0;\n }\n function interpolate(from, to, direction, listener) {\n var a = 0, a1 = 0;\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n do {\n listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n } while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function pointVisible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n function point(x, y) {\n if (pointVisible(x, y)) listener.point(x, y);\n }\n var x__, y__, v__, x_, y_, v_, first, clean;\n function lineStart() {\n clip.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferListener.rejoin();\n segments.push(bufferListener.buffer());\n }\n clip.point = point;\n if (v_) listener.lineEnd();\n }\n function linePoint(x, y) {\n x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n var v = pointVisible(x, y);\n if (polygon) ring.push([ x, y ]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n listener.lineStart();\n listener.point(x, y);\n }\n } else {\n if (v && v_) listener.point(x, y); else {\n var l = {\n a: {\n x: x_,\n y: y_\n },\n b: {\n x: x,\n y: y\n }\n };\n if (clipLine(l)) {\n if (!v_) {\n listener.lineStart();\n listener.point(l.a.x, l.a.y);\n }\n listener.point(l.b.x, l.b.y);\n if (!v) listener.lineEnd();\n clean = false;\n } else if (v) {\n listener.lineStart();\n listener.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n return clip;\n };\n function corner(p, direction) {\n return abs(p[0] - x0) < ฮต ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ฮต ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ฮต ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n }\n function compare(a, b) {\n return comparePoints(a.x, b.x);\n }\n function comparePoints(a, b) {\n var ca = corner(a, 1), cb = corner(b, 1);\n return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n }\n }\n function d3_geo_conic(projectAt) {\n var ฯ†0 = 0, ฯ†1 = ฯ€ / 3, m = d3_geo_projectionMutator(projectAt), p = m(ฯ†0, ฯ†1);\n p.parallels = function(_) {\n if (!arguments.length) return [ ฯ†0 / ฯ€ * 180, ฯ†1 / ฯ€ * 180 ];\n return m(ฯ†0 = _[0] * ฯ€ / 180, ฯ†1 = _[1] * ฯ€ / 180);\n };\n return p;\n }\n function d3_geo_conicEqualArea(ฯ†0, ฯ†1) {\n var sinฯ†0 = Math.sin(ฯ†0), n = (sinฯ†0 + Math.sin(ฯ†1)) / 2, C = 1 + sinฯ†0 * (2 * n - sinฯ†0), ฯ0 = Math.sqrt(C) / n;\n function forward(ฮป, ฯ†) {\n var ฯ = Math.sqrt(C - 2 * n * Math.sin(ฯ†)) / n;\n return [ ฯ * Math.sin(ฮป *= n), ฯ0 - ฯ * Math.cos(ฮป) ];\n }\n forward.invert = function(x, y) {\n var ฯ0_y = ฯ0 - y;\n return [ Math.atan2(x, ฯ0_y) / n, d3_asin((C - (x * x + ฯ0_y * ฯ0_y) * n * n) / (2 * n)) ];\n };\n return forward;\n }\n (d3.geo.conicEqualArea = function() {\n return d3_geo_conic(d3_geo_conicEqualArea);\n }).raw = d3_geo_conicEqualArea;\n d3.geo.albers = function() {\n return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n };\n d3.geo.albersUsa = function() {\n var lower48 = d3.geo.albers();\n var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n var point, pointStream = {\n point: function(x, y) {\n point = [ x, y ];\n }\n }, lower48Point, alaskaPoint, hawaiiPoint;\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n point = null;\n (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n return point;\n }\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n };\n albersUsa.stream = function(stream) {\n var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n return {\n point: function(x, y) {\n lower48Stream.point(x, y);\n alaskaStream.point(x, y);\n hawaiiStream.point(x, y);\n },\n sphere: function() {\n lower48Stream.sphere();\n alaskaStream.sphere();\n hawaiiStream.sphere();\n },\n lineStart: function() {\n lower48Stream.lineStart();\n alaskaStream.lineStart();\n hawaiiStream.lineStart();\n },\n lineEnd: function() {\n lower48Stream.lineEnd();\n alaskaStream.lineEnd();\n hawaiiStream.lineEnd();\n },\n polygonStart: function() {\n lower48Stream.polygonStart();\n alaskaStream.polygonStart();\n hawaiiStream.polygonStart();\n },\n polygonEnd: function() {\n lower48Stream.polygonEnd();\n alaskaStream.polygonEnd();\n hawaiiStream.polygonEnd();\n }\n };\n };\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_);\n alaska.precision(_);\n hawaii.precision(_);\n return albersUsa;\n };\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_);\n alaska.scale(_ * .35);\n hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ฮต, y + .12 * k + ฮต ], [ x - .214 * k - ฮต, y + .234 * k - ฮต ] ]).stream(pointStream).point;\n hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ฮต, y + .166 * k + ฮต ], [ x - .115 * k - ฮต, y + .234 * k - ฮต ] ]).stream(pointStream).point;\n return albersUsa;\n };\n return albersUsa.scale(1070);\n };\n var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_pathAreaPolygon = 0;\n d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n }\n };\n function d3_geo_pathAreaRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathArea.point = function(x, y) {\n d3_geo_pathArea.point = nextPoint;\n x00 = x0 = x, y00 = y0 = y;\n };\n function nextPoint(x, y) {\n d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n x0 = x, y0 = y;\n }\n d3_geo_pathArea.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n var d3_geo_pathBounds = {\n point: d3_geo_pathBoundsPoint,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_pathBoundsPoint(x, y) {\n if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n }\n function d3_geo_pathBuffer() {\n var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointCircle = d3_geo_pathBufferCircle(_);\n return stream;\n },\n result: function() {\n if (buffer.length) {\n var result = buffer.join(\"\");\n buffer = [];\n return result;\n }\n }\n };\n function point(x, y) {\n buffer.push(\"M\", x, \",\", y, pointCircle);\n }\n function pointLineStart(x, y) {\n buffer.push(\"M\", x, \",\", y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n buffer.push(\"L\", x, \",\", y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n buffer.push(\"Z\");\n }\n return stream;\n }\n function d3_geo_pathBufferCircle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n }\n var d3_geo_pathCentroid = {\n point: d3_geo_pathCentroidPoint,\n lineStart: d3_geo_pathCentroidLineStart,\n lineEnd: d3_geo_pathCentroidLineEnd,\n polygonStart: function() {\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n }\n };\n function d3_geo_pathCentroidPoint(x, y) {\n d3_geo_centroidX0 += x;\n d3_geo_centroidY0 += y;\n ++d3_geo_centroidZ0;\n }\n function d3_geo_pathCentroidLineStart() {\n var x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n }\n function d3_geo_pathCentroidLineEnd() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n }\n function d3_geo_pathCentroidRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n z = y0 * x - x0 * y;\n d3_geo_centroidX2 += z * (x0 + x);\n d3_geo_centroidY2 += z * (y0 + y);\n d3_geo_centroidZ2 += z * 3;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n d3_geo_pathCentroid.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n function d3_geo_pathContext(context) {\n var pointRadius = 4.5;\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointRadius = _;\n return stream;\n },\n result: d3_noop\n };\n function point(x, y) {\n context.moveTo(x + pointRadius, y);\n context.arc(x, y, pointRadius, 0, ฯ„);\n }\n function pointLineStart(x, y) {\n context.moveTo(x, y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n context.lineTo(x, y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n context.closePath();\n }\n return stream;\n }\n function d3_geo_resample(project) {\n var ฮด2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n function resample(stream) {\n return (maxDepth ? resampleRecursive : resampleNone)(stream);\n }\n function resampleNone(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n });\n }\n function resampleRecursive(stream) {\n var ฮป00, ฯ†00, x00, y00, a00, b00, c00, ฮป0, x0, y0, a0, b0, c0;\n var resample = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.polygonStart();\n resample.lineStart = ringStart;\n },\n polygonEnd: function() {\n stream.polygonEnd();\n resample.lineStart = lineStart;\n }\n };\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n function lineStart() {\n x0 = NaN;\n resample.point = linePoint;\n stream.lineStart();\n }\n function linePoint(ฮป, ฯ†) {\n var c = d3_geo_cartesian([ ฮป, ฯ† ]), p = project(ฮป, ฯ†);\n resampleLineTo(x0, y0, ฮป0, a0, b0, c0, x0 = p[0], y0 = p[1], ฮป0 = ฮป, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n function lineEnd() {\n resample.point = point;\n stream.lineEnd();\n }\n function ringStart() {\n lineStart();\n resample.point = ringPoint;\n resample.lineEnd = ringEnd;\n }\n function ringPoint(ฮป, ฯ†) {\n linePoint(ฮป00 = ฮป, ฯ†00 = ฯ†), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resample.point = linePoint;\n }\n function ringEnd() {\n resampleLineTo(x0, y0, ฮป0, a0, b0, c0, x00, y00, ฮป00, a00, b00, c00, maxDepth, stream);\n resample.lineEnd = lineEnd;\n lineEnd();\n }\n return resample;\n }\n function resampleLineTo(x0, y0, ฮป0, a0, b0, c0, x1, y1, ฮป1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n if (d2 > 4 * ฮด2 && depth--) {\n var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), ฯ†2 = Math.asin(c /= m), ฮป2 = abs(abs(c) - 1) < ฮต || abs(ฮป0 - ฮป1) < ฮต ? (ฮป0 + ฮป1) / 2 : Math.atan2(b, a), p = project(ฮป2, ฯ†2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > ฮด2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n resampleLineTo(x0, y0, ฮป0, a0, b0, c0, x2, y2, ฮป2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, ฮป2, a, b, c, x1, y1, ฮป1, a1, b1, c1, depth, stream);\n }\n }\n }\n resample.precision = function(_) {\n if (!arguments.length) return Math.sqrt(ฮด2);\n maxDepth = (ฮด2 = _ * _) > 0 && 16;\n return resample;\n };\n return resample;\n }\n d3.geo.path = function() {\n var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n d3.geo.stream(object, cacheStream);\n }\n return contextStream.result();\n }\n path.area = function(object) {\n d3_geo_pathAreaSum = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathArea));\n return d3_geo_pathAreaSum;\n };\n path.centroid = function(object) {\n d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n };\n path.bounds = function(object) {\n d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n };\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n return reset();\n };\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return reset();\n };\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n function reset() {\n cacheStream = null;\n return path;\n }\n return path.projection(d3.geo.albersUsa()).context(null);\n };\n function d3_geo_pathProjectStream(project) {\n var resample = d3_geo_resample(function(x, y) {\n return project([ x * d3_degrees, y * d3_degrees ]);\n });\n return function(stream) {\n return d3_geo_projectionRadians(resample(stream));\n };\n }\n d3.geo.transform = function(methods) {\n return {\n stream: function(stream) {\n var transform = new d3_geo_transform(stream);\n for (var k in methods) transform[k] = methods[k];\n return transform;\n }\n };\n };\n function d3_geo_transform(stream) {\n this.stream = stream;\n }\n d3_geo_transform.prototype = {\n point: function(x, y) {\n this.stream.point(x, y);\n },\n sphere: function() {\n this.stream.sphere();\n },\n lineStart: function() {\n this.stream.lineStart();\n },\n lineEnd: function() {\n this.stream.lineEnd();\n },\n polygonStart: function() {\n this.stream.polygonStart();\n },\n polygonEnd: function() {\n this.stream.polygonEnd();\n }\n };\n function d3_geo_transformPoint(stream, point) {\n return {\n point: point,\n sphere: function() {\n stream.sphere();\n },\n lineStart: function() {\n stream.lineStart();\n },\n lineEnd: function() {\n stream.lineEnd();\n },\n polygonStart: function() {\n stream.polygonStart();\n },\n polygonEnd: function() {\n stream.polygonEnd();\n }\n };\n }\n d3.geo.projection = d3_geo_projection;\n d3.geo.projectionMutator = d3_geo_projectionMutator;\n function d3_geo_projection(project) {\n return d3_geo_projectionMutator(function() {\n return project;\n })();\n }\n function d3_geo_projectionMutator(projectAt) {\n var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n x = project(x, y);\n return [ x[0] * k + ฮดx, ฮดy - x[1] * k ];\n }), k = 150, x = 480, y = 250, ฮป = 0, ฯ† = 0, ฮดฮป = 0, ฮดฯ† = 0, ฮดฮณ = 0, ฮดx, ฮดy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n function projection(point) {\n point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n return [ point[0] * k + ฮดx, ฮดy - point[1] * k ];\n }\n function invert(point) {\n point = projectRotate.invert((point[0] - ฮดx) / k, (ฮดy - point[1]) / k);\n return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n }\n projection.stream = function(output) {\n if (stream) stream.valid = false;\n stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n stream.valid = true;\n return stream;\n };\n projection.clipAngle = function(_) {\n if (!arguments.length) return clipAngle;\n preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n return invalidate();\n };\n projection.clipExtent = function(_) {\n if (!arguments.length) return clipExtent;\n clipExtent = _;\n postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n return invalidate();\n };\n projection.scale = function(_) {\n if (!arguments.length) return k;\n k = +_;\n return reset();\n };\n projection.translate = function(_) {\n if (!arguments.length) return [ x, y ];\n x = +_[0];\n y = +_[1];\n return reset();\n };\n projection.center = function(_) {\n if (!arguments.length) return [ ฮป * d3_degrees, ฯ† * d3_degrees ];\n ฮป = _[0] % 360 * d3_radians;\n ฯ† = _[1] % 360 * d3_radians;\n return reset();\n };\n projection.rotate = function(_) {\n if (!arguments.length) return [ ฮดฮป * d3_degrees, ฮดฯ† * d3_degrees, ฮดฮณ * d3_degrees ];\n ฮดฮป = _[0] % 360 * d3_radians;\n ฮดฯ† = _[1] % 360 * d3_radians;\n ฮดฮณ = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n return reset();\n };\n d3.rebind(projection, projectResample, \"precision\");\n function reset() {\n projectRotate = d3_geo_compose(rotate = d3_geo_rotation(ฮดฮป, ฮดฯ†, ฮดฮณ), project);\n var center = project(ฮป, ฯ†);\n ฮดx = x - center[0] * k;\n ฮดy = y + center[1] * k;\n return invalidate();\n }\n function invalidate() {\n if (stream) stream.valid = false, stream = null;\n return projection;\n }\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return reset();\n };\n }\n function d3_geo_projectionRadians(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n stream.point(x * d3_radians, y * d3_radians);\n });\n }\n function d3_geo_equirectangular(ฮป, ฯ†) {\n return [ ฮป, ฯ† ];\n }\n (d3.geo.equirectangular = function() {\n return d3_geo_projection(d3_geo_equirectangular);\n }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n d3.geo.rotation = function(rotate) {\n rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n }\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n };\n return forward;\n };\n function d3_geo_identityRotation(ฮป, ฯ†) {\n return [ ฮป > ฯ€ ? ฮป - ฯ„ : ฮป < -ฯ€ ? ฮป + ฯ„ : ฮป, ฯ† ];\n }\n d3_geo_identityRotation.invert = d3_geo_equirectangular;\n function d3_geo_rotation(ฮดฮป, ฮดฯ†, ฮดฮณ) {\n return ฮดฮป ? ฮดฯ† || ฮดฮณ ? d3_geo_compose(d3_geo_rotationฮป(ฮดฮป), d3_geo_rotationฯ†ฮณ(ฮดฯ†, ฮดฮณ)) : d3_geo_rotationฮป(ฮดฮป) : ฮดฯ† || ฮดฮณ ? d3_geo_rotationฯ†ฮณ(ฮดฯ†, ฮดฮณ) : d3_geo_identityRotation;\n }\n function d3_geo_forwardRotationฮป(ฮดฮป) {\n return function(ฮป, ฯ†) {\n return ฮป += ฮดฮป, [ ฮป > ฯ€ ? ฮป - ฯ„ : ฮป < -ฯ€ ? ฮป + ฯ„ : ฮป, ฯ† ];\n };\n }\n function d3_geo_rotationฮป(ฮดฮป) {\n var rotation = d3_geo_forwardRotationฮป(ฮดฮป);\n rotation.invert = d3_geo_forwardRotationฮป(-ฮดฮป);\n return rotation;\n }\n function d3_geo_rotationฯ†ฮณ(ฮดฯ†, ฮดฮณ) {\n var cosฮดฯ† = Math.cos(ฮดฯ†), sinฮดฯ† = Math.sin(ฮดฯ†), cosฮดฮณ = Math.cos(ฮดฮณ), sinฮดฮณ = Math.sin(ฮดฮณ);\n function rotation(ฮป, ฯ†) {\n var cosฯ† = Math.cos(ฯ†), x = Math.cos(ฮป) * cosฯ†, y = Math.sin(ฮป) * cosฯ†, z = Math.sin(ฯ†), k = z * cosฮดฯ† + x * sinฮดฯ†;\n return [ Math.atan2(y * cosฮดฮณ - k * sinฮดฮณ, x * cosฮดฯ† - z * sinฮดฯ†), d3_asin(k * cosฮดฮณ + y * sinฮดฮณ) ];\n }\n rotation.invert = function(ฮป, ฯ†) {\n var cosฯ† = Math.cos(ฯ†), x = Math.cos(ฮป) * cosฯ†, y = Math.sin(ฮป) * cosฯ†, z = Math.sin(ฯ†), k = z * cosฮดฮณ - y * sinฮดฮณ;\n return [ Math.atan2(y * cosฮดฮณ + z * sinฮดฮณ, x * cosฮดฯ† + k * sinฮดฯ†), d3_asin(k * cosฮดฯ† - x * sinฮดฯ†) ];\n };\n return rotation;\n }\n d3.geo.circle = function() {\n var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n function circle() {\n var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n interpolate(null, null, 1, {\n point: function(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= d3_degrees, x[1] *= d3_degrees;\n }\n });\n return {\n type: \"Polygon\",\n coordinates: [ ring ]\n };\n }\n circle.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return circle;\n };\n circle.angle = function(x) {\n if (!arguments.length) return angle;\n interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n return circle;\n };\n circle.precision = function(_) {\n if (!arguments.length) return precision;\n interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n return circle;\n };\n return circle.angle(90);\n };\n function d3_geo_circleInterpolate(radius, precision) {\n var cr = Math.cos(radius), sr = Math.sin(radius);\n return function(from, to, direction, listener) {\n var step = direction * precision;\n if (from != null) {\n from = d3_geo_circleAngle(cr, from);\n to = d3_geo_circleAngle(cr, to);\n if (direction > 0 ? from < to : from > to) from += direction * ฯ„;\n } else {\n from = radius + direction * ฯ„;\n to = radius - .5 * step;\n }\n for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n }\n };\n }\n function d3_geo_circleAngle(cr, point) {\n var a = d3_geo_cartesian(point);\n a[0] -= cr;\n d3_geo_cartesianNormalize(a);\n var angle = d3_acos(-a[1]);\n return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ฮต) % (2 * Math.PI);\n }\n d3.geo.distance = function(a, b) {\n var ฮ”ฮป = (b[0] - a[0]) * d3_radians, ฯ†0 = a[1] * d3_radians, ฯ†1 = b[1] * d3_radians, sinฮ”ฮป = Math.sin(ฮ”ฮป), cosฮ”ฮป = Math.cos(ฮ”ฮป), sinฯ†0 = Math.sin(ฯ†0), cosฯ†0 = Math.cos(ฯ†0), sinฯ†1 = Math.sin(ฯ†1), cosฯ†1 = Math.cos(ฯ†1), t;\n return Math.atan2(Math.sqrt((t = cosฯ†1 * sinฮ”ฮป) * t + (t = cosฯ†0 * sinฯ†1 - sinฯ†0 * cosฯ†1 * cosฮ”ฮป) * t), sinฯ†0 * sinฯ†1 + cosฯ†0 * cosฯ†1 * cosฮ”ฮป);\n };\n d3.geo.graticule = function() {\n var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n function graticule() {\n return {\n type: \"MultiLineString\",\n coordinates: lines()\n };\n }\n function lines() {\n return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n return abs(x % DX) > ฮต;\n }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n return abs(y % DY) > ฮต;\n }).map(y));\n }\n graticule.lines = function() {\n return lines().map(function(coordinates) {\n return {\n type: \"LineString\",\n coordinates: coordinates\n };\n });\n };\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n };\n };\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.minorExtent();\n return graticule.majorExtent(_).minorExtent(_);\n };\n graticule.majorExtent = function(_) {\n if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n graticule.minorExtent = function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n graticule.step = function(_) {\n if (!arguments.length) return graticule.minorStep();\n return graticule.majorStep(_).minorStep(_);\n };\n graticule.majorStep = function(_) {\n if (!arguments.length) return [ DX, DY ];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n graticule.minorStep = function(_) {\n if (!arguments.length) return [ dx, dy ];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = d3_geo_graticuleX(y0, y1, 90);\n y = d3_geo_graticuleY(x0, x1, precision);\n X = d3_geo_graticuleX(Y0, Y1, 90);\n Y = d3_geo_graticuleY(X0, X1, precision);\n return graticule;\n };\n return graticule.majorExtent([ [ -180, -90 + ฮต ], [ 180, 90 - ฮต ] ]).minorExtent([ [ -180, -80 - ฮต ], [ 180, 80 + ฮต ] ]);\n };\n function d3_geo_graticuleX(y0, y1, dy) {\n var y = d3.range(y0, y1 - ฮต, dy).concat(y1);\n return function(x) {\n return y.map(function(y) {\n return [ x, y ];\n });\n };\n }\n function d3_geo_graticuleY(x0, x1, dx) {\n var x = d3.range(x0, x1 - ฮต, dx).concat(x1);\n return function(y) {\n return x.map(function(x) {\n return [ x, y ];\n });\n };\n }\n function d3_source(d) {\n return d.source;\n }\n function d3_target(d) {\n return d.target;\n }\n d3.geo.greatArc = function() {\n var source = d3_source, source_, target = d3_target, target_;\n function greatArc() {\n return {\n type: \"LineString\",\n coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n };\n }\n greatArc.distance = function() {\n return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n };\n greatArc.source = function(_) {\n if (!arguments.length) return source;\n source = _, source_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.target = function(_) {\n if (!arguments.length) return target;\n target = _, target_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.precision = function() {\n return arguments.length ? greatArc : 0;\n };\n return greatArc;\n };\n d3.geo.interpolate = function(source, target) {\n return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n };\n function d3_geo_interpolate(x0, y0, x1, y1) {\n var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n var interpolate = d ? function(t) {\n var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n } : function() {\n return [ x0 * d3_degrees, y0 * d3_degrees ];\n };\n interpolate.distance = d;\n return interpolate;\n }\n d3.geo.length = function(object) {\n d3_geo_lengthSum = 0;\n d3.geo.stream(object, d3_geo_length);\n return d3_geo_lengthSum;\n };\n var d3_geo_lengthSum;\n var d3_geo_length = {\n sphere: d3_noop,\n point: d3_noop,\n lineStart: d3_geo_lengthLineStart,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_lengthLineStart() {\n var ฮป0, sinฯ†0, cosฯ†0;\n d3_geo_length.point = function(ฮป, ฯ†) {\n ฮป0 = ฮป * d3_radians, sinฯ†0 = Math.sin(ฯ† *= d3_radians), cosฯ†0 = Math.cos(ฯ†);\n d3_geo_length.point = nextPoint;\n };\n d3_geo_length.lineEnd = function() {\n d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n };\n function nextPoint(ฮป, ฯ†) {\n var sinฯ† = Math.sin(ฯ† *= d3_radians), cosฯ† = Math.cos(ฯ†), t = abs((ฮป *= d3_radians) - ฮป0), cosฮ”ฮป = Math.cos(t);\n d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosฯ† * Math.sin(t)) * t + (t = cosฯ†0 * sinฯ† - sinฯ†0 * cosฯ† * cosฮ”ฮป) * t), sinฯ†0 * sinฯ† + cosฯ†0 * cosฯ† * cosฮ”ฮป);\n ฮป0 = ฮป, sinฯ†0 = sinฯ†, cosฯ†0 = cosฯ†;\n }\n }\n function d3_geo_azimuthal(scale, angle) {\n function azimuthal(ฮป, ฯ†) {\n var cosฮป = Math.cos(ฮป), cosฯ† = Math.cos(ฯ†), k = scale(cosฮป * cosฯ†);\n return [ k * cosฯ† * Math.sin(ฮป), k * Math.sin(ฯ†) ];\n }\n azimuthal.invert = function(x, y) {\n var ฯ = Math.sqrt(x * x + y * y), c = angle(ฯ), sinc = Math.sin(c), cosc = Math.cos(c);\n return [ Math.atan2(x * sinc, ฯ * cosc), Math.asin(ฯ && y * sinc / ฯ) ];\n };\n return azimuthal;\n }\n var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosฮปcosฯ†) {\n return Math.sqrt(2 / (1 + cosฮปcosฯ†));\n }, function(ฯ) {\n return 2 * Math.asin(ฯ / 2);\n });\n (d3.geo.azimuthalEqualArea = function() {\n return d3_geo_projection(d3_geo_azimuthalEqualArea);\n }).raw = d3_geo_azimuthalEqualArea;\n var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosฮปcosฯ†) {\n var c = Math.acos(cosฮปcosฯ†);\n return c && c / Math.sin(c);\n }, d3_identity);\n (d3.geo.azimuthalEquidistant = function() {\n return d3_geo_projection(d3_geo_azimuthalEquidistant);\n }).raw = d3_geo_azimuthalEquidistant;\n function d3_geo_conicConformal(ฯ†0, ฯ†1) {\n var cosฯ†0 = Math.cos(ฯ†0), t = function(ฯ†) {\n return Math.tan(ฯ€ / 4 + ฯ† / 2);\n }, n = ฯ†0 === ฯ†1 ? Math.sin(ฯ†0) : Math.log(cosฯ†0 / Math.cos(ฯ†1)) / Math.log(t(ฯ†1) / t(ฯ†0)), F = cosฯ†0 * Math.pow(t(ฯ†0), n) / n;\n if (!n) return d3_geo_mercator;\n function forward(ฮป, ฯ†) {\n if (F > 0) {\n if (ฯ† < -halfฯ€ + ฮต) ฯ† = -halfฯ€ + ฮต;\n } else {\n if (ฯ† > halfฯ€ - ฮต) ฯ† = halfฯ€ - ฮต;\n }\n var ฯ = F / Math.pow(t(ฯ†), n);\n return [ ฯ * Math.sin(n * ฮป), F - ฯ * Math.cos(n * ฮป) ];\n }\n forward.invert = function(x, y) {\n var ฯ0_y = F - y, ฯ = d3_sgn(n) * Math.sqrt(x * x + ฯ0_y * ฯ0_y);\n return [ Math.atan2(x, ฯ0_y) / n, 2 * Math.atan(Math.pow(F / ฯ, 1 / n)) - halfฯ€ ];\n };\n return forward;\n }\n (d3.geo.conicConformal = function() {\n return d3_geo_conic(d3_geo_conicConformal);\n }).raw = d3_geo_conicConformal;\n function d3_geo_conicEquidistant(ฯ†0, ฯ†1) {\n var cosฯ†0 = Math.cos(ฯ†0), n = ฯ†0 === ฯ†1 ? Math.sin(ฯ†0) : (cosฯ†0 - Math.cos(ฯ†1)) / (ฯ†1 - ฯ†0), G = cosฯ†0 / n + ฯ†0;\n if (abs(n) < ฮต) return d3_geo_equirectangular;\n function forward(ฮป, ฯ†) {\n var ฯ = G - ฯ†;\n return [ ฯ * Math.sin(n * ฮป), G - ฯ * Math.cos(n * ฮป) ];\n }\n forward.invert = function(x, y) {\n var ฯ0_y = G - y;\n return [ Math.atan2(x, ฯ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ฯ0_y * ฯ0_y) ];\n };\n return forward;\n }\n (d3.geo.conicEquidistant = function() {\n return d3_geo_conic(d3_geo_conicEquidistant);\n }).raw = d3_geo_conicEquidistant;\n var d3_geo_gnomonic = d3_geo_azimuthal(function(cosฮปcosฯ†) {\n return 1 / cosฮปcosฯ†;\n }, Math.atan);\n (d3.geo.gnomonic = function() {\n return d3_geo_projection(d3_geo_gnomonic);\n }).raw = d3_geo_gnomonic;\n function d3_geo_mercator(ฮป, ฯ†) {\n return [ ฮป, Math.log(Math.tan(ฯ€ / 4 + ฯ† / 2)) ];\n }\n d3_geo_mercator.invert = function(x, y) {\n return [ x, 2 * Math.atan(Math.exp(y)) - halfฯ€ ];\n };\n function d3_geo_mercatorProjection(project) {\n var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n m.scale = function() {\n var v = scale.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.translate = function() {\n var v = translate.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.clipExtent = function(_) {\n var v = clipExtent.apply(m, arguments);\n if (v === m) {\n if (clipAuto = _ == null) {\n var k = ฯ€ * scale(), t = translate();\n clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n }\n } else if (clipAuto) {\n v = null;\n }\n return v;\n };\n return m.clipExtent(null);\n }\n (d3.geo.mercator = function() {\n return d3_geo_mercatorProjection(d3_geo_mercator);\n }).raw = d3_geo_mercator;\n var d3_geo_orthographic = d3_geo_azimuthal(function() {\n return 1;\n }, Math.asin);\n (d3.geo.orthographic = function() {\n return d3_geo_projection(d3_geo_orthographic);\n }).raw = d3_geo_orthographic;\n var d3_geo_stereographic = d3_geo_azimuthal(function(cosฮปcosฯ†) {\n return 1 / (1 + cosฮปcosฯ†);\n }, function(ฯ) {\n return 2 * Math.atan(ฯ);\n });\n (d3.geo.stereographic = function() {\n return d3_geo_projection(d3_geo_stereographic);\n }).raw = d3_geo_stereographic;\n function d3_geo_transverseMercator(ฮป, ฯ†) {\n return [ Math.log(Math.tan(ฯ€ / 4 + ฯ† / 2)), -ฮป ];\n }\n d3_geo_transverseMercator.invert = function(x, y) {\n return [ -y, 2 * Math.atan(Math.exp(x)) - halfฯ€ ];\n };\n (d3.geo.transverseMercator = function() {\n var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n projection.center = function(_) {\n return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n };\n projection.rotate = function(_) {\n return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n [ _[0], _[1], _[2] - 90 ]);\n };\n return rotate([ 0, 0, 90 ]);\n }).raw = d3_geo_transverseMercator;\n d3.geom = {};\n function d3_geom_pointX(d) {\n return d[0];\n }\n function d3_geom_pointY(d) {\n return d[1];\n }\n d3.geom.hull = function(vertices) {\n var x = d3_geom_pointX, y = d3_geom_pointY;\n if (arguments.length) return hull(vertices);\n function hull(data) {\n if (data.length < 3) return [];\n var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n for (i = 0; i < n; i++) {\n points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n }\n points.sort(d3_geom_hullOrder);\n for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n return polygon;\n }\n hull.x = function(_) {\n return arguments.length ? (x = _, hull) : x;\n };\n hull.y = function(_) {\n return arguments.length ? (y = _, hull) : y;\n };\n return hull;\n };\n function d3_geom_hullUpper(points) {\n var n = points.length, hull = [ 0, 1 ], hs = 2;\n for (var i = 2; i < n; i++) {\n while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n hull[hs++] = i;\n }\n return hull.slice(0, hs);\n }\n function d3_geom_hullOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n }\n d3.geom.polygon = function(coordinates) {\n d3_subclass(coordinates, d3_geom_polygonPrototype);\n return coordinates;\n };\n var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n d3_geom_polygonPrototype.area = function() {\n var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n while (++i < n) {\n a = b;\n b = this[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n return area * .5;\n };\n d3_geom_polygonPrototype.centroid = function(k) {\n var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n if (!arguments.length) k = -1 / (6 * this.area());\n while (++i < n) {\n a = b;\n b = this[i];\n c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n return [ x * k, y * k ];\n };\n d3_geom_polygonPrototype.clip = function(subject) {\n var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n while (++i < n) {\n input = subject.slice();\n subject.length = 0;\n b = this[i];\n c = input[(m = input.length - closed) - 1];\n j = -1;\n while (++j < m) {\n d = input[j];\n if (d3_geom_polygonInside(d, a, b)) {\n if (!d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n subject.push(d);\n } else if (d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n c = d;\n }\n if (closed) subject.push(subject[0]);\n a = b;\n }\n return subject;\n };\n function d3_geom_polygonInside(p, a, b) {\n return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n }\n function d3_geom_polygonIntersect(c, d, a, b) {\n var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n return [ x1 + ua * x21, y1 + ua * y21 ];\n }\n function d3_geom_polygonClosed(coordinates) {\n var a = coordinates[0], b = coordinates[coordinates.length - 1];\n return !(a[0] - b[0] || a[1] - b[1]);\n }\n var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n function d3_geom_voronoiBeach() {\n d3_geom_voronoiRedBlackNode(this);\n this.edge = this.site = this.circle = null;\n }\n function d3_geom_voronoiCreateBeach(site) {\n var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n beach.site = site;\n return beach;\n }\n function d3_geom_voronoiDetachBeach(beach) {\n d3_geom_voronoiDetachCircle(beach);\n d3_geom_voronoiBeaches.remove(beach);\n d3_geom_voronoiBeachPool.push(beach);\n d3_geom_voronoiRedBlackNode(beach);\n }\n function d3_geom_voronoiRemoveBeach(beach) {\n var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n x: x,\n y: y\n }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n d3_geom_voronoiDetachBeach(beach);\n var lArc = previous;\n while (lArc.circle && abs(x - lArc.circle.x) < ฮต && abs(y - lArc.circle.cy) < ฮต) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachBeach(lArc);\n lArc = previous;\n }\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachCircle(lArc);\n var rArc = next;\n while (rArc.circle && abs(x - rArc.circle.x) < ฮต && abs(y - rArc.circle.cy) < ฮต) {\n next = rArc.N;\n disappearing.push(rArc);\n d3_geom_voronoiDetachBeach(rArc);\n rArc = next;\n }\n disappearing.push(rArc);\n d3_geom_voronoiDetachCircle(rArc);\n var nArcs = disappearing.length, iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiAddBeach(site) {\n var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n while (node) {\n dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n if (dxl > ฮต) node = node.L; else {\n dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n if (dxr > ฮต) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -ฮต) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -ฮต) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n var newArc = d3_geom_voronoiCreateBeach(site);\n d3_geom_voronoiBeaches.insert(lArc, newArc);\n if (!lArc && !rArc) return;\n if (lArc === rArc) {\n d3_geom_voronoiDetachCircle(lArc);\n rArc = d3_geom_voronoiCreateBeach(lArc.site);\n d3_geom_voronoiBeaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n return;\n }\n if (!rArc) {\n newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n return;\n }\n d3_geom_voronoiDetachCircle(lArc);\n d3_geom_voronoiDetachCircle(rArc);\n var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n x: (cy * hb - by * hc) / d + ax,\n y: (bx * hc - cx * hb) / d + ay\n };\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n if (!pby2) return rfocx;\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n site = lArc.site;\n var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n if (!plby2) return lfocx;\n var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n return (rfocx + lfocx) / 2;\n }\n function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site.y === directrix ? site.x : Infinity;\n }\n function d3_geom_voronoiCell(site) {\n this.site = site;\n this.edges = [];\n }\n d3_geom_voronoiCell.prototype.prepare = function() {\n var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n while (iHalfEdge--) {\n edge = halfEdges[iHalfEdge].edge;\n if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n }\n halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n return halfEdges.length;\n };\n function d3_geom_voronoiCloseCells(extent) {\n var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n while (iCell--) {\n cell = cells[iCell];\n if (!cell || !cell.prepare()) continue;\n halfEdges = cell.edges;\n nHalfEdges = halfEdges.length;\n iHalfEdge = 0;\n while (iHalfEdge < nHalfEdges) {\n end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n if (abs(x3 - x2) > ฮต || abs(y3 - y2) > ฮต) {\n halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ฮต && y1 - y3 > ฮต ? {\n x: x0,\n y: abs(x2 - x0) < ฮต ? y2 : y1\n } : abs(y3 - y1) < ฮต && x1 - x3 > ฮต ? {\n x: abs(y2 - y1) < ฮต ? x2 : x1,\n y: y1\n } : abs(x3 - x1) < ฮต && y3 - y0 > ฮต ? {\n x: x1,\n y: abs(x2 - x1) < ฮต ? y2 : y0\n } : abs(y3 - y0) < ฮต && x3 - x0 > ฮต ? {\n x: abs(y2 - y0) < ฮต ? x2 : x0,\n y: y0\n } : null), cell.site, null));\n ++nHalfEdges;\n }\n }\n }\n }\n function d3_geom_voronoiHalfEdgeOrder(a, b) {\n return b.angle - a.angle;\n }\n function d3_geom_voronoiCircle() {\n d3_geom_voronoiRedBlackNode(this);\n this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function d3_geom_voronoiAttachCircle(arc) {\n var lArc = arc.P, rArc = arc.N;\n if (!lArc || !rArc) return;\n var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n if (lSite === rSite) return;\n var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -ฮต2) return;\n var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = cy + Math.sqrt(x * x + y * y);\n circle.cy = cy;\n arc.circle = circle;\n var before = null, node = d3_geom_voronoiCircles._;\n while (node) {\n if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n if (node.L) node = node.L; else {\n before = node.P;\n break;\n }\n } else {\n if (node.R) node = node.R; else {\n before = node;\n break;\n }\n }\n }\n d3_geom_voronoiCircles.insert(before, circle);\n if (!before) d3_geom_voronoiFirstCircle = circle;\n }\n function d3_geom_voronoiDetachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n d3_geom_voronoiCircles.remove(circle);\n d3_geom_voronoiCirclePool.push(circle);\n d3_geom_voronoiRedBlackNode(circle);\n arc.circle = null;\n }\n }\n function d3_geom_voronoiClipEdges(extent) {\n var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n while (i--) {\n e = edges[i];\n if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ฮต && abs(e.a.y - e.b.y) < ฮต) {\n e.a = e.b = null;\n edges.splice(i, 1);\n }\n }\n }\n function d3_geom_voronoiConnectEdge(edge, extent) {\n var vb = edge.b;\n if (vb) return true;\n var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!va) va = {\n x: fx,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: fx,\n y: y1\n };\n } else {\n if (!va) va = {\n x: fx,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: fx,\n y: y0\n };\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!va) va = {\n x: (y0 - fb) / fm,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: (y1 - fb) / fm,\n y: y1\n };\n } else {\n if (!va) va = {\n x: (y1 - fb) / fm,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: (y0 - fb) / fm,\n y: y0\n };\n }\n } else {\n if (ly < ry) {\n if (!va) va = {\n x: x0,\n y: fm * x0 + fb\n }; else if (va.x >= x1) return;\n vb = {\n x: x1,\n y: fm * x1 + fb\n };\n } else {\n if (!va) va = {\n x: x1,\n y: fm * x1 + fb\n }; else if (va.x < x0) return;\n vb = {\n x: x0,\n y: fm * x0 + fb\n };\n }\n }\n }\n edge.a = va;\n edge.b = vb;\n return true;\n }\n function d3_geom_voronoiEdge(lSite, rSite) {\n this.l = lSite;\n this.r = rSite;\n this.a = this.b = null;\n }\n function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, rSite);\n d3_geom_voronoiEdges.push(edge);\n if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n return edge;\n }\n function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, null);\n edge.a = va;\n edge.b = vb;\n d3_geom_voronoiEdges.push(edge);\n return edge;\n }\n function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n if (!edge.a && !edge.b) {\n edge.a = vertex;\n edge.l = lSite;\n edge.r = rSite;\n } else if (edge.l === rSite) {\n edge.b = vertex;\n } else {\n edge.a = vertex;\n }\n }\n function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n var va = edge.a, vb = edge.b;\n this.edge = edge;\n this.site = lSite;\n this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n }\n d3_geom_voronoiHalfEdge.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function d3_geom_voronoiRedBlackTree() {\n this._ = null;\n }\n function d3_geom_voronoiRedBlackNode(node) {\n node.U = node.C = node.L = node.R = node.P = node.N = null;\n }\n d3_geom_voronoiRedBlackTree.prototype = {\n insert: function(after, node) {\n var parent, grandpa, uncle;\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = d3_geom_voronoiRedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n if (parent) {\n if (parent.L === node) parent.L = next; else parent.R = next;\n } else {\n this._ = next;\n }\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) {\n node.C = false;\n return;\n }\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n if (node) node.C = false;\n }\n };\n function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n var p = node, q = node.R, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n }\n function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n var p = node, q = node.L, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n }\n function d3_geom_voronoiRedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n }\n function d3_geom_voronoi(sites, bbox) {\n var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n d3_geom_voronoiEdges = [];\n d3_geom_voronoiCells = new Array(sites.length);\n d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n while (true) {\n circle = d3_geom_voronoiFirstCircle;\n if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n if (site.x !== x0 || site.y !== y0) {\n d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n d3_geom_voronoiAddBeach(site);\n x0 = site.x, y0 = site.y;\n }\n site = sites.pop();\n } else if (circle) {\n d3_geom_voronoiRemoveBeach(circle.arc);\n } else {\n break;\n }\n }\n if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n var diagram = {\n cells: d3_geom_voronoiCells,\n edges: d3_geom_voronoiEdges\n };\n d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n return diagram;\n }\n function d3_geom_voronoiVertexOrder(a, b) {\n return b.y - a.y || b.x - a.x;\n }\n d3.geom.voronoi = function(points) {\n var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n if (points) return voronoi(points);\n function voronoi(data) {\n var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n var s = e.start();\n return [ s.x, s.y ];\n }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n polygon.point = data[i];\n });\n return polygons;\n }\n function sites(data) {\n return data.map(function(d, i) {\n return {\n x: Math.round(fx(d, i) / ฮต) * ฮต,\n y: Math.round(fy(d, i) / ฮต) * ฮต,\n i: i\n };\n });\n }\n voronoi.links = function(data) {\n return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n return edge.l && edge.r;\n }).map(function(edge) {\n return {\n source: data[edge.l.i],\n target: data[edge.r.i]\n };\n });\n };\n voronoi.triangles = function(data) {\n var triangles = [];\n d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n while (++j < m) {\n e0 = e1;\n s0 = s1;\n e1 = edges[j].edge;\n s1 = e1.l === site ? e1.r : e1.l;\n if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n }\n }\n });\n return triangles;\n };\n voronoi.x = function(_) {\n return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n };\n voronoi.y = function(_) {\n return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n };\n voronoi.clipExtent = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n return voronoi;\n };\n voronoi.size = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n };\n return voronoi;\n };\n var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n function d3_geom_voronoiTriangleArea(a, b, c) {\n return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n }\n d3.geom.delaunay = function(vertices) {\n return d3.geom.voronoi().triangles(vertices);\n };\n d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n if (compat = arguments.length) {\n x = d3_geom_quadtreeCompatX;\n y = d3_geom_quadtreeCompatY;\n if (compat === 3) {\n y2 = y1;\n x2 = x1;\n y1 = x1 = 0;\n }\n return quadtree(points);\n }\n function quadtree(data) {\n var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n if (x1 != null) {\n x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n } else {\n x2_ = y2_ = -(x1_ = y1_ = Infinity);\n xs = [], ys = [];\n n = data.length;\n if (compat) for (i = 0; i < n; ++i) {\n d = data[i];\n if (d.x < x1_) x1_ = d.x;\n if (d.y < y1_) y1_ = d.y;\n if (d.x > x2_) x2_ = d.x;\n if (d.y > y2_) y2_ = d.y;\n xs.push(d.x);\n ys.push(d.y);\n } else for (i = 0; i < n; ++i) {\n var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n if (x_ < x1_) x1_ = x_;\n if (y_ < y1_) y1_ = y_;\n if (x_ > x2_) x2_ = x_;\n if (y_ > y2_) y2_ = y_;\n xs.push(x_);\n ys.push(y_);\n }\n }\n var dx = x2_ - x1_, dy = y2_ - y1_;\n if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n function insert(n, d, x, y, x1, y1, x2, y2) {\n if (isNaN(x) || isNaN(y)) return;\n if (n.leaf) {\n var nx = n.x, ny = n.y;\n if (nx != null) {\n if (abs(nx - x) + abs(ny - y) < .01) {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n } else {\n var nPoint = n.point;\n n.x = n.y = n.point = null;\n insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n } else {\n n.x = x, n.y = y, n.point = d;\n }\n } else {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n }\n function insertChild(n, d, x, y, x1, y1, x2, y2) {\n var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n n.leaf = false;\n n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n if (right) x1 = xm; else x2 = xm;\n if (below) y1 = ym; else y2 = ym;\n insert(n, d, x, y, x1, y1, x2, y2);\n }\n var root = d3_geom_quadtreeNode();\n root.add = function(d) {\n insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n };\n root.visit = function(f) {\n d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n };\n root.find = function(point) {\n return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n };\n i = -1;\n if (x1 == null) {\n while (++i < n) {\n insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n }\n --i;\n } else data.forEach(root.add);\n xs = ys = data = d = null;\n return root;\n }\n quadtree.x = function(_) {\n return arguments.length ? (x = _, quadtree) : x;\n };\n quadtree.y = function(_) {\n return arguments.length ? (y = _, quadtree) : y;\n };\n quadtree.extent = function(_) {\n if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n y2 = +_[1][1];\n return quadtree;\n };\n quadtree.size = function(_) {\n if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n return quadtree;\n };\n return quadtree;\n };\n function d3_geom_quadtreeCompatX(d) {\n return d.x;\n }\n function d3_geom_quadtreeCompatY(d) {\n return d.y;\n }\n function d3_geom_quadtreeNode() {\n return {\n leaf: true,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n if (!f(node, x1, y1, x2, y2)) {\n var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n }\n }\n function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n var minDistance2 = Infinity, closestPoint;\n (function find(node, x1, y1, x2, y2) {\n if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n if (point = node.point) {\n var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n if (distance2 < minDistance2) {\n var distance = Math.sqrt(minDistance2 = distance2);\n x0 = x - distance, y0 = y - distance;\n x3 = x + distance, y3 = y + distance;\n closestPoint = point;\n }\n }\n var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n if (node = children[i & 3]) switch (i & 3) {\n case 0:\n find(node, x1, y1, xm, ym);\n break;\n\n case 1:\n find(node, xm, y1, x2, ym);\n break;\n\n case 2:\n find(node, x1, ym, xm, y2);\n break;\n\n case 3:\n find(node, xm, ym, x2, y2);\n break;\n }\n }\n })(root, x0, y0, x3, y3);\n return closestPoint;\n }\n d3.interpolateRgb = d3_interpolateRgb;\n function d3_interpolateRgb(a, b) {\n a = d3.rgb(a);\n b = d3.rgb(b);\n var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n return function(t) {\n return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n };\n }\n d3.interpolateObject = d3_interpolateObject;\n function d3_interpolateObject(a, b) {\n var i = {}, c = {}, k;\n for (k in a) {\n if (k in b) {\n i[k] = d3_interpolate(a[k], b[k]);\n } else {\n c[k] = a[k];\n }\n }\n for (k in b) {\n if (!(k in a)) {\n c[k] = b[k];\n }\n }\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n }\n d3.interpolateNumber = d3_interpolateNumber;\n function d3_interpolateNumber(a, b) {\n a = +a, b = +b;\n return function(t) {\n return a * (1 - t) + b * t;\n };\n }\n d3.interpolateString = d3_interpolateString;\n function d3_interpolateString(a, b) {\n var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i]) s[i] += bm; else s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({\n i: i,\n x: d3_interpolateNumber(am, bm)\n });\n }\n bi = d3_interpolate_numberB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n return b(t) + \"\";\n }) : function() {\n return 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 var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n d3.interpolate = d3_interpolate;\n function d3_interpolate(a, b) {\n var i = d3.interpolators.length, f;\n while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n return f;\n }\n d3.interpolators = [ function(a, b) {\n var t = typeof b;\n return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n } ];\n d3.interpolateArray = d3_interpolateArray;\n function d3_interpolateArray(a, b) {\n var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n for (;i < na; ++i) c[i] = a[i];\n for (;i < nb; ++i) c[i] = b[i];\n return function(t) {\n for (i = 0; i < n0; ++i) c[i] = x[i](t);\n return c;\n };\n }\n var d3_ease_default = function() {\n return d3_identity;\n };\n var d3_ease = d3.map({\n linear: d3_ease_default,\n poly: d3_ease_poly,\n quad: function() {\n return d3_ease_quad;\n },\n cubic: function() {\n return d3_ease_cubic;\n },\n sin: function() {\n return d3_ease_sin;\n },\n exp: function() {\n return d3_ease_exp;\n },\n circle: function() {\n return d3_ease_circle;\n },\n elastic: d3_ease_elastic,\n back: d3_ease_back,\n bounce: function() {\n return d3_ease_bounce;\n }\n });\n var d3_ease_mode = d3.map({\n \"in\": d3_identity,\n out: d3_ease_reverse,\n \"in-out\": d3_ease_reflect,\n \"out-in\": function(f) {\n return d3_ease_reflect(d3_ease_reverse(f));\n }\n });\n d3.ease = function(name) {\n var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n t = d3_ease.get(t) || d3_ease_default;\n m = d3_ease_mode.get(m) || d3_identity;\n return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n };\n function d3_ease_clamp(f) {\n return function(t) {\n return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n };\n }\n function d3_ease_reverse(f) {\n return function(t) {\n return 1 - f(1 - t);\n };\n }\n function d3_ease_reflect(f) {\n return function(t) {\n return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n };\n }\n function d3_ease_quad(t) {\n return t * t;\n }\n function d3_ease_cubic(t) {\n return t * t * t;\n }\n function d3_ease_cubicInOut(t) {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n var t2 = t * t, t3 = t2 * t;\n return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n }\n function d3_ease_poly(e) {\n return function(t) {\n return Math.pow(t, e);\n };\n }\n function d3_ease_sin(t) {\n return 1 - Math.cos(t * halfฯ€);\n }\n function d3_ease_exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n function d3_ease_circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n function d3_ease_elastic(a, p) {\n var s;\n if (arguments.length < 2) p = .45;\n if (arguments.length) s = p / ฯ„ * Math.asin(1 / a); else a = 1, s = p / 4;\n return function(t) {\n return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * ฯ„ / p);\n };\n }\n function d3_ease_back(s) {\n if (!s) s = 1.70158;\n return function(t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n function d3_ease_bounce(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n }\n d3.interpolateHcl = d3_interpolateHcl;\n function d3_interpolateHcl(a, b) {\n a = d3.hcl(a);\n b = d3.hcl(b);\n var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateHsl = d3_interpolateHsl;\n function d3_interpolateHsl(a, b) {\n a = d3.hsl(a);\n b = d3.hsl(b);\n var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateLab = d3_interpolateLab;\n function d3_interpolateLab(a, b) {\n a = d3.lab(a);\n b = d3.lab(b);\n var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n return function(t) {\n return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n };\n }\n d3.interpolateRound = d3_interpolateRound;\n function d3_interpolateRound(a, b) {\n b -= a;\n return function(t) {\n return Math.round(a + b * t);\n };\n }\n d3.transform = function(string) {\n var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n return (d3.transform = function(string) {\n if (string != null) {\n g.setAttribute(\"transform\", string);\n var t = g.transform.baseVal.consolidate();\n }\n return new d3_transform(t ? t.matrix : d3_transformIdentity);\n })(string);\n };\n function d3_transform(m) {\n var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n if (r0[0] * r1[1] < r1[0] * r0[1]) {\n r0[0] *= -1;\n r0[1] *= -1;\n kx *= -1;\n kz *= -1;\n }\n this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n this.translate = [ m.e, m.f ];\n this.scale = [ kx, ky ];\n this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n }\n d3_transform.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function d3_transformDot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n function d3_transformNormalize(a) {\n var k = Math.sqrt(d3_transformDot(a, a));\n if (k) {\n a[0] /= k;\n a[1] /= k;\n }\n return k;\n }\n function d3_transformCombine(a, b, k) {\n a[0] += k * b[0];\n a[1] += k * b[1];\n return a;\n }\n var d3_transformIdentity = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n d3.interpolateTransform = d3_interpolateTransform;\n function d3_interpolateTransformPop(s) {\n return s.length ? s.pop() + \",\" : \"\";\n }\n function d3_interpolateTranslate(ta, tb, s, q) {\n if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n var i = s.push(\"translate(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ta[0], tb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ta[1], tb[1])\n });\n } else if (tb[0] || tb[1]) {\n s.push(\"translate(\" + tb + \")\");\n }\n }\n function d3_interpolateRotate(ra, rb, s, q) {\n if (ra !== rb) {\n if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n x: d3_interpolateNumber(ra, rb)\n });\n } else if (rb) {\n s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n }\n }\n function d3_interpolateSkew(wa, wb, s, q) {\n if (wa !== wb) {\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n x: d3_interpolateNumber(wa, wb)\n });\n } else if (wb) {\n s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n }\n }\n function d3_interpolateScale(ka, kb, s, q) {\n if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ka[0], kb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ka[1], kb[1])\n });\n } else if (kb[0] !== 1 || kb[1] !== 1) {\n s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n }\n }\n function d3_interpolateTransform(a, b) {\n var s = [], q = [];\n a = d3.transform(a), b = d3.transform(b);\n d3_interpolateTranslate(a.translate, b.translate, s, q);\n d3_interpolateRotate(a.rotate, b.rotate, s, q);\n d3_interpolateSkew(a.skew, b.skew, s, q);\n d3_interpolateScale(a.scale, b.scale, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n }\n function d3_uninterpolateNumber(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return (x - a) / b;\n };\n }\n function d3_uninterpolateClamp(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return Math.max(0, Math.min(1, (x - a) / b));\n };\n }\n d3.layout = {};\n d3.layout.bundle = function() {\n return function(links) {\n var paths = [], i = -1, n = links.length;\n while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n return paths;\n };\n };\n function d3_layout_bundlePath(link) {\n var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n while (start !== lca) {\n start = start.parent;\n points.push(start);\n }\n var k = points.length;\n while (end !== lca) {\n points.splice(k, 0, end);\n end = end.parent;\n }\n return points;\n }\n function d3_layout_bundleAncestors(node) {\n var ancestors = [], parent = node.parent;\n while (parent != null) {\n ancestors.push(node);\n node = parent;\n parent = parent.parent;\n }\n ancestors.push(node);\n return ancestors;\n }\n function d3_layout_bundleLeastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n while (aNode === bNode) {\n sharedNode = aNode;\n aNode = aNodes.pop();\n bNode = bNodes.pop();\n }\n return sharedNode;\n }\n d3.layout.chord = function() {\n var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n function relayout() {\n var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n chords = [];\n groups = [];\n k = 0, i = -1;\n while (++i < n) {\n x = 0, j = -1;\n while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(d3.range(n));\n k += x;\n }\n if (sortGroups) {\n groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n }\n if (sortSubgroups) {\n subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n }\n k = (ฯ„ - padding * n) / k;\n x = 0, i = -1;\n while (++i < n) {\n x0 = x, j = -1;\n while (++j < n) {\n var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n subgroups[di + \"-\" + dj] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += padding;\n }\n i = -1;\n while (++i < n) {\n j = i - 1;\n while (++j < n) {\n var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n if (source.value || target.value) {\n chords.push(source.value < target.value ? {\n source: target,\n target: source\n } : {\n source: source,\n target: target\n });\n }\n }\n }\n if (sortChords) resort();\n }\n function resort() {\n chords.sort(function(a, b) {\n return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n });\n }\n chord.matrix = function(x) {\n if (!arguments.length) return matrix;\n n = (matrix = x) && matrix.length;\n chords = groups = null;\n return chord;\n };\n chord.padding = function(x) {\n if (!arguments.length) return padding;\n padding = x;\n chords = groups = null;\n return chord;\n };\n chord.sortGroups = function(x) {\n if (!arguments.length) return sortGroups;\n sortGroups = x;\n chords = groups = null;\n return chord;\n };\n chord.sortSubgroups = function(x) {\n if (!arguments.length) return sortSubgroups;\n sortSubgroups = x;\n chords = null;\n return chord;\n };\n chord.sortChords = function(x) {\n if (!arguments.length) return sortChords;\n sortChords = x;\n if (chords) resort();\n return chord;\n };\n chord.chords = function() {\n if (!chords) relayout();\n return chords;\n };\n chord.groups = function() {\n if (!groups) relayout();\n return groups;\n };\n return chord;\n };\n d3.layout.force = function() {\n var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n function repulse(node) {\n return function(quad, x1, _, x2) {\n if (quad.point !== node) {\n var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n if (dw * dw / theta2 < dn) {\n if (dn < chargeDistance2) {\n var k = quad.charge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n return true;\n }\n if (quad.point && dn && dn < chargeDistance2) {\n var k = quad.pointCharge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n }\n return !quad.charge;\n };\n }\n force.tick = function() {\n if ((alpha *= .99) < .005) {\n timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n return true;\n }\n var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n for (i = 0; i < m; ++i) {\n o = links[i];\n s = o.source;\n t = o.target;\n x = t.x - s.x;\n y = t.y - s.y;\n if (l = x * x + y * y) {\n l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n x *= l;\n y *= l;\n t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n t.y -= y * k;\n s.x += x * (k = 1 - k);\n s.y += y * k;\n }\n }\n if (k = alpha * gravity) {\n x = size[0] / 2;\n y = size[1] / 2;\n i = -1;\n if (k) while (++i < n) {\n o = nodes[i];\n o.x += (x - o.x) * k;\n o.y += (y - o.y) * k;\n }\n }\n if (charge) {\n d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n i = -1;\n while (++i < n) {\n if (!(o = nodes[i]).fixed) {\n q.visit(repulse(o));\n }\n }\n }\n i = -1;\n while (++i < n) {\n o = nodes[i];\n if (o.fixed) {\n o.x = o.px;\n o.y = o.py;\n } else {\n o.x -= (o.px - (o.px = o.x)) * friction;\n o.y -= (o.py - (o.py = o.y)) * friction;\n }\n }\n event.tick({\n type: \"tick\",\n alpha: alpha\n });\n };\n force.nodes = function(x) {\n if (!arguments.length) return nodes;\n nodes = x;\n return force;\n };\n force.links = function(x) {\n if (!arguments.length) return links;\n links = x;\n return force;\n };\n force.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return force;\n };\n force.linkDistance = function(x) {\n if (!arguments.length) return linkDistance;\n linkDistance = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.distance = force.linkDistance;\n force.linkStrength = function(x) {\n if (!arguments.length) return linkStrength;\n linkStrength = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.friction = function(x) {\n if (!arguments.length) return friction;\n friction = +x;\n return force;\n };\n force.charge = function(x) {\n if (!arguments.length) return charge;\n charge = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.chargeDistance = function(x) {\n if (!arguments.length) return Math.sqrt(chargeDistance2);\n chargeDistance2 = x * x;\n return force;\n };\n force.gravity = function(x) {\n if (!arguments.length) return gravity;\n gravity = +x;\n return force;\n };\n force.theta = function(x) {\n if (!arguments.length) return Math.sqrt(theta2);\n theta2 = x * x;\n return force;\n };\n force.alpha = function(x) {\n if (!arguments.length) return alpha;\n x = +x;\n if (alpha) {\n if (x > 0) {\n alpha = x;\n } else {\n timer.c = null, timer.t = NaN, timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n }\n } else if (x > 0) {\n event.start({\n type: \"start\",\n alpha: alpha = x\n });\n timer = d3_timer(force.tick);\n }\n return force;\n };\n force.start = function() {\n var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n for (i = 0; i < n; ++i) {\n (o = nodes[i]).index = i;\n o.weight = 0;\n }\n for (i = 0; i < m; ++i) {\n o = links[i];\n if (typeof o.source == \"number\") o.source = nodes[o.source];\n if (typeof o.target == \"number\") o.target = nodes[o.target];\n ++o.source.weight;\n ++o.target.weight;\n }\n for (i = 0; i < n; ++i) {\n o = nodes[i];\n if (isNaN(o.x)) o.x = position(\"x\", w);\n if (isNaN(o.y)) o.y = position(\"y\", h);\n if (isNaN(o.px)) o.px = o.x;\n if (isNaN(o.py)) o.py = o.y;\n }\n distances = [];\n if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n strengths = [];\n if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n charges = [];\n if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n function position(dimension, size) {\n if (!neighbors) {\n neighbors = new Array(n);\n for (j = 0; j < n; ++j) {\n neighbors[j] = [];\n }\n for (j = 0; j < m; ++j) {\n var o = links[j];\n neighbors[o.source.index].push(o.target);\n neighbors[o.target.index].push(o.source);\n }\n }\n var candidates = neighbors[i], j = -1, l = candidates.length, x;\n while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n return Math.random() * size;\n }\n return force.resume();\n };\n force.resume = function() {\n return force.alpha(.1);\n };\n force.stop = function() {\n return force.alpha(0);\n };\n force.drag = function() {\n if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n if (!arguments.length) return drag;\n this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n };\n function dragmove(d) {\n d.px = d3.event.x, d.py = d3.event.y;\n force.resume();\n }\n return d3.rebind(force, event, \"on\");\n };\n function d3_layout_forceDragstart(d) {\n d.fixed |= 2;\n }\n function d3_layout_forceDragend(d) {\n d.fixed &= ~6;\n }\n function d3_layout_forceMouseover(d) {\n d.fixed |= 4;\n d.px = d.x, d.py = d.y;\n }\n function d3_layout_forceMouseout(d) {\n d.fixed &= ~4;\n }\n function d3_layout_forceAccumulate(quad, alpha, charges) {\n var cx = 0, cy = 0;\n quad.charge = 0;\n if (!quad.leaf) {\n var nodes = quad.nodes, n = nodes.length, i = -1, c;\n while (++i < n) {\n c = nodes[i];\n if (c == null) continue;\n d3_layout_forceAccumulate(c, alpha, charges);\n quad.charge += c.charge;\n cx += c.charge * c.cx;\n cy += c.charge * c.cy;\n }\n }\n if (quad.point) {\n if (!quad.leaf) {\n quad.point.x += Math.random() - .5;\n quad.point.y += Math.random() - .5;\n }\n var k = alpha * charges[quad.point.index];\n quad.charge += quad.pointCharge = k;\n cx += k * quad.point.x;\n cy += k * quad.point.y;\n }\n quad.cx = cx / quad.charge;\n quad.cy = cy / quad.charge;\n }\n var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n d3.layout.hierarchy = function() {\n var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n function hierarchy(root) {\n var stack = [ root ], nodes = [], node;\n root.depth = 0;\n while ((node = stack.pop()) != null) {\n nodes.push(node);\n if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n var n, childs, child;\n while (--n >= 0) {\n stack.push(child = childs[n]);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n if (value) node.value = 0;\n node.children = childs;\n } else {\n if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n delete node.children;\n }\n }\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var childs, parent;\n if (sort && (childs = node.children)) childs.sort(sort);\n if (value && (parent = node.parent)) parent.value += node.value;\n });\n return nodes;\n }\n hierarchy.sort = function(x) {\n if (!arguments.length) return sort;\n sort = x;\n return hierarchy;\n };\n hierarchy.children = function(x) {\n if (!arguments.length) return children;\n children = x;\n return hierarchy;\n };\n hierarchy.value = function(x) {\n if (!arguments.length) return value;\n value = x;\n return hierarchy;\n };\n hierarchy.revalue = function(root) {\n if (value) {\n d3_layout_hierarchyVisitBefore(root, function(node) {\n if (node.children) node.value = 0;\n });\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var parent;\n if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n if (parent = node.parent) parent.value += node.value;\n });\n }\n return root;\n };\n return hierarchy;\n };\n function d3_layout_hierarchyRebind(object, hierarchy) {\n d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n object.nodes = object;\n object.links = d3_layout_hierarchyLinks;\n return object;\n }\n function d3_layout_hierarchyVisitBefore(node, callback) {\n var nodes = [ node ];\n while ((node = nodes.pop()) != null) {\n callback(node);\n if ((children = node.children) && (n = children.length)) {\n var n, children;\n while (--n >= 0) nodes.push(children[n]);\n }\n }\n }\n function d3_layout_hierarchyVisitAfter(node, callback) {\n var nodes = [ node ], nodes2 = [];\n while ((node = nodes.pop()) != null) {\n nodes2.push(node);\n if ((children = node.children) && (n = children.length)) {\n var i = -1, n, children;\n while (++i < n) nodes.push(children[i]);\n }\n }\n while ((node = nodes2.pop()) != null) {\n callback(node);\n }\n }\n function d3_layout_hierarchyChildren(d) {\n return d.children;\n }\n function d3_layout_hierarchyValue(d) {\n return d.value;\n }\n function d3_layout_hierarchySort(a, b) {\n return b.value - a.value;\n }\n function d3_layout_hierarchyLinks(nodes) {\n return d3.merge(nodes.map(function(parent) {\n return (parent.children || []).map(function(child) {\n return {\n source: parent,\n target: child\n };\n });\n }));\n }\n d3.layout.partition = function() {\n var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n function position(node, x, dx, dy) {\n var children = node.children;\n node.x = x;\n node.y = node.depth * dy;\n node.dx = dx;\n node.dy = dy;\n if (children && (n = children.length)) {\n var i = -1, n, c, d;\n dx = node.value ? dx / node.value : 0;\n while (++i < n) {\n position(c = children[i], x, d = c.value * dx, dy);\n x += d;\n }\n }\n }\n function depth(node) {\n var children = node.children, d = 0;\n if (children && (n = children.length)) {\n var i = -1, n;\n while (++i < n) d = Math.max(d, depth(children[i]));\n }\n return 1 + d;\n }\n function partition(d, i) {\n var nodes = hierarchy.call(this, d, i);\n position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n return nodes;\n }\n partition.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return partition;\n };\n return d3_layout_hierarchyRebind(partition, hierarchy);\n };\n d3.layout.pie = function() {\n var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = ฯ„, padAngle = 0;\n function pie(data) {\n var n = data.length, values = data.map(function(d, i) {\n return +value.call(pie, d, i);\n }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n return values[j] - values[i];\n } : function(i, j) {\n return sort(data[i], data[j]);\n });\n index.forEach(function(i) {\n arcs[i] = {\n data: data[i],\n value: v = values[i],\n startAngle: a,\n endAngle: a += v * k + pa,\n padAngle: p\n };\n });\n return arcs;\n }\n pie.value = function(_) {\n if (!arguments.length) return value;\n value = _;\n return pie;\n };\n pie.sort = function(_) {\n if (!arguments.length) return sort;\n sort = _;\n return pie;\n };\n pie.startAngle = function(_) {\n if (!arguments.length) return startAngle;\n startAngle = _;\n return pie;\n };\n pie.endAngle = function(_) {\n if (!arguments.length) return endAngle;\n endAngle = _;\n return pie;\n };\n pie.padAngle = function(_) {\n if (!arguments.length) return padAngle;\n padAngle = _;\n return pie;\n };\n return pie;\n };\n var d3_layout_pieSortByValue = {};\n d3.layout.stack = function() {\n var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n function stack(data, index) {\n if (!(n = data.length)) return data;\n var series = data.map(function(d, i) {\n return values.call(stack, d, i);\n });\n var points = series.map(function(d) {\n return d.map(function(v, i) {\n return [ x.call(stack, v, i), y.call(stack, v, i) ];\n });\n });\n var orders = order.call(stack, points, index);\n series = d3.permute(series, orders);\n points = d3.permute(points, orders);\n var offsets = offset.call(stack, points, index);\n var m = series[0].length, n, i, j, o;\n for (j = 0; j < m; ++j) {\n out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n for (i = 1; i < n; ++i) {\n out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n }\n }\n return data;\n }\n stack.values = function(x) {\n if (!arguments.length) return values;\n values = x;\n return stack;\n };\n stack.order = function(x) {\n if (!arguments.length) return order;\n order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n return stack;\n };\n stack.offset = function(x) {\n if (!arguments.length) return offset;\n offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n return stack;\n };\n stack.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n return stack;\n };\n stack.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n return stack;\n };\n stack.out = function(z) {\n if (!arguments.length) return out;\n out = z;\n return stack;\n };\n return stack;\n };\n function d3_layout_stackX(d) {\n return d.x;\n }\n function d3_layout_stackY(d) {\n return d.y;\n }\n function d3_layout_stackOut(d, y0, y) {\n d.y0 = y0;\n d.y = y;\n }\n var d3_layout_stackOrders = d3.map({\n \"inside-out\": function(data) {\n var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n return max[a] - max[b];\n }), top = 0, bottom = 0, tops = [], bottoms = [];\n for (i = 0; i < n; ++i) {\n j = index[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 return bottoms.reverse().concat(tops);\n },\n reverse: function(data) {\n return d3.range(data.length).reverse();\n },\n \"default\": d3_layout_stackOrderDefault\n });\n var d3_layout_stackOffsets = d3.map({\n silhouette: function(data) {\n var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o > max) max = o;\n sums.push(o);\n }\n for (j = 0; j < m; ++j) {\n y0[j] = (max - sums[j]) / 2;\n }\n return y0;\n },\n wiggle: function(data) {\n var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n y0[0] = o = o0 = 0;\n for (j = 1; j < m; ++j) {\n for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n }\n s2 += s3 * data[i][j][1];\n }\n y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n if (o < o0) o0 = o;\n }\n for (j = 0; j < m; ++j) y0[j] -= o0;\n return y0;\n },\n expand: function(data) {\n var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n },\n zero: d3_layout_stackOffsetZero\n });\n function d3_layout_stackOrderDefault(data) {\n return d3.range(data.length);\n }\n function d3_layout_stackOffsetZero(data) {\n var j = -1, m = data[0].length, y0 = [];\n while (++j < m) y0[j] = 0;\n return y0;\n }\n function d3_layout_stackMaxIndex(array) {\n var i = 1, j = 0, v = array[0][1], k, n = array.length;\n for (;i < n; ++i) {\n if ((k = array[i][1]) > v) {\n j = i;\n v = k;\n }\n }\n return j;\n }\n function d3_layout_stackReduceSum(d) {\n return d.reduce(d3_layout_stackSum, 0);\n }\n function d3_layout_stackSum(p, d) {\n return p + d[1];\n }\n d3.layout.histogram = function() {\n var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n function histogram(data, i) {\n var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n while (++i < m) {\n bin = bins[i] = [];\n bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n bin.y = 0;\n }\n if (m > 0) {\n i = -1;\n while (++i < n) {\n x = values[i];\n if (x >= range[0] && x <= range[1]) {\n bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n bin.y += k;\n bin.push(data[i]);\n }\n }\n }\n return bins;\n }\n histogram.value = function(x) {\n if (!arguments.length) return valuer;\n valuer = x;\n return histogram;\n };\n histogram.range = function(x) {\n if (!arguments.length) return ranger;\n ranger = d3_functor(x);\n return histogram;\n };\n histogram.bins = function(x) {\n if (!arguments.length) return binner;\n binner = typeof x === \"number\" ? function(range) {\n return d3_layout_histogramBinFixed(range, x);\n } : d3_functor(x);\n return histogram;\n };\n histogram.frequency = function(x) {\n if (!arguments.length) return frequency;\n frequency = !!x;\n return histogram;\n };\n return histogram;\n };\n function d3_layout_histogramBinSturges(range, values) {\n return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n }\n function d3_layout_histogramBinFixed(range, n) {\n var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n while (++x <= n) f[x] = m * x + b;\n return f;\n }\n function d3_layout_histogramRange(values) {\n return [ d3.min(values), d3.max(values) ];\n }\n d3.layout.pack = function() {\n var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n function pack(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n return radius;\n };\n root.x = root.y = 0;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r = +r(d.value);\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n if (padding) {\n var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r += dr;\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r -= dr;\n });\n }\n d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n return nodes;\n }\n pack.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return pack;\n };\n pack.radius = function(_) {\n if (!arguments.length) return radius;\n radius = _ == null || typeof _ === \"function\" ? _ : +_;\n return pack;\n };\n pack.padding = function(_) {\n if (!arguments.length) return padding;\n padding = +_;\n return pack;\n };\n return d3_layout_hierarchyRebind(pack, hierarchy);\n };\n function d3_layout_packSort(a, b) {\n return a.value - b.value;\n }\n function d3_layout_packInsert(a, b) {\n var c = a._pack_next;\n a._pack_next = b;\n b._pack_prev = a;\n b._pack_next = c;\n c._pack_prev = b;\n }\n function d3_layout_packSplice(a, b) {\n a._pack_next = b;\n b._pack_prev = a;\n }\n function d3_layout_packIntersects(a, b) {\n var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n return .999 * dr * dr > dx * dx + dy * dy;\n }\n function d3_layout_packSiblings(node) {\n if (!(nodes = node.children) || !(n = nodes.length)) return;\n var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n function bound(node) {\n xMin = Math.min(node.x - node.r, xMin);\n xMax = Math.max(node.x + node.r, xMax);\n yMin = Math.min(node.y - node.r, yMin);\n yMax = Math.max(node.y + node.r, yMax);\n }\n nodes.forEach(d3_layout_packLink);\n a = nodes[0];\n a.x = -a.r;\n a.y = 0;\n bound(a);\n if (n > 1) {\n b = nodes[1];\n b.x = b.r;\n b.y = 0;\n bound(b);\n if (n > 2) {\n c = nodes[2];\n d3_layout_packPlace(a, b, c);\n bound(c);\n d3_layout_packInsert(a, c);\n a._pack_prev = c;\n d3_layout_packInsert(c, b);\n b = a._pack_next;\n for (i = 3; i < n; i++) {\n d3_layout_packPlace(a, b, c = nodes[i]);\n var isect = 0, s1 = 1, s2 = 1;\n for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n if (d3_layout_packIntersects(j, c)) {\n isect = 1;\n break;\n }\n }\n if (isect == 1) {\n for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n if (d3_layout_packIntersects(k, c)) {\n break;\n }\n }\n }\n if (isect) {\n if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n i--;\n } else {\n d3_layout_packInsert(a, c);\n b = c;\n bound(c);\n }\n }\n }\n }\n var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n for (i = 0; i < n; i++) {\n c = nodes[i];\n c.x -= cx;\n c.y -= cy;\n cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n }\n node.r = cr;\n nodes.forEach(d3_layout_packUnlink);\n }\n function d3_layout_packLink(node) {\n node._pack_next = node._pack_prev = node;\n }\n function d3_layout_packUnlink(node) {\n delete node._pack_next;\n delete node._pack_prev;\n }\n function d3_layout_packTransform(node, x, y, k) {\n var children = node.children;\n node.x = x += k * node.x;\n node.y = y += k * node.y;\n node.r *= k;\n if (children) {\n var i = -1, n = children.length;\n while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n }\n }\n function d3_layout_packPlace(a, b, c) {\n var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n if (db && (dx || dy)) {\n var da = b.r + c.r, dc = dx * dx + dy * dy;\n da *= da;\n db *= db;\n var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = a.x + x * dx + y * dy;\n c.y = a.y + x * dy - y * dx;\n } else {\n c.x = a.x + db;\n c.y = a.y;\n }\n }\n d3.layout.tree = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n function tree(d, i) {\n var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n d3_layout_hierarchyVisitBefore(root1, secondWalk);\n if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n var left = root0, right = root0, bottom = root0;\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n return nodes;\n }\n function wrapTree(root0) {\n var root1 = {\n A: null,\n children: [ root0 ]\n }, queue = [ root1 ], node1;\n while ((node1 = queue.pop()) != null) {\n for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n queue.push((children[i] = child = {\n _: children[i],\n parent: node1,\n children: (child = children[i].children) && child.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: i\n }).a = child);\n }\n }\n return root1.children[0];\n }\n function firstWalk(v) {\n var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n if (children.length) {\n d3_layout_treeShift(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n vom = d3_layout_treeLeft(vom);\n vop = d3_layout_treeRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !d3_layout_treeRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !d3_layout_treeLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n function sizeNode(node) {\n node.x *= size[0];\n node.y = node.depth * size[1];\n }\n tree.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return tree;\n };\n tree.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null ? sizeNode : null;\n return tree;\n };\n tree.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) == null ? null : sizeNode;\n return tree;\n };\n return d3_layout_hierarchyRebind(tree, hierarchy);\n };\n function d3_layout_treeSeparation(a, b) {\n return a.parent == b.parent ? 1 : 2;\n }\n function d3_layout_treeLeft(v) {\n var children = v.children;\n return children.length ? children[0] : v.t;\n }\n function d3_layout_treeRight(v) {\n var children = v.children, n;\n return (n = children.length) ? children[n - 1] : v.t;\n }\n function d3_layout_treeMove(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n }\n function d3_layout_treeShift(v) {\n var shift = 0, change = 0, children = v.children, i = children.length, w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n }\n function d3_layout_treeAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n }\n d3.layout.cluster = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n function cluster(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var children = node.children;\n if (children && children.length) {\n node.x = d3_layout_clusterX(children);\n node.y = d3_layout_clusterY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n node.x = (node.x - root.x) * size[0];\n node.y = (root.y - node.y) * size[1];\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * size[0];\n node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n });\n return nodes;\n }\n cluster.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return cluster;\n };\n cluster.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null;\n return cluster;\n };\n cluster.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) != null;\n return cluster;\n };\n return d3_layout_hierarchyRebind(cluster, hierarchy);\n };\n function d3_layout_clusterY(children) {\n return 1 + d3.max(children, function(child) {\n return child.y;\n });\n }\n function d3_layout_clusterX(children) {\n return children.reduce(function(x, child) {\n return x + child.x;\n }, 0) / children.length;\n }\n function d3_layout_clusterLeft(node) {\n var children = node.children;\n return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n }\n function d3_layout_clusterRight(node) {\n var children = node.children, n;\n return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n }\n d3.layout.treemap = function() {\n var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n function scale(children, k) {\n var i = -1, n = children.length, child, area;\n while (++i < n) {\n area = (child = children[i]).value * (k < 0 ? 0 : k);\n child.area = isNaN(area) || area <= 0 ? 0 : area;\n }\n }\n function squarify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while ((n = remaining.length) > 0) {\n row.push(child = remaining[n - 1]);\n row.area += child.area;\n if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n remaining.pop();\n best = score;\n } else {\n row.area -= row.pop().area;\n position(row, u, rect, false);\n u = Math.min(rect.dx, rect.dy);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n position(row, u, rect, true);\n row.length = row.area = 0;\n }\n children.forEach(squarify);\n }\n }\n function stickify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), remaining = children.slice(), child, row = [];\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while (child = remaining.pop()) {\n row.push(child);\n row.area += child.area;\n if (child.z != null) {\n position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n row.length = row.area = 0;\n }\n }\n children.forEach(stickify);\n }\n }\n function worst(row, u) {\n var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n while (++i < n) {\n if (!(r = row[i].area)) continue;\n if (r < rmin) rmin = r;\n if (r > rmax) rmax = r;\n }\n s *= s;\n u *= u;\n return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n }\n function position(row, u, rect, flush) {\n var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n if (u == rect.dx) {\n if (flush || v > rect.dy) v = rect.dy;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dy = v;\n x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n }\n o.z = true;\n o.dx += rect.x + rect.dx - x;\n rect.y += v;\n rect.dy -= v;\n } else {\n if (flush || v > rect.dx) v = rect.dx;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dx = v;\n y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n }\n o.z = false;\n o.dy += rect.y + rect.dy - y;\n rect.x += v;\n rect.dx -= v;\n }\n }\n function treemap(d) {\n var nodes = stickies || hierarchy(d), root = nodes[0];\n root.x = root.y = 0;\n if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n if (stickies) hierarchy.revalue(root);\n scale([ root ], root.dx * root.dy / root.value);\n (stickies ? stickify : squarify)(root);\n if (sticky) stickies = nodes;\n return nodes;\n }\n treemap.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return treemap;\n };\n treemap.padding = function(x) {\n if (!arguments.length) return padding;\n function padFunction(node) {\n var p = x.call(treemap, node, node.depth);\n return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n }\n function padConstant(node) {\n return d3_layout_treemapPad(node, x);\n }\n var type;\n pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n padConstant) : padConstant;\n return treemap;\n };\n treemap.round = function(x) {\n if (!arguments.length) return round != Number;\n round = x ? Math.round : Number;\n return treemap;\n };\n treemap.sticky = function(x) {\n if (!arguments.length) return sticky;\n sticky = x;\n stickies = null;\n return treemap;\n };\n treemap.ratio = function(x) {\n if (!arguments.length) return ratio;\n ratio = x;\n return treemap;\n };\n treemap.mode = function(x) {\n if (!arguments.length) return mode;\n mode = x + \"\";\n return treemap;\n };\n return d3_layout_hierarchyRebind(treemap, hierarchy);\n };\n function d3_layout_treemapPadNull(node) {\n return {\n x: node.x,\n y: node.y,\n dx: node.dx,\n dy: node.dy\n };\n }\n function d3_layout_treemapPad(node, padding) {\n var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n if (dx < 0) {\n x += dx / 2;\n dx = 0;\n }\n if (dy < 0) {\n y += dy / 2;\n dy = 0;\n }\n return {\n x: x,\n y: y,\n dx: dx,\n dy: dy\n };\n }\n d3.random = {\n normal: function(ยต, ฯƒ) {\n var n = arguments.length;\n if (n < 2) ฯƒ = 1;\n if (n < 1) ยต = 0;\n return function() {\n var x, y, r;\n do {\n x = Math.random() * 2 - 1;\n y = Math.random() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n return ยต + ฯƒ * x * Math.sqrt(-2 * Math.log(r) / r);\n };\n },\n logNormal: function() {\n var random = d3.random.normal.apply(d3, arguments);\n return function() {\n return Math.exp(random());\n };\n },\n bates: function(m) {\n var random = d3.random.irwinHall(m);\n return function() {\n return random() / m;\n };\n },\n irwinHall: function(m) {\n return function() {\n for (var s = 0, j = 0; j < m; j++) s += Math.random();\n return s;\n };\n }\n };\n d3.scale = {};\n function d3_scaleExtent(domain) {\n var start = domain[0], stop = domain[domain.length - 1];\n return start < stop ? [ start, stop ] : [ stop, start ];\n }\n function d3_scaleRange(scale) {\n return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n }\n function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n return function(x) {\n return i(u(x));\n };\n }\n function d3_scale_nice(domain, nice) {\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n if (x1 < x0) {\n dx = i0, i0 = i1, i1 = dx;\n dx = x0, x0 = x1, x1 = dx;\n }\n domain[i0] = nice.floor(x0);\n domain[i1] = nice.ceil(x1);\n return domain;\n }\n function d3_scale_niceStep(step) {\n return step ? {\n floor: function(x) {\n return Math.floor(x / step) * step;\n },\n ceil: function(x) {\n return Math.ceil(x / step) * step;\n }\n } : d3_scale_niceIdentity;\n }\n var d3_scale_niceIdentity = {\n floor: d3_identity,\n ceil: d3_identity\n };\n function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n if (domain[k] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++j <= k) {\n u.push(uninterpolate(domain[j - 1], domain[j]));\n i.push(interpolate(range[j - 1], range[j]));\n }\n return function(x) {\n var j = d3.bisect(domain, x, 1, k) - 1;\n return i[j](u[j](x));\n };\n }\n d3.scale.linear = function() {\n return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n };\n function d3_scale_linear(domain, range, interpolate, clamp) {\n var output, input;\n function rescale() {\n var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n output = linear(domain, range, uninterpolate, interpolate);\n input = linear(range, domain, uninterpolate, d3_interpolate);\n return scale;\n }\n function scale(x) {\n return output(x);\n }\n scale.invert = function(y) {\n return input(y);\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(Number);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.rangeRound = function(x) {\n return scale.range(x).interpolate(d3_interpolateRound);\n };\n scale.clamp = function(x) {\n if (!arguments.length) return clamp;\n clamp = x;\n return rescale();\n };\n scale.interpolate = function(x) {\n if (!arguments.length) return interpolate;\n interpolate = x;\n return rescale();\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n d3_scale_linearNice(domain, m);\n return rescale();\n };\n scale.copy = function() {\n return d3_scale_linear(domain, range, interpolate, clamp);\n };\n return rescale();\n }\n function d3_scale_linearRebind(scale, linear) {\n return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function d3_scale_linearNice(domain, m) {\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n return domain;\n }\n function d3_scale_linearTickRange(domain, m) {\n if (m == null) m = 10;\n var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n extent[0] = Math.ceil(extent[0] / step) * step;\n extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n extent[2] = step;\n return extent;\n }\n function d3_scale_linearTicks(domain, m) {\n return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n }\n function d3_scale_linearTickFormat(domain, m, format) {\n var range = d3_scale_linearTickRange(domain, m);\n if (format) {\n var match = d3_format_re.exec(format);\n match.shift();\n if (match[8] === \"s\") {\n var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n match[8] = \"f\";\n format = d3.format(match.join(\"\"));\n return function(d) {\n return format(prefix.scale(d)) + prefix.symbol;\n };\n }\n if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n format = match.join(\"\");\n } else {\n format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n }\n return d3.format(format);\n }\n var d3_scale_linearFormatSignificant = {\n s: 1,\n g: 1,\n p: 1,\n r: 1,\n e: 1\n };\n function d3_scale_linearPrecision(value) {\n return -Math.floor(Math.log(value) / Math.LN10 + .01);\n }\n function d3_scale_linearFormatPrecision(type, range) {\n var p = d3_scale_linearPrecision(range[2]);\n return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n }\n d3.scale.log = function() {\n return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n };\n function d3_scale_log(linear, base, positive, domain) {\n function log(x) {\n return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n }\n function pow(x) {\n return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n }\n function scale(x) {\n return linear(log(x));\n }\n scale.invert = function(x) {\n return pow(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n positive = x[0] >= 0;\n linear.domain((domain = x.map(Number)).map(log));\n return scale;\n };\n scale.base = function(_) {\n if (!arguments.length) return base;\n base = +_;\n linear.domain(domain.map(log));\n return scale;\n };\n scale.nice = function() {\n var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n linear.domain(niced);\n domain = niced.map(pow);\n return scale;\n };\n scale.ticks = function() {\n var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n if (isFinite(j - i)) {\n if (positive) {\n for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n ticks.push(pow(i));\n } else {\n ticks.push(pow(i));\n for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n }\n for (i = 0; ticks[i] < u; i++) {}\n for (j = ticks.length; ticks[j - 1] > v; j--) {}\n ticks = ticks.slice(i, j);\n }\n return ticks;\n };\n scale.tickFormat = function(n, format) {\n if (!arguments.length) return d3_scale_logFormat;\n if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n var k = Math.max(1, base * n / scale.ticks().length);\n return function(d) {\n var i = d / pow(Math.round(log(d)));\n if (i * base < base - .5) i *= base;\n return i <= k ? format(d) : \"\";\n };\n };\n scale.copy = function() {\n return d3_scale_log(linear.copy(), base, positive, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n floor: function(x) {\n return -Math.ceil(-x);\n },\n ceil: function(x) {\n return -Math.floor(-x);\n }\n };\n d3.scale.pow = function() {\n return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n };\n function d3_scale_pow(linear, exponent, domain) {\n var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n function scale(x) {\n return linear(powp(x));\n }\n scale.invert = function(x) {\n return powb(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n linear.domain((domain = x.map(Number)).map(powp));\n return scale;\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n return scale.domain(d3_scale_linearNice(domain, m));\n };\n scale.exponent = function(x) {\n if (!arguments.length) return exponent;\n powp = d3_scale_powPow(exponent = x);\n powb = d3_scale_powPow(1 / exponent);\n linear.domain(domain.map(powp));\n return scale;\n };\n scale.copy = function() {\n return d3_scale_pow(linear.copy(), exponent, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_scale_powPow(e) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n };\n }\n d3.scale.sqrt = function() {\n return d3.scale.pow().exponent(.5);\n };\n d3.scale.ordinal = function() {\n return d3_scale_ordinal([], {\n t: \"range\",\n a: [ [] ]\n });\n };\n function d3_scale_ordinal(domain, ranger) {\n var index, range, rangeBand;\n function scale(x) {\n return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n }\n function steps(start, step) {\n return d3.range(domain.length).map(function(i) {\n return start + step * i;\n });\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = [];\n index = new d3_Map();\n var i = -1, n = x.length, xi;\n while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n return scale[ranger.t].apply(scale, ranger.a);\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n rangeBand = 0;\n ranger = {\n t: \"range\",\n a: arguments\n };\n return scale;\n };\n scale.rangePoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n 0) : (stop - start) / (domain.length - 1 + padding);\n range = steps(start + step * padding / 2, step);\n rangeBand = 0;\n ranger = {\n t: \"rangePoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundPoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n 0) : (stop - start) / (domain.length - 1 + padding) | 0;\n range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n rangeBand = 0;\n ranger = {\n t: \"rangeRoundPoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n range = steps(start + step * outerPadding, step);\n if (reverse) range.reverse();\n rangeBand = step * (1 - padding);\n ranger = {\n t: \"rangeBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n if (reverse) range.reverse();\n rangeBand = Math.round(step * (1 - padding));\n ranger = {\n t: \"rangeRoundBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBand = function() {\n return rangeBand;\n };\n scale.rangeExtent = function() {\n return d3_scaleExtent(ranger.a[0]);\n };\n scale.copy = function() {\n return d3_scale_ordinal(domain, ranger);\n };\n return scale.domain(domain);\n }\n d3.scale.category10 = function() {\n return d3.scale.ordinal().range(d3_category10);\n };\n d3.scale.category20 = function() {\n return d3.scale.ordinal().range(d3_category20);\n };\n d3.scale.category20b = function() {\n return d3.scale.ordinal().range(d3_category20b);\n };\n d3.scale.category20c = function() {\n return d3.scale.ordinal().range(d3_category20c);\n };\n var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n d3.scale.quantile = function() {\n return d3_scale_quantile([], []);\n };\n function d3_scale_quantile(domain, range) {\n var thresholds;\n function rescale() {\n var k = 0, q = range.length;\n thresholds = [];\n while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n return scale;\n }\n function scale(x) {\n if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.quantiles = function() {\n return thresholds;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n };\n scale.copy = function() {\n return d3_scale_quantile(domain, range);\n };\n return rescale();\n }\n d3.scale.quantize = function() {\n return d3_scale_quantize(0, 1, [ 0, 1 ]);\n };\n function d3_scale_quantize(x0, x1, range) {\n var kx, i;\n function scale(x) {\n return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n }\n function rescale() {\n kx = range.length / (x1 - x0);\n i = range.length - 1;\n return scale;\n }\n scale.domain = function(x) {\n if (!arguments.length) return [ x0, x1 ];\n x0 = +x[0];\n x1 = +x[x.length - 1];\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n y = y < 0 ? NaN : y / kx + x0;\n return [ y, y + 1 / kx ];\n };\n scale.copy = function() {\n return d3_scale_quantize(x0, x1, range);\n };\n return rescale();\n }\n d3.scale.threshold = function() {\n return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n };\n function d3_scale_threshold(domain, range) {\n function scale(x) {\n if (x <= x) return range[d3.bisect(domain, x)];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain;\n domain = _;\n return scale;\n };\n scale.range = function(_) {\n if (!arguments.length) return range;\n range = _;\n return scale;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return [ domain[y - 1], domain[y] ];\n };\n scale.copy = function() {\n return d3_scale_threshold(domain, range);\n };\n return scale;\n }\n d3.scale.identity = function() {\n return d3_scale_identity([ 0, 1 ]);\n };\n function d3_scale_identity(domain) {\n function identity(x) {\n return +x;\n }\n identity.invert = identity;\n identity.domain = identity.range = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(identity);\n return identity;\n };\n identity.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n identity.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n identity.copy = function() {\n return d3_scale_identity(domain);\n };\n return identity;\n }\n d3.svg = {};\n function d3_zero() {\n return 0;\n }\n d3.svg.arc = function() {\n var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n function arc() {\n var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfฯ€, a1 = endAngle.apply(this, arguments) - halfฯ€, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n if (da >= ฯ„ฮต) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n if (!cw) p1 *= -1;\n if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n }\n if (r1) {\n x0 = r1 * Math.cos(a0 + p1);\n y0 = r1 * Math.sin(a0 + p1);\n x1 = r1 * Math.cos(a1 - p1);\n y1 = r1 * Math.sin(a1 - p1);\n var l1 = Math.abs(a1 - a0 - 2 * p1) <= ฯ€ ? 0 : 1;\n if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n var h1 = (a0 + a1) / 2;\n x0 = r1 * Math.cos(h1);\n y0 = r1 * Math.sin(h1);\n x1 = y1 = null;\n }\n } else {\n x0 = y0 = 0;\n }\n if (r0) {\n x2 = r0 * Math.cos(a1 - p0);\n y2 = r0 * Math.sin(a1 - p0);\n x3 = r0 * Math.cos(a0 + p0);\n y3 = r0 * Math.sin(a0 + p0);\n var l0 = Math.abs(a0 - a1 + 2 * p0) <= ฯ€ ? 0 : 1;\n if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n var h0 = (a0 + a1) / 2;\n x2 = r0 * Math.cos(h0);\n y2 = r0 * Math.sin(h0);\n x3 = y3 = null;\n }\n } else {\n x2 = y2 = 0;\n }\n if (da > ฮต && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n cr = r0 < r1 ^ cw ? 0 : 1;\n var rc1 = rc, rc0 = rc;\n if (da < ฯ€) {\n var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n }\n if (x1 != null) {\n var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n if (rc === rc1) {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n } else {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n }\n if (x3 != null) {\n var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n if (rc === rc0) {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n } else {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n }\n } else {\n path.push(\"L\", x2, \",\", y2);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n path.push(\"L\", x2, \",\", y2);\n if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n }\n path.push(\"Z\");\n return path.join(\"\");\n }\n function circleSegment(r1, cw) {\n return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n }\n arc.innerRadius = function(v) {\n if (!arguments.length) return innerRadius;\n innerRadius = d3_functor(v);\n return arc;\n };\n arc.outerRadius = function(v) {\n if (!arguments.length) return outerRadius;\n outerRadius = d3_functor(v);\n return arc;\n };\n arc.cornerRadius = function(v) {\n if (!arguments.length) return cornerRadius;\n cornerRadius = d3_functor(v);\n return arc;\n };\n arc.padRadius = function(v) {\n if (!arguments.length) return padRadius;\n padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n return arc;\n };\n arc.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return arc;\n };\n arc.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return arc;\n };\n arc.padAngle = function(v) {\n if (!arguments.length) return padAngle;\n padAngle = d3_functor(v);\n return arc;\n };\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfฯ€;\n return [ Math.cos(a) * r, Math.sin(a) * r ];\n };\n return arc;\n };\n var d3_svg_arcAuto = \"auto\";\n function d3_svg_arcInnerRadius(d) {\n return d.innerRadius;\n }\n function d3_svg_arcOuterRadius(d) {\n return d.outerRadius;\n }\n function d3_svg_arcStartAngle(d) {\n return d.startAngle;\n }\n function d3_svg_arcEndAngle(d) {\n return d.endAngle;\n }\n function d3_svg_arcPadAngle(d) {\n return d && d.padAngle;\n }\n function d3_svg_arcSweep(x0, y0, x1, y1) {\n return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n }\n function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n }\n function d3_svg_line(projection) {\n var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n function line(data) {\n var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n function segment() {\n segments.push(\"M\", interpolate(projection(points), tension));\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n } else if (points.length) {\n segment();\n points = [];\n }\n }\n if (points.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n line.x = function(_) {\n if (!arguments.length) return x;\n x = _;\n return line;\n };\n line.y = function(_) {\n if (!arguments.length) return y;\n y = _;\n return line;\n };\n line.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return line;\n };\n line.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n return line;\n };\n line.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return line;\n };\n return line;\n }\n d3.svg.line = function() {\n return d3_svg_line(d3_identity);\n };\n var d3_svg_lineInterpolators = d3.map({\n linear: d3_svg_lineLinear,\n \"linear-closed\": d3_svg_lineLinearClosed,\n step: d3_svg_lineStep,\n \"step-before\": d3_svg_lineStepBefore,\n \"step-after\": d3_svg_lineStepAfter,\n basis: d3_svg_lineBasis,\n \"basis-open\": d3_svg_lineBasisOpen,\n \"basis-closed\": d3_svg_lineBasisClosed,\n bundle: d3_svg_lineBundle,\n cardinal: d3_svg_lineCardinal,\n \"cardinal-open\": d3_svg_lineCardinalOpen,\n \"cardinal-closed\": d3_svg_lineCardinalClosed,\n monotone: d3_svg_lineMonotone\n });\n d3_svg_lineInterpolators.forEach(function(key, value) {\n value.key = key;\n value.closed = /-closed$/.test(key);\n });\n function d3_svg_lineLinear(points) {\n return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n }\n function d3_svg_lineLinearClosed(points) {\n return points.join(\"L\") + \"Z\";\n }\n function d3_svg_lineStep(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n if (n > 1) path.push(\"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepBefore(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepAfter(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n return path.join(\"\");\n }\n function d3_svg_lineCardinalOpen(points, tension) {\n return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineCardinalClosed(points, tension) {\n return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n }\n function d3_svg_lineCardinal(points, tension) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineHermite(points, tangents) {\n if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n return d3_svg_lineLinear(points);\n }\n var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n if (quad) {\n path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n p0 = points[1];\n pi = 2;\n }\n if (tangents.length > 1) {\n t = tangents[1];\n p = points[pi];\n pi++;\n path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n for (var i = 2; i < tangents.length; i++, pi++) {\n p = points[pi];\n t = tangents[i];\n path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n }\n }\n if (quad) {\n var lp = points[pi];\n path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n }\n return path;\n }\n function d3_svg_lineCardinalTangents(points, tension) {\n var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n while (++i < n) {\n p0 = p1;\n p1 = p2;\n p2 = points[i];\n tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n }\n return tangents;\n }\n function d3_svg_lineBasis(points) {\n if (points.length < 3) return d3_svg_lineLinear(points);\n var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n points.push(points[n - 1]);\n while (++i <= n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n points.pop();\n path.push(\"L\", pi);\n return path.join(\"\");\n }\n function d3_svg_lineBasisOpen(points) {\n if (points.length < 4) return d3_svg_lineLinear(points);\n var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n while (++i < 3) {\n pi = points[i];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n --i;\n while (++i < n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBasisClosed(points) {\n var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n while (++i < 4) {\n pi = points[i % n];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n --i;\n while (++i < m) {\n pi = points[i % n];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBundle(points, tension) {\n var n = points.length - 1;\n if (n) {\n var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n while (++i <= n) {\n p = points[i];\n t = i / n;\n p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n }\n }\n return d3_svg_lineBasis(points);\n }\n function d3_svg_lineDot4(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n }\n var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n function d3_svg_lineBasisBezier(path, x, y) {\n path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n }\n function d3_svg_lineSlope(p0, p1) {\n return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n }\n function d3_svg_lineFiniteDifferences(points) {\n var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n while (++i < j) {\n m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n }\n m[i] = d;\n return m;\n }\n function d3_svg_lineMonotoneTangents(points) {\n var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n while (++i < j) {\n d = d3_svg_lineSlope(points[i], points[i + 1]);\n if (abs(d) < ฮต) {\n m[i] = m[i + 1] = 0;\n } else {\n a = m[i] / d;\n b = m[i + 1] / d;\n s = a * a + b * b;\n if (s > 9) {\n s = d * 3 / Math.sqrt(s);\n m[i] = s * a;\n m[i + 1] = s * b;\n }\n }\n }\n i = -1;\n while (++i <= j) {\n s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n tangents.push([ s || 0, m[i] * s || 0 ]);\n }\n return tangents;\n }\n function d3_svg_lineMonotone(points) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n }\n d3.svg.line.radial = function() {\n var line = d3_svg_line(d3_svg_lineRadial);\n line.radius = line.x, delete line.x;\n line.angle = line.y, delete line.y;\n return line;\n };\n function d3_svg_lineRadial(points) {\n var point, i = -1, n = points.length, r, a;\n while (++i < n) {\n point = points[i];\n r = point[0];\n a = point[1] - halfฯ€;\n point[0] = r * Math.cos(a);\n point[1] = r * Math.sin(a);\n }\n return points;\n }\n function d3_svg_area(projection) {\n var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n function area(data) {\n var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n return x;\n } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n return y;\n } : d3_functor(y1), x, y;\n function segment() {\n segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n } else if (points0.length) {\n segment();\n points0 = [];\n points1 = [];\n }\n }\n if (points0.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n area.x = function(_) {\n if (!arguments.length) return x1;\n x0 = x1 = _;\n return area;\n };\n area.x0 = function(_) {\n if (!arguments.length) return x0;\n x0 = _;\n return area;\n };\n area.x1 = function(_) {\n if (!arguments.length) return x1;\n x1 = _;\n return area;\n };\n area.y = function(_) {\n if (!arguments.length) return y1;\n y0 = y1 = _;\n return area;\n };\n area.y0 = function(_) {\n if (!arguments.length) return y0;\n y0 = _;\n return area;\n };\n area.y1 = function(_) {\n if (!arguments.length) return y1;\n y1 = _;\n return area;\n };\n area.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return area;\n };\n area.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n interpolateReverse = interpolate.reverse || interpolate;\n L = interpolate.closed ? \"M\" : \"L\";\n return area;\n };\n area.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return area;\n };\n return area;\n }\n d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n d3.svg.area = function() {\n return d3_svg_area(d3_identity);\n };\n d3.svg.area.radial = function() {\n var area = d3_svg_area(d3_svg_lineRadial);\n area.radius = area.x, delete area.x;\n area.innerRadius = area.x0, delete area.x0;\n area.outerRadius = area.x1, delete area.x1;\n area.angle = area.y, delete area.y;\n area.startAngle = area.y0, delete area.y0;\n area.endAngle = area.y1, delete area.y1;\n return area;\n };\n d3.svg.chord = function() {\n var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n function chord(d, i) {\n var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n }\n function subgroup(self, f, d, i) {\n var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfฯ€, a1 = endAngle.call(self, subgroup, i) - halfฯ€;\n return {\n r: r,\n a0: a0,\n a1: a1,\n p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n };\n }\n function equals(a, b) {\n return a.a0 == b.a0 && a.a1 == b.a1;\n }\n function arc(r, p, a) {\n return \"A\" + r + \",\" + r + \" 0 \" + +(a > ฯ€) + \",1 \" + p;\n }\n function curve(r0, p0, r1, p1) {\n return \"Q 0,0 \" + p1;\n }\n chord.radius = function(v) {\n if (!arguments.length) return radius;\n radius = d3_functor(v);\n return chord;\n };\n chord.source = function(v) {\n if (!arguments.length) return source;\n source = d3_functor(v);\n return chord;\n };\n chord.target = function(v) {\n if (!arguments.length) return target;\n target = d3_functor(v);\n return chord;\n };\n chord.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return chord;\n };\n chord.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return chord;\n };\n return chord;\n };\n function d3_svg_chordRadius(d) {\n return d.radius;\n }\n d3.svg.diagonal = function() {\n var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n function diagonal(d, i) {\n var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n x: p0.x,\n y: m\n }, {\n x: p3.x,\n y: m\n }, p3 ];\n p = p.map(projection);\n return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n }\n diagonal.source = function(x) {\n if (!arguments.length) return source;\n source = d3_functor(x);\n return diagonal;\n };\n diagonal.target = function(x) {\n if (!arguments.length) return target;\n target = d3_functor(x);\n return diagonal;\n };\n diagonal.projection = function(x) {\n if (!arguments.length) return projection;\n projection = x;\n return diagonal;\n };\n return diagonal;\n };\n function d3_svg_diagonalProjection(d) {\n return [ d.x, d.y ];\n }\n d3.svg.diagonal.radial = function() {\n var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n diagonal.projection = function(x) {\n return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n };\n return diagonal;\n };\n function d3_svg_diagonalRadialProjection(projection) {\n return function() {\n var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfฯ€;\n return [ r * Math.cos(a), r * Math.sin(a) ];\n };\n }\n d3.svg.symbol = function() {\n var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n function symbol(d, i) {\n return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n }\n symbol.type = function(x) {\n if (!arguments.length) return type;\n type = d3_functor(x);\n return symbol;\n };\n symbol.size = function(x) {\n if (!arguments.length) return size;\n size = d3_functor(x);\n return symbol;\n };\n return symbol;\n };\n function d3_svg_symbolSize() {\n return 64;\n }\n function d3_svg_symbolType() {\n return \"circle\";\n }\n function d3_svg_symbolCircle(size) {\n var r = Math.sqrt(size / ฯ€);\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n }\n var d3_svg_symbols = d3.map({\n circle: d3_svg_symbolCircle,\n cross: function(size) {\n var r = Math.sqrt(size / 5) / 2;\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n },\n diamond: function(size) {\n var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n },\n square: function(size) {\n var r = Math.sqrt(size) / 2;\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n },\n \"triangle-down\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n },\n \"triangle-up\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n }\n });\n d3.svg.symbolTypes = d3_svg_symbols.keys();\n var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n d3_selectionPrototype.transition = function(name) {\n var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n time: Date.now(),\n ease: d3_ease_cubicInOut,\n delay: 0,\n duration: 250\n };\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_selectionPrototype.interrupt = function(name) {\n return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n };\n var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n function d3_selection_interruptNS(ns) {\n return function() {\n var lock, activeId, active;\n if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n active.timer.c = null;\n active.timer.t = NaN;\n if (--lock.count) delete lock[activeId]; else delete this[ns];\n lock.active += .5;\n active.event && active.event.interrupt.call(this, this.__data__, active.index);\n }\n };\n }\n function d3_transition(groups, ns, id) {\n d3_subclass(groups, d3_transitionPrototype);\n groups.namespace = ns;\n groups.id = id;\n return groups;\n }\n var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n d3_transitionPrototype.call = d3_selectionPrototype.call;\n d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n d3_transitionPrototype.node = d3_selectionPrototype.node;\n d3_transitionPrototype.size = d3_selectionPrototype.size;\n d3.transition = function(selection, name) {\n return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n };\n d3.transition.prototype = d3_transitionPrototype;\n d3_transitionPrototype.select = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n subgroup.push(subnode);\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.selectAll = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n transition = node[ns][id];\n subnodes = selector.call(node, node.__data__, i, j);\n subgroups.push(subgroup = []);\n for (var k = -1, o = subnodes.length; ++k < o; ) {\n if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n subgroup.push(subnode);\n }\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_transition(subgroups, this.namespace, this.id);\n };\n d3_transitionPrototype.tween = function(name, tween) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n return d3_selection_each(this, tween == null ? function(node) {\n node[ns][id].tween.remove(name);\n } : function(node) {\n node[ns][id].tween.set(name, tween);\n });\n };\n function d3_transition_tween(groups, name, value, tween) {\n var id = groups.id, ns = groups.namespace;\n return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n } : (value = tween(value), function(node) {\n node[ns][id].tween.set(name, value);\n }));\n }\n d3_transitionPrototype.attr = function(nameNS, value) {\n if (arguments.length < 2) {\n for (value in nameNS) this.attr(value, nameNS[value]);\n return this;\n }\n var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrTween(b) {\n return b == null ? attrNull : (b += \"\", function() {\n var a = this.getAttribute(name), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttribute(name, i(t));\n });\n });\n }\n function attrTweenNS(b) {\n return b == null ? attrNullNS : (b += \"\", function() {\n var a = this.getAttributeNS(name.space, name.local), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttributeNS(name.space, name.local, i(t));\n });\n });\n }\n return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.attrTween = function(nameNS, tween) {\n var name = d3.ns.qualify(nameNS);\n function attrTween(d, i) {\n var f = tween.call(this, d, i, this.getAttribute(name));\n return f && function(t) {\n this.setAttribute(name, f(t));\n };\n }\n function attrTweenNS(d, i) {\n var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n return f && function(t) {\n this.setAttributeNS(name.space, name.local, f(t));\n };\n }\n return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.style(priority, name[priority], value);\n return this;\n }\n priority = \"\";\n }\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleString(b) {\n return b == null ? styleNull : (b += \"\", function() {\n var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n return a !== b && (i = d3_interpolate(a, b), function(t) {\n this.style.setProperty(name, i(t), priority);\n });\n });\n }\n return d3_transition_tween(this, \"style.\" + name, value, styleString);\n };\n d3_transitionPrototype.styleTween = function(name, tween, priority) {\n if (arguments.length < 3) priority = \"\";\n function styleTween(d, i) {\n var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n return f && function(t) {\n this.style.setProperty(name, f(t), priority);\n };\n }\n return this.tween(\"style.\" + name, styleTween);\n };\n d3_transitionPrototype.text = function(value) {\n return d3_transition_tween(this, \"text\", value, d3_transition_text);\n };\n function d3_transition_text(b) {\n if (b == null) b = \"\";\n return function() {\n this.textContent = b;\n };\n }\n d3_transitionPrototype.remove = function() {\n var ns = this.namespace;\n return this.each(\"end.transition\", function() {\n var p;\n if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n });\n };\n d3_transitionPrototype.ease = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].ease;\n if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n return d3_selection_each(this, function(node) {\n node[ns][id].ease = value;\n });\n };\n d3_transitionPrototype.delay = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].delay;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].delay = +value.call(node, node.__data__, i, j);\n } : (value = +value, function(node) {\n node[ns][id].delay = value;\n }));\n };\n d3_transitionPrototype.duration = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].duration;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n } : (value = Math.max(1, value), function(node) {\n node[ns][id].duration = value;\n }));\n };\n d3_transitionPrototype.each = function(type, listener) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) {\n var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n try {\n d3_transitionInheritId = id;\n d3_selection_each(this, function(node, i, j) {\n d3_transitionInherit = node[ns][id];\n type.call(node, node.__data__, i, j);\n });\n } finally {\n d3_transitionInherit = inherit;\n d3_transitionInheritId = inheritId;\n }\n } else {\n d3_selection_each(this, function(node) {\n var transition = node[ns][id];\n (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n });\n }\n return this;\n };\n d3_transitionPrototype.transition = function() {\n var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if (node = group[i]) {\n transition = node[ns][id0];\n d3_transitionNode(node, i, ns, id1, {\n time: transition.time,\n ease: transition.ease,\n delay: transition.delay + transition.duration,\n duration: transition.duration\n });\n }\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id1);\n };\n function d3_transitionNamespace(name) {\n return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n }\n function d3_transitionNode(node, i, ns, id, inherit) {\n var lock = node[ns] || (node[ns] = {\n active: 0,\n count: 0\n }), transition = lock[id], time, timer, duration, ease, tweens;\n function schedule(elapsed) {\n var delay = transition.delay;\n timer.t = delay + time;\n if (delay <= elapsed) return start(elapsed - delay);\n timer.c = start;\n }\n function start(elapsed) {\n var activeId = lock.active, active = lock[activeId];\n if (active) {\n active.timer.c = null;\n active.timer.t = NaN;\n --lock.count;\n delete lock[activeId];\n active.event && active.event.interrupt.call(node, node.__data__, active.index);\n }\n for (var cancelId in lock) {\n if (+cancelId < id) {\n var cancel = lock[cancelId];\n cancel.timer.c = null;\n cancel.timer.t = NaN;\n --lock.count;\n delete lock[cancelId];\n }\n }\n timer.c = tick;\n d3_timer(function() {\n if (timer.c && tick(elapsed || 1)) {\n timer.c = null;\n timer.t = NaN;\n }\n return 1;\n }, 0, time);\n lock.active = id;\n transition.event && transition.event.start.call(node, node.__data__, i);\n tweens = [];\n transition.tween.forEach(function(key, value) {\n if (value = value.call(node, node.__data__, i)) {\n tweens.push(value);\n }\n });\n ease = transition.ease;\n duration = transition.duration;\n }\n function tick(elapsed) {\n var t = elapsed / duration, e = ease(t), n = tweens.length;\n while (n > 0) {\n tweens[--n].call(node, e);\n }\n if (t >= 1) {\n transition.event && transition.event.end.call(node, node.__data__, i);\n if (--lock.count) delete lock[id]; else delete node[ns];\n return 1;\n }\n }\n if (!transition) {\n time = inherit.time;\n timer = d3_timer(schedule, 0, time);\n transition = lock[id] = {\n tween: new d3_Map(),\n time: time,\n timer: timer,\n delay: inherit.delay,\n duration: inherit.duration,\n ease: inherit.ease,\n index: i\n };\n inherit = null;\n ++lock.count;\n }\n }\n d3.svg.axis = function() {\n var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n function axis(g) {\n g.each(function() {\n var g = d3.select(this);\n var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", ฮต), tickExit = d3.transition(tick.exit()).style(\"opacity\", ฮต).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n d3.transition(path));\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n if (orient === \"bottom\" || orient === \"top\") {\n tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n } else {\n tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n }\n lineEnter.attr(y2, sign * innerTickSize);\n textEnter.attr(y1, sign * tickSpacing);\n lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n if (scale1.rangeBand) {\n var x = scale1, dx = x.rangeBand() / 2;\n scale0 = scale1 = function(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, scale0);\n }\n tickEnter.call(tickTransform, scale0, scale1);\n tickUpdate.call(tickTransform, scale1, scale1);\n });\n }\n axis.scale = function(x) {\n if (!arguments.length) return scale;\n scale = x;\n return axis;\n };\n axis.orient = function(x) {\n if (!arguments.length) return orient;\n orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n return axis;\n };\n axis.ticks = function() {\n if (!arguments.length) return tickArguments_;\n tickArguments_ = d3_array(arguments);\n return axis;\n };\n axis.tickValues = function(x) {\n if (!arguments.length) return tickValues;\n tickValues = x;\n return axis;\n };\n axis.tickFormat = function(x) {\n if (!arguments.length) return tickFormat_;\n tickFormat_ = x;\n return axis;\n };\n axis.tickSize = function(x) {\n var n = arguments.length;\n if (!n) return innerTickSize;\n innerTickSize = +x;\n outerTickSize = +arguments[n - 1];\n return axis;\n };\n axis.innerTickSize = function(x) {\n if (!arguments.length) return innerTickSize;\n innerTickSize = +x;\n return axis;\n };\n axis.outerTickSize = function(x) {\n if (!arguments.length) return outerTickSize;\n outerTickSize = +x;\n return axis;\n };\n axis.tickPadding = function(x) {\n if (!arguments.length) return tickPadding;\n tickPadding = +x;\n return axis;\n };\n axis.tickSubdivide = function() {\n return arguments.length && axis;\n };\n return axis;\n };\n var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function d3_svg_axisX(selection, x0, x1) {\n selection.attr(\"transform\", function(d) {\n var v0 = x0(d);\n return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n });\n }\n function d3_svg_axisY(selection, y0, y1) {\n selection.attr(\"transform\", function(d) {\n var v0 = y0(d);\n return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n });\n }\n d3.svg.brush = function() {\n var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n function brush(g) {\n g.each(function() {\n var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n var background = g.selectAll(\".background\").data([ 0 ]);\n background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n resize.exit().remove();\n resize.enter().append(\"g\").attr(\"class\", function(d) {\n return \"resize \" + d;\n }).style(\"cursor\", function(d) {\n return d3_svg_brushCursor[d];\n }).append(\"rect\").attr(\"x\", function(d) {\n return /[ew]$/.test(d) ? -3 : null;\n }).attr(\"y\", function(d) {\n return /^[ns]/.test(d) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n resize.style(\"display\", brush.empty() ? \"none\" : null);\n var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n if (x) {\n range = d3_scaleRange(x);\n backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n redrawX(gUpdate);\n }\n if (y) {\n range = d3_scaleRange(y);\n backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n redrawY(gUpdate);\n }\n redraw(gUpdate);\n });\n }\n brush.event = function(g) {\n g.each(function() {\n var event_ = event.of(this, arguments), extent1 = {\n x: xExtent,\n y: yExtent,\n i: xExtentDomain,\n j: yExtentDomain\n }, extent0 = this.__chart__ || extent1;\n this.__chart__ = extent1;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.brush\", function() {\n xExtentDomain = extent0.i;\n yExtentDomain = extent0.j;\n xExtent = extent0.x;\n yExtent = extent0.y;\n event_({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n xExtentDomain = yExtentDomain = null;\n return function(t) {\n xExtent = extent1.x = xi(t);\n yExtent = extent1.y = yi(t);\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n xExtentDomain = extent1.i;\n yExtentDomain = extent1.j;\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n });\n } else {\n event_({\n type: \"brushstart\"\n });\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n }\n });\n };\n function redraw(g) {\n g.selectAll(\".resize\").attr(\"transform\", function(d) {\n return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n });\n }\n function redrawX(g) {\n g.select(\".extent\").attr(\"x\", xExtent[0]);\n g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n }\n function redrawY(g) {\n g.select(\".extent\").attr(\"y\", yExtent[0]);\n g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n }\n function brushstart() {\n var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n if (d3.event.changedTouches) {\n w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n } else {\n w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n }\n g.interrupt().selectAll(\"*\").interrupt();\n if (dragging) {\n origin[0] = xExtent[0] - origin[0];\n origin[1] = yExtent[0] - origin[1];\n } else if (resizing) {\n var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n origin[0] = xExtent[ex];\n origin[1] = yExtent[ey];\n } else if (d3.event.altKey) center = origin.slice();\n g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n event_({\n type: \"brushstart\"\n });\n brushmove();\n function keydown() {\n if (d3.event.keyCode == 32) {\n if (!dragging) {\n center = null;\n origin[0] -= xExtent[1];\n origin[1] -= yExtent[1];\n dragging = 2;\n }\n d3_eventPreventDefault();\n }\n }\n function keyup() {\n if (d3.event.keyCode == 32 && dragging == 2) {\n origin[0] += xExtent[1];\n origin[1] += yExtent[1];\n dragging = 0;\n d3_eventPreventDefault();\n }\n }\n function brushmove() {\n var point = d3.mouse(target), moved = false;\n if (offset) {\n point[0] += offset[0];\n point[1] += offset[1];\n }\n if (!dragging) {\n if (d3.event.altKey) {\n if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n origin[0] = xExtent[+(point[0] < center[0])];\n origin[1] = yExtent[+(point[1] < center[1])];\n } else center = null;\n }\n if (resizingX && move1(point, x, 0)) {\n redrawX(g);\n moved = true;\n }\n if (resizingY && move1(point, y, 1)) {\n redrawY(g);\n moved = true;\n }\n if (moved) {\n redraw(g);\n event_({\n type: \"brush\",\n mode: dragging ? \"move\" : \"resize\"\n });\n }\n }\n function move1(point, scale, i) {\n var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n if (dragging) {\n r0 -= position;\n r1 -= size + position;\n }\n min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n if (dragging) {\n max = (min += position) + size;\n } else {\n if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n if (position < min) {\n max = min;\n min = position;\n } else {\n max = position;\n }\n }\n if (extent[0] != min || extent[1] != max) {\n if (i) yExtentDomain = null; else xExtentDomain = null;\n extent[0] = min;\n extent[1] = max;\n return true;\n }\n }\n function brushend() {\n brushmove();\n g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n d3.select(\"body\").style(\"cursor\", null);\n w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n dragRestore();\n event_({\n type: \"brushend\"\n });\n }\n }\n brush.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.clamp = function(z) {\n if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n return brush;\n };\n brush.extent = function(z) {\n var x0, x1, y0, y1, t;\n if (!arguments.length) {\n if (x) {\n if (xExtentDomain) {\n x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n } else {\n x0 = xExtent[0], x1 = xExtent[1];\n if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n }\n }\n if (y) {\n if (yExtentDomain) {\n y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n } else {\n y0 = yExtent[0], y1 = yExtent[1];\n if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n }\n }\n return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n }\n if (x) {\n x0 = z[0], x1 = z[1];\n if (y) x0 = x0[0], x1 = x1[0];\n xExtentDomain = [ x0, x1 ];\n if (x.invert) x0 = x(x0), x1 = x(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n }\n if (y) {\n y0 = z[0], y1 = z[1];\n if (x) y0 = y0[1], y1 = y1[1];\n yExtentDomain = [ y0, y1 ];\n if (y.invert) y0 = y(y0), y1 = y(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n }\n return brush;\n };\n brush.clear = function() {\n if (!brush.empty()) {\n xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n xExtentDomain = yExtentDomain = null;\n }\n return brush;\n };\n brush.empty = function() {\n return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n };\n return d3.rebind(brush, event, \"on\");\n };\n var d3_svg_brushCursor = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n };\n var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n var d3_time_formatUtc = d3_time_format.utc;\n var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n function d3_time_formatIsoNative(date) {\n return date.toISOString();\n }\n d3_time_formatIsoNative.parse = function(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n };\n d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n d3_time.second = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 1e3) * 1e3);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n }, function(date) {\n return date.getSeconds();\n });\n d3_time.seconds = d3_time.second.range;\n d3_time.seconds.utc = d3_time.second.utc.range;\n d3_time.minute = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 6e4) * 6e4);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n }, function(date) {\n return date.getMinutes();\n });\n d3_time.minutes = d3_time.minute.range;\n d3_time.minutes.utc = d3_time.minute.utc.range;\n d3_time.hour = d3_time_interval(function(date) {\n var timezone = date.getTimezoneOffset() / 60;\n return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n }, function(date) {\n return date.getHours();\n });\n d3_time.hours = d3_time.hour.range;\n d3_time.hours.utc = d3_time.hour.utc.range;\n d3_time.month = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setDate(1);\n return date;\n }, function(date, offset) {\n date.setMonth(date.getMonth() + offset);\n }, function(date) {\n return date.getMonth();\n });\n d3_time.months = d3_time.month.range;\n d3_time.months.utc = d3_time.month.utc.range;\n function d3_time_scale(linear, methods, format) {\n function scale(x) {\n return linear(x);\n }\n scale.invert = function(x) {\n return d3_time_scaleDate(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n linear.domain(x);\n return scale;\n };\n function tickMethod(extent, count) {\n var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n return d / 31536e6;\n }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n }\n scale.nice = function(interval, skip) {\n var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n if (method) interval = method[0], skip = method[1];\n function skipped(date) {\n return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n }\n return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n floor: function(date) {\n while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n return date;\n },\n ceil: function(date) {\n while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n return date;\n }\n } : interval));\n };\n scale.ticks = function(interval, skip) {\n var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n range: interval\n }, skip ];\n if (method) interval = method[0], skip = method[1];\n return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n };\n scale.tickFormat = function() {\n return format;\n };\n scale.copy = function() {\n return d3_time_scale(linear.copy(), methods, format);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_time_scaleDate(t) {\n return new Date(t);\n }\n var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n return d.getMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getHours();\n } ], [ \"%a %d\", function(d) {\n return d.getDay() && d.getDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getMonth();\n } ], [ \"%Y\", d3_true ] ]);\n var d3_time_scaleMilliseconds = {\n range: function(start, stop, step) {\n return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n },\n floor: d3_identity,\n ceil: d3_identity\n };\n d3_time_scaleLocalMethods.year = d3_time.year;\n d3_time.scale = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n };\n var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n return [ m[0].utc, m[1] ];\n });\n var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n return d.getUTCMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getUTCSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getUTCMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getUTCHours();\n } ], [ \"%a %d\", function(d) {\n return d.getUTCDay() && d.getUTCDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getUTCDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getUTCMonth();\n } ], [ \"%Y\", d3_true ] ]);\n d3_time_scaleUtcMethods.year = d3_time.year.utc;\n d3_time.scale.utc = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n };\n d3.text = d3_xhrType(function(request) {\n return request.responseText;\n });\n d3.json = function(url, callback) {\n return d3_xhr(url, \"application/json\", d3_json, callback);\n };\n function d3_json(request) {\n return JSON.parse(request.responseText);\n }\n d3.html = function(url, callback) {\n return d3_xhr(url, \"text/html\", d3_html, callback);\n };\n function d3_html(request) {\n var range = d3_document.createRange();\n range.selectNode(d3_document.body);\n return range.createContextualFragment(request.responseText);\n }\n d3.xml = d3_xhrType(function(request) {\n return request.responseXML;\n });\n if (true) this.d3 = d3, !(__WEBPACK_AMD_DEFINE_FACTORY__ = (d3),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); else {}\n}();\n\n/***/ }),\n\n/***/ \"6eeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar has = __webpack_require__(\"5135\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar inspectSource = __webpack_require__(\"8925\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\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 if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\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/***/ \"6f04\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/map.js\nvar prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\n/* harmony default export */ var src_map = (map);\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/nest.js\n\n\n/* harmony default export */ var src_nest = (function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = src_map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n});\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return src_map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/set.js\n\n\nfunction Set() {}\n\nvar proto = src_map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume itโ€™s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\n/* harmony default export */ var src_set = (set);\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/keys.js\n/* harmony default export */ var src_keys = (function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/values.js\n/* harmony default export */ var src_values = (function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/entries.js\n/* harmony default export */ var src_entries = (function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/index.js\n/* concated harmony reexport nest */__webpack_require__.d(__webpack_exports__, \"b\", function() { return src_nest; });\n/* unused concated harmony import set */\n/* concated harmony reexport map */__webpack_require__.d(__webpack_exports__, \"a\", function() { return src_map; });\n/* unused concated harmony import keys */\n/* unused concated harmony import values */\n/* unused concated harmony import entries */\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"6f09\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt, trace, cd, pointNumber) {\n // standard cartesian event data\n out.x = 'xVal' in pt ? pt.xVal : pt.x;\n out.y = 'yVal' in pt ? pt.yVal : pt.y;\n\n // for 2d histograms\n if('zLabelVal' in pt) out.z = pt.zLabelVal;\n\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n // specific to histogram - CDFs do not have pts (yet?)\n if(!(trace.cumulative || {}).enabled) {\n var pts = Array.isArray(pointNumber) ?\n cd[0].pts[pointNumber[0]][pointNumber[1]] :\n cd[pointNumber].pts;\n\n out.pointNumbers = pts;\n out.binNumber = out.pointNumber;\n delete out.pointNumber;\n delete out.pointIndex;\n\n var pointIndices;\n if(trace._indexToPoints) {\n pointIndices = [];\n for(var i = 0; i < pts.length; i++) {\n pointIndices = pointIndices.concat(trace._indexToPoints[pts[i]]);\n }\n } else {\n pointIndices = pts;\n }\n\n out.pointIndices = pointIndices;\n }\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"6f51\":\n/***/ (function(module, exports) {\n\nmodule.exports = translate;\n\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to translate\n * @param {vec3} v vector to translate by\n * @returns {mat4} out\n */\nfunction translate(out, a, v) {\n var x = v[0], y = v[1], z = v[2],\n a00, a01, a02, a03,\n a10, a11, a12, a13,\n a20, a21, a22, a23;\n\n if (a === out) {\n out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];\n out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];\n out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];\n out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];\n } else {\n a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3];\n a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7];\n a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11];\n\n out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03;\n out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13;\n out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23;\n\n out[12] = a00 * x + a10 * y + a20 * z + a[12];\n out[13] = a01 * x + a11 * y + a21 * z + a[13];\n out[14] = a02 * x + a12 * y + a22 * z + a[14];\n out[15] = a03 * x + a13 * y + a23 * z + a[15];\n }\n\n return out;\n};\n\n/***/ }),\n\n/***/ \"6f96\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt /* , trace, cd, pointNumber */) {\n // standard cartesian event data\n out.x = 'xVal' in pt ? pt.xVal : pt.x;\n out.y = 'yVal' in pt ? pt.yVal : pt.y;\n\n // for funnel\n if('percentInitial' in pt) out.percentInitial = pt.percentInitial;\n if('percentPrevious' in pt) out.percentPrevious = pt.percentPrevious;\n if('percentTotal' in pt) out.percentTotal = pt.percentTotal;\n\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"6fa6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar createMesh = __webpack_require__(\"551a\");\n\nvar parseColorScale = __webpack_require__(\"765f\").parseColorScale;\nvar str2RgbaArray = __webpack_require__(\"f977\");\nvar extractOpts = __webpack_require__(\"c258\").extractOpts;\nvar zip3 = __webpack_require__(\"569b\");\n\nvar findNearestOnAxis = __webpack_require__(\"caf7\").findNearestOnAxis;\nvar generateIsoMeshes = __webpack_require__(\"caf7\").generateIsoMeshes;\n\nfunction VolumeTrace(scene, mesh, uid) {\n this.scene = scene;\n this.uid = uid;\n this.mesh = mesh;\n this.name = '';\n this.data = null;\n this.showContour = false;\n}\n\nvar proto = VolumeTrace.prototype;\n\nproto.handlePick = function(selection) {\n if(selection.object === this.mesh) {\n var rawId = selection.data.index;\n\n var x = this.data._meshX[rawId];\n var y = this.data._meshY[rawId];\n var z = this.data._meshZ[rawId];\n\n var height = this.data._Ys.length;\n var depth = this.data._Zs.length;\n\n var i = findNearestOnAxis(x, this.data._Xs).id;\n var j = findNearestOnAxis(y, this.data._Ys).id;\n var k = findNearestOnAxis(z, this.data._Zs).id;\n\n var selectIndex = selection.index = k + depth * j + depth * height * i;\n\n selection.traceCoordinate = [\n this.data._meshX[selectIndex],\n this.data._meshY[selectIndex],\n this.data._meshZ[selectIndex],\n this.data._value[selectIndex]\n ];\n\n var text = this.data.hovertext || this.data.text;\n if(Array.isArray(text) && text[selectIndex] !== undefined) {\n selection.textLabel = text[selectIndex];\n } else if(text) {\n selection.textLabel = text;\n }\n\n return true;\n }\n};\n\nproto.update = function(data) {\n var scene = this.scene;\n var layout = scene.fullSceneLayout;\n\n this.data = generateIsoMeshes(data);\n\n // Unpack position data\n function toDataCoords(axis, coord, scale, calendar) {\n return coord.map(function(x) {\n return axis.d2l(x, 0, calendar) * scale;\n });\n }\n\n var positions = zip3(\n toDataCoords(layout.xaxis, data._meshX, scene.dataScale[0], data.xcalendar),\n toDataCoords(layout.yaxis, data._meshY, scene.dataScale[1], data.ycalendar),\n toDataCoords(layout.zaxis, data._meshZ, scene.dataScale[2], data.zcalendar));\n\n var cells = zip3(data._meshI, data._meshJ, data._meshK);\n\n var config = {\n positions: positions,\n cells: cells,\n lightPosition: [data.lightposition.x, data.lightposition.y, data.lightposition.z],\n ambient: data.lighting.ambient,\n diffuse: data.lighting.diffuse,\n specular: data.lighting.specular,\n roughness: data.lighting.roughness,\n fresnel: data.lighting.fresnel,\n vertexNormalsEpsilon: data.lighting.vertexnormalsepsilon,\n faceNormalsEpsilon: data.lighting.facenormalsepsilon,\n opacity: data.opacity,\n opacityscale: data.opacityscale,\n contourEnable: data.contour.show,\n contourColor: str2RgbaArray(data.contour.color).slice(0, 3),\n contourWidth: data.contour.width,\n useFacetNormals: data.flatshading\n };\n\n var cOpts = extractOpts(data);\n config.vertexIntensity = data._meshIntensity;\n config.vertexIntensityBounds = [cOpts.min, cOpts.max];\n config.colormap = parseColorScale(data);\n\n // Update mesh\n this.mesh.update(config);\n};\n\nproto.dispose = function() {\n this.scene.glplot.remove(this.mesh);\n this.mesh.dispose();\n};\n\nfunction createVolumeTrace(scene, data) {\n var gl = scene.glplot.gl;\n var mesh = createMesh({gl: gl});\n var result = new VolumeTrace(scene, mesh, data.uid);\n\n mesh._trace = result;\n result.update(data);\n scene.glplot.add(mesh);\n return result;\n}\n\nmodule.exports = createVolumeTrace;\n\n\n/***/ }),\n\n/***/ \"6fc3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/** Filter out object items with visible !== true\n * insider array container.\n *\n * @param {array of objects} container\n * @return {array of objects} of length <= container\n *\n */\nmodule.exports = function filterVisible(container) {\n var filterFn = isCalcData(container) ? calcDataFilter : baseFilter;\n var out = [];\n\n for(var i = 0; i < container.length; i++) {\n var item = container[i];\n if(filterFn(item)) out.push(item);\n }\n\n return out;\n};\n\nfunction baseFilter(item) {\n return item.visible === true;\n}\n\nfunction calcDataFilter(item) {\n var trace = item[0].trace;\n return trace.visible === true && trace._length !== 0;\n}\n\nfunction isCalcData(cont) {\n return (\n Array.isArray(cont) &&\n Array.isArray(cont[0]) &&\n cont[0][0] &&\n cont[0][0].trace\n );\n}\n\n\n/***/ }),\n\n/***/ \"7000\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var trace = cd[0].trace;\n var isFunnel = (trace.type === 'funnel');\n var isHorizontal = (trace.orientation === 'h');\n var selection = [];\n var i;\n\n if(selectionTester === false) {\n // clear selection\n for(i = 0; i < cd.length; i++) {\n cd[i].selected = 0;\n }\n } else {\n for(i = 0; i < cd.length; i++) {\n var di = cd[i];\n var ct = 'ct' in di ? di.ct : getCentroid(di, xa, ya, isHorizontal, isFunnel);\n\n if(selectionTester.contains(ct, false, i, searchInfo)) {\n selection.push({\n pointNumber: i,\n x: xa.c2d(di.x),\n y: ya.c2d(di.y)\n });\n di.selected = 1;\n } else {\n di.selected = 0;\n }\n }\n }\n\n return selection;\n};\n\nfunction getCentroid(d, xa, ya, isHorizontal, isFunnel) {\n var x0 = xa.c2p(isHorizontal ? d.s0 : d.p0, true);\n var x1 = xa.c2p(isHorizontal ? d.s1 : d.p1, true);\n var y0 = ya.c2p(isHorizontal ? d.p0 : d.s0, true);\n var y1 = ya.c2p(isHorizontal ? d.p1 : d.s1, true);\n\n if(isFunnel) {\n return [(x0 + x1) / 2, (y0 + y1) / 2];\n } else {\n if(isHorizontal) {\n return [x1, (y0 + y1) / 2];\n } else {\n return [(x0 + x1) / 2, y1];\n }\n }\n}\n\n\n/***/ }),\n\n/***/ \"7016\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"89e1\");\n\n\n/***/ }),\n\n/***/ \"7045\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n\n\n/***/ }),\n\n/***/ \"7089\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n\nmodule.exports = function hasColorbar(container) {\n return Lib.isPlainObject(container.colorbar);\n};\n\n\n/***/ }),\n\n/***/ \"70b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar Axes = __webpack_require__(\"0642\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar subTypes = __webpack_require__(\"de81\");\nvar calcColorscale = __webpack_require__(\"09bd\");\nvar arraysToCalcdata = __webpack_require__(\"106b\");\nvar calcSelection = __webpack_require__(\"4136\");\n\nfunction calc(gd, trace) {\n var fullLayout = gd._fullLayout;\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var x = xa.makeCalcdata(trace, 'x');\n var y = ya.makeCalcdata(trace, 'y');\n var serieslen = trace._length;\n var cd = new Array(serieslen);\n var ids = trace.ids;\n var stackGroupOpts = getStackOpts(trace, fullLayout, xa, ya);\n var interpolateGaps = false;\n var isV, i, j, k, interpolate, vali;\n\n setFirstScatter(fullLayout, trace);\n\n var xAttr = 'x';\n var yAttr = 'y';\n var posAttr;\n if(stackGroupOpts) {\n Lib.pushUnique(stackGroupOpts.traceIndices, trace._expandedIndex);\n isV = stackGroupOpts.orientation === 'v';\n\n // size, like we use for bar\n if(isV) {\n yAttr = 's';\n posAttr = 'x';\n } else {\n xAttr = 's';\n posAttr = 'y';\n }\n interpolate = stackGroupOpts.stackgaps === 'interpolate';\n } else {\n var ppad = calcMarkerSize(trace, serieslen);\n calcAxisExpansion(gd, trace, xa, ya, x, y, ppad);\n }\n\n for(i = 0; i < serieslen; i++) {\n var cdi = cd[i] = {};\n var xValid = isNumeric(x[i]);\n var yValid = isNumeric(y[i]);\n if(xValid && yValid) {\n cdi[xAttr] = x[i];\n cdi[yAttr] = y[i];\n } else if(stackGroupOpts && (isV ? xValid : yValid)) {\n // if we're stacking we need to hold on to all valid positions\n // even with invalid sizes\n\n cdi[posAttr] = isV ? x[i] : y[i];\n cdi.gap = true;\n if(interpolate) {\n cdi.s = BADNUM;\n interpolateGaps = true;\n } else {\n cdi.s = 0;\n }\n } else {\n cdi[xAttr] = cdi[yAttr] = BADNUM;\n }\n\n if(ids) {\n cdi.id = String(ids[i]);\n }\n }\n\n arraysToCalcdata(cd, trace);\n calcColorscale(gd, trace);\n calcSelection(cd, trace);\n\n if(stackGroupOpts) {\n // remove bad positions and sort\n // note that original indices get added to cd in arraysToCalcdata\n i = 0;\n while(i < cd.length) {\n if(cd[i][posAttr] === BADNUM) {\n cd.splice(i, 1);\n } else i++;\n }\n\n Lib.sort(cd, function(a, b) {\n return (a[posAttr] - b[posAttr]) || (a.i - b.i);\n });\n\n if(interpolateGaps) {\n // first fill the beginning with constant from the first point\n i = 0;\n while(i < cd.length - 1 && cd[i].gap) {\n i++;\n }\n vali = cd[i].s;\n if(!vali) vali = cd[i].s = 0; // in case of no data AT ALL in this trace - use 0\n for(j = 0; j < i; j++) {\n cd[j].s = vali;\n }\n // then fill the end with constant from the last point\n k = cd.length - 1;\n while(k > i && cd[k].gap) {\n k--;\n }\n vali = cd[k].s;\n for(j = cd.length - 1; j > k; j--) {\n cd[j].s = vali;\n }\n // now interpolate internal gaps linearly\n while(i < k) {\n i++;\n if(cd[i].gap) {\n j = i + 1;\n while(cd[j].gap) {\n j++;\n }\n var pos0 = cd[i - 1][posAttr];\n var size0 = cd[i - 1].s;\n var m = (cd[j].s - size0) / (cd[j][posAttr] - pos0);\n while(i < j) {\n cd[i].s = size0 + (cd[i][posAttr] - pos0) * m;\n i++;\n }\n }\n }\n }\n }\n\n return cd;\n}\n\nfunction calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) {\n var serieslen = trace._length;\n var fullLayout = gd._fullLayout;\n var xId = xa._id;\n var yId = ya._id;\n var firstScatter = fullLayout._firstScatter[firstScatterGroup(trace)] === trace.uid;\n var stackOrientation = (getStackOpts(trace, fullLayout, xa, ya) || {}).orientation;\n var fill = trace.fill;\n\n // cancel minimum tick spacings (only applies to bars and boxes)\n xa._minDtick = 0;\n ya._minDtick = 0;\n\n // check whether bounds should be tight, padded, extended to zero...\n // most cases both should be padded on both ends, so start with that.\n var xOptions = {padded: true};\n var yOptions = {padded: true};\n\n if(ppad) {\n xOptions.ppad = yOptions.ppad = ppad;\n }\n\n // TODO: text size\n\n var openEnded = serieslen < 2 || (x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]);\n\n if(openEnded && (\n (fill === 'tozerox') ||\n ((fill === 'tonextx') && (firstScatter || stackOrientation === 'h'))\n )) {\n // include zero (tight) and extremes (padded) if fill to zero\n // (unless the shape is closed, then it's just filling the shape regardless)\n\n xOptions.tozero = true;\n } else if(!(trace.error_y || {}).visible && (\n // if no error bars, markers or text, or fill to y=0 remove x padding\n\n (fill === 'tonexty' || fill === 'tozeroy') ||\n (!subTypes.hasMarkers(trace) && !subTypes.hasText(trace))\n )) {\n xOptions.padded = false;\n xOptions.ppad = 0;\n }\n\n if(openEnded && (\n (fill === 'tozeroy') ||\n ((fill === 'tonexty') && (firstScatter || stackOrientation === 'v'))\n )) {\n // now check for y - rather different logic, though still mostly padded both ends\n // include zero (tight) and extremes (padded) if fill to zero\n // (unless the shape is closed, then it's just filling the shape regardless)\n\n yOptions.tozero = true;\n } else if(fill === 'tonextx' || fill === 'tozerox') {\n // tight y: any x fill\n\n yOptions.padded = false;\n }\n\n // N.B. asymmetric splom traces call this with blank {} xa or ya\n if(xId) trace._extremes[xId] = Axes.findExtremes(xa, x, xOptions);\n if(yId) trace._extremes[yId] = Axes.findExtremes(ya, y, yOptions);\n}\n\nfunction calcMarkerSize(trace, serieslen) {\n if(!subTypes.hasMarkers(trace)) return;\n\n // Treat size like x or y arrays --- Run d2c\n // this needs to go before ppad computation\n var marker = trace.marker;\n var sizeref = 1.6 * (trace.marker.sizeref || 1);\n var markerTrans;\n\n if(trace.marker.sizemode === 'area') {\n markerTrans = function(v) {\n return Math.max(Math.sqrt((v || 0) / sizeref), 3);\n };\n } else {\n markerTrans = function(v) {\n return Math.max((v || 0) / sizeref, 3);\n };\n }\n\n if(Lib.isArrayOrTypedArray(marker.size)) {\n // I tried auto-type but category and dates dont make much sense.\n var ax = {type: 'linear'};\n Axes.setConvert(ax);\n\n var s = ax.makeCalcdata(trace.marker, 'size');\n\n var sizeOut = new Array(serieslen);\n for(var i = 0; i < serieslen; i++) {\n sizeOut[i] = markerTrans(s[i]);\n }\n return sizeOut;\n } else {\n return markerTrans(marker.size);\n }\n}\n\n/**\n * mark the first scatter trace for each subplot\n * note that scatter and scattergl each get their own first trace\n * note also that I'm doing this during calc rather than supplyDefaults\n * so I don't need to worry about transforms, but if we ever do\n * per-trace calc this will get confused.\n */\nfunction setFirstScatter(fullLayout, trace) {\n var group = firstScatterGroup(trace);\n var firstScatter = fullLayout._firstScatter;\n if(!firstScatter[group]) firstScatter[group] = trace.uid;\n}\n\nfunction firstScatterGroup(trace) {\n var stackGroup = trace.stackgroup;\n return trace.xaxis + trace.yaxis + trace.type +\n (stackGroup ? '-' + stackGroup : '');\n}\n\nfunction getStackOpts(trace, fullLayout, xa, ya) {\n var stackGroup = trace.stackgroup;\n if(!stackGroup) return;\n var stackOpts = fullLayout._scatterStackOpts[xa._id + ya._id][stackGroup];\n var stackAx = stackOpts.orientation === 'v' ? ya : xa;\n // Allow stacking only on numeric axes\n // calc is a little late to be figuring this out, but during supplyDefaults\n // we don't know the axis type yet\n if(stackAx.type === 'linear' || stackAx.type === 'log') return stackOpts;\n}\n\nmodule.exports = {\n calc: calc,\n calcMarkerSize: calcMarkerSize,\n calcAxisExpansion: calcAxisExpansion,\n setFirstScatter: setFirstScatter,\n getStackOpts: getStackOpts\n};\n\n\n/***/ }),\n\n/***/ \"70f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar drawModule = __webpack_require__(\"2595\");\nvar clickModule = __webpack_require__(\"34f9\");\n\nmodule.exports = {\n moduleType: 'component',\n name: 'annotations',\n\n layoutAttributes: __webpack_require__(\"bb4a\"),\n supplyLayoutDefaults: __webpack_require__(\"bb5b\"),\n includeBasePlot: __webpack_require__(\"37d1\")('annotations'),\n\n calcAutorange: __webpack_require__(\"cd84\"),\n draw: drawModule.draw,\n drawOne: drawModule.drawOne,\n drawRaw: drawModule.drawRaw,\n\n hasClickToShow: clickModule.hasClickToShow,\n onClick: clickModule.onClick,\n\n convertCoords: __webpack_require__(\"351b\")\n};\n\n\n/***/ }),\n\n/***/ \"7118\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar layoutAttributes = __webpack_require__(\"d798\");\nvar handleTickValueDefaults = __webpack_require__(\"d92f\");\nvar handleTickMarkDefaults = __webpack_require__(\"27e3\");\nvar handleTickLabelDefaults = __webpack_require__(\"5008\");\nvar handleCategoryOrderDefaults = __webpack_require__(\"d18b\");\nvar handleLineGridDefaults = __webpack_require__(\"743b\");\nvar setConvert = __webpack_require__(\"1a40\");\n\n/**\n * options: object containing:\n *\n * letter: 'x' or 'y'\n * title: name of the axis (ie 'Colorbar') to go in default title\n * font: the default font to inherit\n * outerTicks: boolean, should ticks default to outside?\n * showGrid: boolean, should gridlines be shown by default?\n * noHover: boolean, this axis doesn't support hover effects?\n * noTickson: boolean, this axis doesn't support 'tickson'\n * data: the plot data, used to manage categories\n * bgColor: the plot background color, to calculate default gridline colors\n * calendar:\n * splomStash:\n * visibleDflt: boolean\n * reverseDflt: boolean\n * automargin: boolean\n */\nmodule.exports = function handleAxisDefaults(containerIn, containerOut, coerce, options, layoutOut) {\n var letter = options.letter;\n var font = options.font || {};\n var splomStash = options.splomStash || {};\n\n var visible = coerce('visible', !options.visibleDflt);\n\n var axType = containerOut.type;\n\n if(axType === 'date') {\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleDefaults');\n handleCalendarDefaults(containerIn, containerOut, 'calendar', options.calendar);\n }\n\n setConvert(containerOut, layoutOut);\n\n var autorangeDflt = !containerOut.isValidRange(containerIn.range);\n if(autorangeDflt && options.reverseDflt) autorangeDflt = 'reversed';\n var autoRange = coerce('autorange', autorangeDflt);\n if(autoRange && (axType === 'linear' || axType === '-')) coerce('rangemode');\n\n coerce('range');\n containerOut.cleanRange();\n\n handleCategoryOrderDefaults(containerIn, containerOut, coerce, options);\n\n if(axType !== 'category' && !options.noHover) coerce('hoverformat');\n\n var dfltColor = coerce('color');\n // if axis.color was provided, use it for fonts too; otherwise,\n // inherit from global font color in case that was provided.\n // Compare to dflt rather than to containerIn, so we can provide color via\n // template too.\n var dfltFontColor = (dfltColor !== layoutAttributes.color.dflt) ? dfltColor : font.color;\n // try to get default title from splom trace, fallback to graph-wide value\n var dfltTitle = splomStash.label || layoutOut._dfltTitle[letter];\n\n handleTickLabelDefaults(containerIn, containerOut, coerce, axType, options, {pass: 1});\n if(!visible) return containerOut;\n\n coerce('title.text', dfltTitle);\n Lib.coerceFont(coerce, 'title.font', {\n family: font.family,\n size: Math.round(font.size * 1.2),\n color: dfltFontColor\n });\n\n handleTickValueDefaults(containerIn, containerOut, coerce, axType);\n handleTickLabelDefaults(containerIn, containerOut, coerce, axType, options, {pass: 2});\n handleTickMarkDefaults(containerIn, containerOut, coerce, options);\n handleLineGridDefaults(containerIn, containerOut, coerce, {\n dfltColor: dfltColor,\n bgColor: options.bgColor,\n showGrid: options.showGrid,\n attributes: layoutAttributes\n });\n\n if(containerOut.showline || containerOut.ticks) coerce('mirror');\n\n if(options.automargin) coerce('automargin');\n\n var isMultiCategory = containerOut.type === 'multicategory';\n\n if(!options.noTickson &&\n (containerOut.type === 'category' || isMultiCategory) &&\n (containerOut.ticks || containerOut.showgrid)\n ) {\n var ticksonDflt;\n if(isMultiCategory) ticksonDflt = 'boundaries';\n coerce('tickson', ticksonDflt);\n }\n\n if(isMultiCategory) {\n var showDividers = coerce('showdividers');\n if(showDividers) {\n coerce('dividercolor');\n coerce('dividerwidth');\n }\n }\n\n return containerOut;\n};\n\n\n/***/ }),\n\n/***/ \"714f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// arrayOk attributes, merge them into calcdata array\nmodule.exports = function arraysToCalcdata(cd, trace) {\n for(var i = 0; i < cd.length; i++) cd[i].i = i;\n\n Lib.mergeArray(trace.text, cd, 'tx');\n Lib.mergeArray(trace.hovertext, cd, 'htx');\n\n var marker = trace.marker;\n if(marker) {\n Lib.mergeArray(marker.opacity, cd, 'mo');\n Lib.mergeArray(marker.color, cd, 'mc');\n\n var markerLine = marker.line;\n if(markerLine) {\n Lib.mergeArray(markerLine.color, cd, 'mlc');\n Lib.mergeArrayCastPositive(markerLine.width, cd, 'mlw');\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"716c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar helpers = __webpack_require__(\"feb7\");\n\n/**\n * Callback for coordEach\n *\n * @callback coordEachCallback\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, multiFeatureIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n coordIndex = 0,\n isGeometryCollection,\n type = geojson.type,\n isFeatureCollection = type === 'FeatureCollection',\n isFeature = type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[featureIndex].geometry :\n (isFeature ? geojson.geometry : geojson));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n\n wrapShrink = (excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon')) ? 1 : 0;\n\n switch (geomType) {\n case null:\n break;\n case 'Point':\n if (callback(coords, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n for (j = 0; j < coords.length; j++) {\n if (callback(coords[j], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n if (geomType === 'MultiPoint') multiFeatureIndex++;\n }\n if (geomType === 'LineString') multiFeatureIndex++;\n break;\n case 'Polygon':\n case 'MultiLineString':\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(coords[j][k], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n if (geomType === 'MultiLineString') multiFeatureIndex++;\n if (geomType === 'Polygon') geometryIndex++;\n }\n if (geomType === 'Polygon') multiFeatureIndex++;\n break;\n case 'MultiPolygon':\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(coords[j][k][l], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++)\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false) return false;\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {FeatureCollection|Geometry|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoord, coordIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentCoord;\n * });\n */\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(geojson, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === undefined) previousValue = currentCoord;\n else previousValue = callback(previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex);\n }, excludeWrapCoord);\n return previousValue;\n}\n\n/**\n * Callback for propEach\n *\n * @callback propEachCallback\n * @param {Object} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propEach(features, function (currentProperties, featureIndex) {\n * //=currentProperties\n * //=featureIndex\n * });\n */\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case 'FeatureCollection':\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case 'Feature':\n callback(geojson.properties, 0);\n break;\n }\n}\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {\n * //=previousValue\n * //=currentProperties\n * //=featureIndex\n * return currentProperties\n * });\n */\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function (currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentProperties;\n else previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for featureEach\n *\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.featureEach(features, function (currentFeature, featureIndex) {\n * //=currentFeature\n * //=featureIndex\n * });\n */\nfunction featureEach(geojson, callback) {\n if (geojson.type === 'Feature') {\n callback(geojson, 0);\n } else if (geojson.type === 'FeatureCollection') {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function (currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * var coords = turf.coordAll(features);\n * //= [[26, 37], [36, 53]]\n */\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\n\n/**\n * Callback for geomEach\n *\n * @callback geomEachCallback\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomEach(features, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * });\n */\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n featureProperties,\n featureBBox,\n featureId,\n featureIndex = 0,\n isFeatureCollection = geojson.type === 'FeatureCollection',\n isFeature = geojson.type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[i].geometry :\n (isFeature ? geojson.geometry : geojson));\n featureProperties = (isFeatureCollection ? geojson.features[i].properties :\n (isFeature ? geojson.properties : {}));\n featureBBox = (isFeatureCollection ? geojson.features[i].bbox :\n (isFeature ? geojson.bbox : undefined));\n featureId = (isFeatureCollection ? geojson.features[i].id :\n (isFeature ? geojson.id : undefined));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n // Handle null Geometry\n if (geometry === null) {\n if (callback(null, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n continue;\n }\n switch (geometry.type) {\n case 'Point':\n case 'LineString':\n case 'MultiPoint':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon': {\n if (callback(geometry, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n break;\n }\n case 'GeometryCollection': {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (callback(geometry.geometries[j], featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n }\n break;\n }\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n // Only increase `featureIndex` per each feature\n featureIndex++;\n }\n}\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=previousValue\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * return currentGeometry\n * });\n */\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(geojson, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentGeometry;\n else previousValue = callback(previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId);\n });\n return previousValue;\n}\n\n/**\n * Callback for flattenEach\n *\n * @callback flattenEachCallback\n * @param {Feature} currentFeature The current flattened feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Iterate over flattened features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name flattenEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex, multiFeatureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenEach(features, function (currentFeature, featureIndex, multiFeatureIndex) {\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * });\n */\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function (geometry, featureIndex, properties, bbox, id) {\n // Callback for single geometry\n var type = (geometry === null) ? null : geometry.type;\n switch (type) {\n case null:\n case 'Point':\n case 'LineString':\n case 'Polygon':\n if (callback(helpers.feature(geometry, properties, {bbox: bbox, id: id}), featureIndex, 0) === false) return false;\n return;\n }\n\n var geomType;\n\n // Callback for multi-geometry\n switch (type) {\n case 'MultiPoint':\n geomType = 'Point';\n break;\n case 'MultiLineString':\n geomType = 'LineString';\n break;\n case 'MultiPolygon':\n geomType = 'Polygon';\n break;\n }\n\n for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (callback(helpers.feature(geom, properties), featureIndex, multiFeatureIndex) === false) return false;\n }\n });\n}\n\n/**\n * Callback for flattenReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback flattenReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Reduce flattened features in any GeoJSON object, similar to Array.reduce().\n *\n * @name flattenReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex, multiFeatureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, multiFeatureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * return currentFeature\n * });\n */\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(geojson, function (currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex, multiFeatureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for segmentEach\n *\n * @callback segmentEachCallback\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n * @returns {void}\n */\n\n/**\n * Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex)\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentEach(polygon, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //=currentSegment\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * //=segmentIndex\n * });\n *\n * // Calculate the total number of segments\n * var total = 0;\n * turf.segmentEach(polygon, function () {\n * total++;\n * });\n */\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function (feature, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n\n // Exclude null Geometries\n if (!feature.geometry) return;\n // (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n var type = feature.geometry.type;\n if (type === 'Point' || type === 'MultiPoint') return;\n\n // Generate 2-vertex line segments\n var previousCoords;\n var previousFeatureIndex = 0;\n var previousMultiIndex = 0;\n var prevGeomIndex = 0;\n if (coordEach(feature, function (currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {\n // Simulating a meta.coordReduce() since `reduce` operations cannot be stopped by returning `false`\n if (previousCoords === undefined || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {\n previousCoords = currentCoord;\n previousFeatureIndex = featureIndex;\n previousMultiIndex = multiPartIndexCoord;\n prevGeomIndex = geometryIndex;\n segmentIndex = 0;\n return;\n }\n var currentSegment = helpers.lineString([previousCoords, currentCoord], feature.properties);\n if (callback(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) === false) return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }) === false) return false;\n });\n}\n\n/**\n * Callback for segmentReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback segmentReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n */\n\n/**\n * Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (previousValue, currentSegment, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //= previousSegment\n * //= currentSegment\n * //= featureIndex\n * //= multiFeatureIndex\n * //= geometryIndex\n * //= segmentInex\n * return currentSegment\n * });\n *\n * // Calculate the total number of segments\n * var initialValue = 0\n * var total = turf.segmentReduce(polygon, function (previousValue) {\n * previousValue++;\n * return previousValue;\n * }, initialValue);\n */\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(geojson, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === undefined) previousValue = currentSegment;\n else previousValue = callback(previousValue, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex);\n started = true;\n });\n return previousValue;\n}\n\n/**\n * Callback for lineEach\n *\n * @callback lineEachCallback\n * @param {Feature} currentLine The current LineString|LinearRing being processed\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,\n * similar to Array.forEach.\n *\n * @name lineEach\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @example\n * var multiLine = turf.multiLineString([\n * [[26, 37], [35, 45]],\n * [[36, 53], [38, 50], [41, 55]]\n * ]);\n *\n * turf.lineEach(multiLine, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction lineEach(geojson, callback) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n\n flattenEach(geojson, function (feature, featureIndex, multiFeatureIndex) {\n if (feature.geometry === null) return;\n var type = feature.geometry.type;\n var coords = feature.geometry.coordinates;\n switch (type) {\n case 'LineString':\n if (callback(feature, featureIndex, multiFeatureIndex, 0, 0) === false) return false;\n break;\n case 'Polygon':\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (callback(helpers.lineString(coords[geometryIndex], feature.properties), featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n }\n break;\n }\n });\n}\n\n/**\n * Callback for lineReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback lineReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name lineReduce\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var multiPoly = turf.multiPolygon([\n * turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),\n * turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])\n * ]);\n *\n * turf.lineReduce(multiPoly, function (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentLine\n * });\n */\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(geojson, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentLine;\n else previousValue = callback(previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex);\n });\n return previousValue;\n}\n\n/**\n * Finds a particular 2-vertex LineString Segment from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n * Point & MultiPoint will always return null.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.segmentIndex=0] Segment Index\n * @param {Object} [options.properties={}] Translate Properties to output LineString\n * @param {BBox} [options.bbox={}] Translate BBox to output LineString\n * @param {number|string} [options.id={}] Translate Id to output LineString\n * @returns {Feature} 2-vertex GeoJSON Feature LineString\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findSegment(multiLine);\n * // => Feature>\n *\n * // First Segment of 2nd Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of Last Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: -1, segmentIndex: -1});\n * // => Feature>\n */\nfunction findSegment(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!helpers.isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find SegmentIndex\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return helpers.lineString([coords[segmentIndex], coords[segmentIndex + 1]], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return helpers.lineString([coords[geometryIndex][segmentIndex], coords[geometryIndex][segmentIndex + 1]], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return helpers.lineString([coords[multiFeatureIndex][segmentIndex], coords[multiFeatureIndex][segmentIndex + 1]], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return helpers.lineString([coords[multiFeatureIndex][geometryIndex][segmentIndex], coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\n/**\n * Finds a particular Point from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.coordIndex=0] Coord Index\n * @param {Object} [options.properties={}] Translate Properties to output Point\n * @param {BBox} [options.bbox={}] Translate BBox to output Point\n * @param {number|string} [options.id={}] Translate Id to output Point\n * @returns {Feature} 2-vertex GeoJSON Feature Point\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findPoint(multiLine);\n * // => Feature>\n *\n * // First Segment of the 2nd Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of last Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: -1, coordIndex: -1});\n * // => Feature>\n */\nfunction findPoint(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!helpers.isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find Coord Index\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n return helpers.point(coords, properties, options);\n case 'MultiPoint':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n return helpers.point(coords[multiFeatureIndex], properties, options);\n case 'LineString':\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return helpers.point(coords[coordIndex], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[geometryIndex].length + coordIndex;\n return helpers.point(coords[geometryIndex][coordIndex], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return helpers.point(coords[multiFeatureIndex][coordIndex], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return helpers.point(coords[multiFeatureIndex][geometryIndex][coordIndex], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\nexports.coordEach = coordEach;\nexports.coordReduce = coordReduce;\nexports.propEach = propEach;\nexports.propReduce = propReduce;\nexports.featureEach = featureEach;\nexports.featureReduce = featureReduce;\nexports.coordAll = coordAll;\nexports.geomEach = geomEach;\nexports.geomReduce = geomReduce;\nexports.flattenEach = flattenEach;\nexports.flattenReduce = flattenReduce;\nexports.segmentEach = segmentEach;\nexports.segmentReduce = segmentReduce;\nexports.lineEach = lineEach;\nexports.lineReduce = lineReduce;\nexports.findSegment = findSegment;\nexports.findPoint = findPoint;\n\n\n/***/ }),\n\n/***/ \"71b1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var selection = [];\n var i, j;\n\n if(selectionTester === false) {\n for(i = 0; i < cd.length; i++) {\n for(j = 0; j < (cd[i].pts || []).length; j++) {\n // clear selection\n cd[i].pts[j].selected = 0;\n }\n }\n } else {\n for(i = 0; i < cd.length; i++) {\n for(j = 0; j < (cd[i].pts || []).length; j++) {\n var pt = cd[i].pts[j];\n var x = xa.c2p(pt.x);\n var y = ya.c2p(pt.y);\n\n if(selectionTester.contains([x, y], null, pt.i, searchInfo)) {\n selection.push({\n pointNumber: pt.i,\n x: xa.c2d(pt.x),\n y: ya.c2d(pt.y)\n });\n pt.selected = 1;\n } else {\n pt.selected = 0;\n }\n }\n }\n }\n\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"7210\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nvar attributes = __webpack_require__(\"9c5f\");\nvar constants = __webpack_require__(\"e639\");\n\nvar name = constants.name;\nvar stepAttrs = attributes.steps;\n\n\nmodule.exports = function slidersDefaults(layoutIn, layoutOut) {\n handleArrayContainerDefaults(layoutIn, layoutOut, {\n name: name,\n handleItemDefaults: sliderDefaults\n });\n};\n\nfunction sliderDefaults(sliderIn, sliderOut, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(sliderIn, sliderOut, attributes, attr, dflt);\n }\n\n var steps = handleArrayContainerDefaults(sliderIn, sliderOut, {\n name: 'steps',\n handleItemDefaults: stepDefaults\n });\n\n var stepCount = 0;\n for(var i = 0; i < steps.length; i++) {\n if(steps[i].visible) stepCount++;\n }\n\n var visible;\n // If it has fewer than two options, it's not really a slider\n if(stepCount < 2) visible = sliderOut.visible = false;\n else visible = coerce('visible');\n if(!visible) return;\n\n sliderOut._stepCount = stepCount;\n var visSteps = sliderOut._visibleSteps = Lib.filterVisible(steps);\n\n var active = coerce('active');\n if(!(steps[active] || {}).visible) sliderOut.active = visSteps[0]._index;\n\n coerce('x');\n coerce('y');\n Lib.noneOrAll(sliderIn, sliderOut, ['x', 'y']);\n\n coerce('xanchor');\n coerce('yanchor');\n\n coerce('len');\n coerce('lenmode');\n\n coerce('pad.t');\n coerce('pad.r');\n coerce('pad.b');\n coerce('pad.l');\n\n Lib.coerceFont(coerce, 'font', layoutOut.font);\n\n var currentValueIsVisible = coerce('currentvalue.visible');\n\n if(currentValueIsVisible) {\n coerce('currentvalue.xanchor');\n coerce('currentvalue.prefix');\n coerce('currentvalue.suffix');\n coerce('currentvalue.offset');\n\n Lib.coerceFont(coerce, 'currentvalue.font', sliderOut.font);\n }\n\n coerce('transition.duration');\n coerce('transition.easing');\n\n coerce('bgcolor');\n coerce('activebgcolor');\n coerce('bordercolor');\n coerce('borderwidth');\n coerce('ticklen');\n coerce('tickwidth');\n coerce('tickcolor');\n coerce('minorticklen');\n}\n\nfunction stepDefaults(valueIn, valueOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(valueIn, valueOut, stepAttrs, attr, dflt);\n }\n\n var visible;\n if(valueIn.method !== 'skip' && !Array.isArray(valueIn.args)) {\n visible = valueOut.visible = false;\n } else visible = coerce('visible');\n\n if(visible) {\n coerce('method');\n coerce('args');\n var label = coerce('label', 'step-' + valueOut._index);\n coerce('value', label);\n coerce('execute');\n }\n}\n\n\n/***/ }),\n\n/***/ \"7223\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar db = __webpack_require__(\"abc0\")\nvar ctz = __webpack_require__(\"a48a\").countTrailingZeros\n\nmodule.exports = ctzNumber\n\n//Counts the number of trailing zeros\nfunction ctzNumber(x) {\n var l = ctz(db.lo(x))\n if(l < 32) {\n return l\n }\n var h = ctz(db.hi(x))\n if(h > 20) {\n return 52\n }\n return h + 32\n}\n\n\n/***/ }),\n\n/***/ \"722f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar axisIds = __webpack_require__(\"3c1c\");\n\nvar traceIs = __webpack_require__(\"371e\").traceIs;\nvar handleGroupingDefaults = __webpack_require__(\"1c1c\").handleGroupingDefaults;\n\nvar nestedProperty = Lib.nestedProperty;\nvar getAxisGroup = axisIds.getAxisGroup;\n\nvar BINATTRS = [\n {aStr: {x: 'xbins.start', y: 'ybins.start'}, name: 'start'},\n {aStr: {x: 'xbins.end', y: 'ybins.end'}, name: 'end'},\n {aStr: {x: 'xbins.size', y: 'ybins.size'}, name: 'size'},\n {aStr: {x: 'nbinsx', y: 'nbinsy'}, name: 'nbins'}\n];\n\nvar BINDIRECTIONS = ['x', 'y'];\n\n// handle bin attrs and relink auto-determined values so fullData is complete\nmodule.exports = function crossTraceDefaults(fullData, fullLayout) {\n var allBinOpts = fullLayout._histogramBinOpts = {};\n var histTraces = [];\n var mustMatchTracesLookup = {};\n var otherTracesList = [];\n\n var traceOut, traces, groupName, binDir;\n var i, j, k;\n\n function coerce(attr, dflt) {\n return Lib.coerce(traceOut._input, traceOut, traceOut._module.attributes, attr, dflt);\n }\n\n function orientation2binDir(traceOut) {\n return traceOut.orientation === 'v' ? 'x' : 'y';\n }\n\n function getAxisType(traceOut, binDir) {\n var ax = axisIds.getFromTrace({_fullLayout: fullLayout}, traceOut, binDir);\n return ax.type;\n }\n\n function fillBinOpts(traceOut, groupName, binDir) {\n // N.B. group traces that don't have a bingroup with themselves\n var fallbackGroupName = traceOut.uid + '__' + binDir;\n if(!groupName) groupName = fallbackGroupName;\n\n var axType = getAxisType(traceOut, binDir);\n var calendar = traceOut[binDir + 'calendar'] || '';\n var binOpts = allBinOpts[groupName];\n var needsNewItem = true;\n\n if(binOpts) {\n if(axType === binOpts.axType && calendar === binOpts.calendar) {\n needsNewItem = false;\n binOpts.traces.push(traceOut);\n binOpts.dirs.push(binDir);\n } else {\n groupName = fallbackGroupName;\n\n if(axType !== binOpts.axType) {\n Lib.warn([\n 'Attempted to group the bins of trace', traceOut.index,\n 'set on a', 'type:' + axType, 'axis',\n 'with bins on', 'type:' + binOpts.axType, 'axis.'\n ].join(' '));\n }\n if(calendar !== binOpts.calendar) {\n // prohibit bingroup for traces using different calendar,\n // there's probably a way to make this work, but skip for now\n Lib.warn([\n 'Attempted to group the bins of trace', traceOut.index,\n 'set with a', calendar, 'calendar',\n 'with bins',\n (binOpts.calendar ? 'on a ' + binOpts.calendar + ' calendar' : 'w/o a set calendar')\n ].join(' '));\n }\n }\n }\n\n if(needsNewItem) {\n allBinOpts[groupName] = {\n traces: [traceOut],\n dirs: [binDir],\n axType: axType,\n calendar: traceOut[binDir + 'calendar'] || ''\n };\n }\n traceOut['_' + binDir + 'bingroup'] = groupName;\n }\n\n for(i = 0; i < fullData.length; i++) {\n traceOut = fullData[i];\n\n if(traceIs(traceOut, 'histogram')) {\n histTraces.push(traceOut);\n\n // TODO: this shouldn't be relinked as it's only used within calc\n // https://github.com/plotly/plotly.js/issues/749\n delete traceOut._xautoBinFinished;\n delete traceOut._yautoBinFinished;\n\n // N.B. need to coerce *alignmentgroup* before *bingroup*, as traces\n // in same alignmentgroup \"have to match\"\n if(!traceIs(traceOut, '2dMap')) {\n handleGroupingDefaults(traceOut._input, traceOut, fullLayout, coerce);\n }\n }\n }\n\n var alignmentOpts = fullLayout._alignmentOpts || {};\n\n // Look for traces that \"have to match\", that is:\n // - 1d histogram traces on the same subplot with same orientation under barmode:stack,\n // - 1d histogram traces on the same subplot with same orientation under barmode:group\n // - 1d histogram traces on the same position axis with the same orientation\n // and the same *alignmentgroup* (coerced under barmode:group)\n // - Once `stackgroup` gets implemented (see https://github.com/plotly/plotly.js/issues/3614),\n // traces within the same stackgroup will also \"have to match\"\n for(i = 0; i < histTraces.length; i++) {\n traceOut = histTraces[i];\n groupName = '';\n\n if(!traceIs(traceOut, '2dMap')) {\n binDir = orientation2binDir(traceOut);\n\n if(fullLayout.barmode === 'group' && traceOut.alignmentgroup) {\n var pa = traceOut[binDir + 'axis'];\n var aGroupId = getAxisGroup(fullLayout, pa) + traceOut.orientation;\n if((alignmentOpts[aGroupId] || {})[traceOut.alignmentgroup]) {\n groupName = aGroupId;\n }\n }\n\n if(!groupName && fullLayout.barmode !== 'overlay') {\n groupName = (\n getAxisGroup(fullLayout, traceOut.xaxis) +\n getAxisGroup(fullLayout, traceOut.yaxis) +\n orientation2binDir(traceOut)\n );\n }\n }\n\n if(groupName) {\n if(!mustMatchTracesLookup[groupName]) {\n mustMatchTracesLookup[groupName] = [];\n }\n mustMatchTracesLookup[groupName].push(traceOut);\n } else {\n otherTracesList.push(traceOut);\n }\n }\n\n // Setup binOpts for traces that have to match,\n // if the traces have a valid bingroup, use that\n // if not use axis+binDir groupName\n for(groupName in mustMatchTracesLookup) {\n traces = mustMatchTracesLookup[groupName];\n\n // no need to 'force' anything when a single\n // trace is detected as \"must match\"\n if(traces.length === 1) {\n otherTracesList.push(traces[0]);\n continue;\n }\n\n var binGroupFound = false;\n for(i = 0; i < traces.length; i++) {\n traceOut = traces[i];\n binGroupFound = coerce('bingroup');\n break;\n }\n\n groupName = binGroupFound || groupName;\n\n for(i = 0; i < traces.length; i++) {\n traceOut = traces[i];\n var bingroupIn = traceOut._input.bingroup;\n if(bingroupIn && bingroupIn !== groupName) {\n Lib.warn([\n 'Trace', traceOut.index, 'must match',\n 'within bingroup', groupName + '.',\n 'Ignoring its bingroup:', bingroupIn, 'setting.'\n ].join(' '));\n }\n traceOut.bingroup = groupName;\n\n // N.B. no need to worry about 2dMap case\n // (where both bin direction are set in each trace)\n // as 2dMap trace never \"have to match\"\n fillBinOpts(traceOut, groupName, orientation2binDir(traceOut));\n }\n }\n\n // setup binOpts for traces that can but don't have to match,\n // notice that these traces can be matched with traces that have to match\n for(i = 0; i < otherTracesList.length; i++) {\n traceOut = otherTracesList[i];\n\n var binGroup = coerce('bingroup');\n\n if(traceIs(traceOut, '2dMap')) {\n for(k = 0; k < 2; k++) {\n binDir = BINDIRECTIONS[k];\n var binGroupInDir = coerce(binDir + 'bingroup',\n binGroup ? binGroup + '__' + binDir : null\n );\n fillBinOpts(traceOut, binGroupInDir, binDir);\n }\n } else {\n fillBinOpts(traceOut, binGroup, orientation2binDir(traceOut));\n }\n }\n\n // coerce bin attrs!\n for(groupName in allBinOpts) {\n var binOpts = allBinOpts[groupName];\n traces = binOpts.traces;\n\n for(j = 0; j < BINATTRS.length; j++) {\n var attrSpec = BINATTRS[j];\n var attr = attrSpec.name;\n var aStr;\n var autoVals;\n\n // nbins(x|y) is moot if we have a size. This depends on\n // nbins coming after size in binAttrs.\n if(attr === 'nbins' && binOpts.sizeFound) continue;\n\n for(i = 0; i < traces.length; i++) {\n traceOut = traces[i];\n binDir = binOpts.dirs[i];\n aStr = attrSpec.aStr[binDir];\n\n if(nestedProperty(traceOut._input, aStr).get() !== undefined) {\n binOpts[attr] = coerce(aStr);\n binOpts[attr + 'Found'] = true;\n break;\n }\n\n autoVals = (traceOut._autoBin || {})[binDir] || {};\n if(autoVals[attr]) {\n // if this is the *first* autoval\n nestedProperty(traceOut, aStr).set(autoVals[attr]);\n }\n }\n\n // start and end we need to coerce anyway, after having collected the\n // first of each into binOpts, in case a trace wants to restrict its\n // data to a certain range\n if(attr === 'start' || attr === 'end') {\n for(; i < traces.length; i++) {\n traceOut = traces[i];\n if(traceOut['_' + binDir + 'bingroup']) {\n autoVals = (traceOut._autoBin || {})[binDir] || {};\n coerce(aStr, autoVals[attr]);\n }\n }\n }\n\n if(attr === 'nbins' && !binOpts.sizeFound && !binOpts.nbinsFound) {\n traceOut = traces[0];\n binOpts[attr] = coerce(aStr);\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"72a4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n /**\n * Timing information for interactive elements\n */\n SHOW_PLACEHOLDER: 100,\n HIDE_PLACEHOLDER: 1000,\n\n // opacity dimming fraction for points that are not in selection\n DESELECTDIM: 0.2\n};\n\n\n/***/ }),\n\n/***/ \"72e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar styleOne = __webpack_require__(\"a708\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\n\nmodule.exports = function style(gd) {\n var s = gd._fullLayout._pielayer.selectAll('.trace');\n resizeText(gd, s, 'pie');\n\n s.each(function(cd) {\n var cd0 = cd[0];\n var trace = cd0.trace;\n var traceSelection = d3.select(this);\n\n traceSelection.style({opacity: trace.opacity});\n\n traceSelection.selectAll('path.surface').each(function(pt) {\n d3.select(this).call(styleOne, pt, trace);\n });\n });\n};\n\n\n/***/ }),\n\n/***/ \"7327\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isBN = __webpack_require__(\"4e7e\")\n\nmodule.exports = isRat\n\nfunction isRat(x) {\n return Array.isArray(x) && x.length === 2 && isBN(x[0]) && isBN(x[1])\n}\n\n\n/***/ }),\n\n/***/ \"7373\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"62c4\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n\n\n/***/ }),\n\n/***/ \"7388\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = {\n create: __webpack_require__(\"2638\"),\n clone: __webpack_require__(\"3c41\"),\n fromValues: __webpack_require__(\"f9f9\"),\n copy: __webpack_require__(\"265e\"),\n set: __webpack_require__(\"204d\"),\n add: __webpack_require__(\"c3a9\"),\n subtract: __webpack_require__(\"56cf\"),\n multiply: __webpack_require__(\"dd86\"),\n divide: __webpack_require__(\"73cf\"),\n min: __webpack_require__(\"5374\"),\n max: __webpack_require__(\"dd05\"),\n scale: __webpack_require__(\"d9c2\"),\n scaleAndAdd: __webpack_require__(\"0970\"),\n distance: __webpack_require__(\"fa11\"),\n squaredDistance: __webpack_require__(\"bf66\"),\n length: __webpack_require__(\"4e89\"),\n squaredLength: __webpack_require__(\"644a\"),\n negate: __webpack_require__(\"b1ca\"),\n inverse: __webpack_require__(\"95c9\"),\n normalize: __webpack_require__(\"5243\"),\n dot: __webpack_require__(\"7bb3\"),\n lerp: __webpack_require__(\"7ae4\"),\n random: __webpack_require__(\"aff3\"),\n transformMat4: __webpack_require__(\"6259\"),\n transformQuat: __webpack_require__(\"d26e\")\n}\n\n\n/***/ }),\n\n/***/ \"738f\":\n/***/ (function(module, exports) {\n\nmodule.exports = scaleAndAdd;\n\n/**\n * Adds two vec3's after scaling the second operand by a scalar value\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec3} out\n */\nfunction scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + (b[0] * scale)\n out[1] = a[1] + (b[1] * scale)\n out[2] = a[2] + (b[2] * scale)\n return out\n}\n\n/***/ }),\n\n/***/ \"739b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Template = __webpack_require__(\"a651\");\n\nvar colorScaleAttrs = __webpack_require__(\"0dd7\");\nvar colorScaleDefaults = __webpack_require__(\"4183\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, colorScaleAttrs, attr, dflt);\n }\n\n coerce('colorscale.sequential');\n coerce('colorscale.sequentialminus');\n coerce('colorscale.diverging');\n\n var colorAxes = layoutOut._colorAxes;\n var colorAxIn, colorAxOut;\n\n function coerceAx(attr, dflt) {\n return Lib.coerce(colorAxIn, colorAxOut, colorScaleAttrs.coloraxis, attr, dflt);\n }\n\n for(var k in colorAxes) {\n var stash = colorAxes[k];\n\n if(stash[0]) {\n colorAxIn = layoutIn[k] || {};\n colorAxOut = Template.newContainer(layoutOut, k, 'coloraxis');\n colorAxOut._name = k;\n colorScaleDefaults(colorAxIn, colorAxOut, layoutOut, coerceAx, {prefix: '', cLetter: 'c'});\n } else {\n // re-coerce colorscale attributes w/o coloraxis\n for(var i = 0; i < stash[2].length; i++) {\n stash[2][i]();\n }\n delete layoutOut._colorAxes[k];\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"73c9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\nexports.xmlns = 'http://www.w3.org/2000/xmlns/';\nexports.svg = 'http://www.w3.org/2000/svg';\nexports.xlink = 'http://www.w3.org/1999/xlink';\n\n// the 'old' d3 quirk got fix in v3.5.7\n// https://github.com/mbostock/d3/commit/a6f66e9dd37f764403fc7c1f26be09ab4af24fed\nexports.svgAttrs = {\n xmlns: exports.svg,\n 'xmlns:xlink': exports.xlink\n};\n\n\n/***/ }),\n\n/***/ \"73cf\":\n/***/ (function(module, exports) {\n\nmodule.exports = divide\n\n/**\n * Divides two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nfunction divide (out, a, b) {\n out[0] = a[0] / b[0]\n out[1] = a[1] / b[1]\n out[2] = a[2] / b[2]\n out[3] = a[3] / b[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"7418\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"743b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorMix = __webpack_require__(\"66cb\").mix;\nvar lightFraction = __webpack_require__(\"dfb3\").lightFraction;\nvar Lib = __webpack_require__(\"fc26\");\n\n/**\n * @param {object} opts :\n * - dfltColor {string} : default axis color\n * - bgColor {string} : combined subplot bg color\n * - blend {number, optional} : blend percentage (to compute dflt grid color)\n * - showLine {boolean} : show line by default\n * - showGrid {boolean} : show grid by default\n * - noZeroLine {boolean} : don't coerce zeroline* attributes\n * - attributes {object} : attribute object associated with input containers\n */\nmodule.exports = function handleLineGridDefaults(containerIn, containerOut, coerce, opts) {\n opts = opts || {};\n\n var dfltColor = opts.dfltColor;\n\n function coerce2(attr, dflt) {\n return Lib.coerce2(containerIn, containerOut, opts.attributes, attr, dflt);\n }\n\n var lineColor = coerce2('linecolor', dfltColor);\n var lineWidth = coerce2('linewidth');\n var showLine = coerce('showline', opts.showLine || !!lineColor || !!lineWidth);\n\n if(!showLine) {\n delete containerOut.linecolor;\n delete containerOut.linewidth;\n }\n\n var gridColorDflt = colorMix(dfltColor, opts.bgColor, opts.blend || lightFraction).toRgbString();\n var gridColor = coerce2('gridcolor', gridColorDflt);\n var gridWidth = coerce2('gridwidth');\n var showGridLines = coerce('showgrid', opts.showGrid || !!gridColor || !!gridWidth);\n\n if(!showGridLines) {\n delete containerOut.gridcolor;\n delete containerOut.gridwidth;\n }\n\n if(!opts.noZeroLine) {\n var zeroLineColor = coerce2('zerolinecolor', dfltColor);\n var zeroLineWidth = coerce2('zerolinewidth');\n var showZeroLine = coerce('zeroline', opts.showGrid || !!zeroLineColor || !!zeroLineWidth);\n\n if(!showZeroLine) {\n delete containerOut.zerolinecolor;\n delete containerOut.zerolinewidth;\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"746f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(\"428f\");\nvar has = __webpack_require__(\"5135\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(\"e538\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n\n\n/***/ }),\n\n/***/ \"74b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar texttemplateAttrs = __webpack_require__(\"94d5\").texttemplateAttrs;\nvar scatterGeoAttrs = __webpack_require__(\"56f3\");\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar mapboxAttrs = __webpack_require__(\"f7e9\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar lineAttrs = scatterGeoAttrs.line;\nvar markerAttrs = scatterGeoAttrs.marker;\n\nmodule.exports = overrideAll({\n lon: scatterGeoAttrs.lon,\n lat: scatterGeoAttrs.lat,\n\n // locations\n // locationmode\n\n mode: extendFlat({}, scatterAttrs.mode, {\n dflt: 'markers',\n \n }),\n\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n texttemplate: texttemplateAttrs({editType: 'plot'}, {\n keys: ['lat', 'lon', 'text']\n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n\n line: {\n color: lineAttrs.color,\n width: lineAttrs.width\n\n // TODO\n // dash: dash\n },\n\n connectgaps: scatterAttrs.connectgaps,\n\n marker: extendFlat({\n symbol: {\n valType: 'string',\n dflt: 'circle',\n \n arrayOk: true,\n \n },\n opacity: markerAttrs.opacity,\n size: markerAttrs.size,\n sizeref: markerAttrs.sizeref,\n sizemin: markerAttrs.sizemin,\n sizemode: markerAttrs.sizemode\n },\n colorScaleAttrs('marker')\n // line\n ),\n\n fill: scatterGeoAttrs.fill,\n fillcolor: scatterAttrs.fillcolor,\n\n textfont: mapboxAttrs.layers.symbol.textfont,\n textposition: mapboxAttrs.layers.symbol.textposition,\n\n below: {\n valType: 'string',\n \n \n },\n\n selected: {\n marker: scatterAttrs.selected.marker\n },\n unselected: {\n marker: scatterAttrs.unselected.marker\n },\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['lon', 'lat', 'text', 'name']\n }),\n hovertemplate: hovertemplateAttrs(),\n}, 'calc', 'nested');\n\n\n/***/ }),\n\n/***/ \"74d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\n\n/**\n * convert a string s (such as 'xaxis.range[0]')\n * representing a property of nested object into set and get methods\n * also return the string and object so we don't have to keep track of them\n * allows [-1] for an array index, to set a property inside all elements\n * of an array\n * eg if obj = {arr: [{a: 1}, {a: 2}]}\n * you can do p = nestedProperty(obj, 'arr[-1].a')\n * but you cannot set the array itself this way, to do that\n * just set the whole array.\n * eg if obj = {arr: [1, 2, 3]}\n * you can't do nestedProperty(obj, 'arr[-1]').set(5)\n * but you can do nestedProperty(obj, 'arr').set([5, 5, 5])\n */\nmodule.exports = function nestedProperty(container, propStr) {\n if(isNumeric(propStr)) propStr = String(propStr);\n else if(typeof propStr !== 'string' ||\n propStr.substr(propStr.length - 4) === '[-1]') {\n throw 'bad property string';\n }\n\n var j = 0;\n var propParts = propStr.split('.');\n var indexed;\n var indices;\n var i;\n\n // check for parts of the nesting hierarchy that are numbers (ie array elements)\n while(j < propParts.length) {\n // look for non-bracket chars, then any number of [##] blocks\n indexed = String(propParts[j]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/);\n if(indexed) {\n if(indexed[1]) propParts[j] = indexed[1];\n // allow propStr to start with bracketed array indices\n else if(j === 0) propParts.splice(0, 1);\n else throw 'bad property string';\n\n indices = indexed[2]\n .substr(1, indexed[2].length - 2)\n .split('][');\n\n for(i = 0; i < indices.length; i++) {\n j++;\n propParts.splice(j, 0, Number(indices[i]));\n }\n }\n j++;\n }\n\n if(typeof container !== 'object') {\n return badContainer(container, propStr, propParts);\n }\n\n return {\n set: npSet(container, propParts, propStr),\n get: npGet(container, propParts),\n astr: propStr,\n parts: propParts,\n obj: container\n };\n};\n\nfunction npGet(cont, parts) {\n return function() {\n var curCont = cont;\n var curPart;\n var allSame;\n var out;\n var i;\n var j;\n\n for(i = 0; i < parts.length - 1; i++) {\n curPart = parts[i];\n if(curPart === -1) {\n allSame = true;\n out = [];\n for(j = 0; j < curCont.length; j++) {\n out[j] = npGet(curCont[j], parts.slice(i + 1))();\n if(out[j] !== out[0]) allSame = false;\n }\n return allSame ? out[0] : out;\n }\n if(typeof curPart === 'number' && !isArrayOrTypedArray(curCont)) {\n return undefined;\n }\n curCont = curCont[curPart];\n if(typeof curCont !== 'object' || curCont === null) {\n return undefined;\n }\n }\n\n // only hit this if parts.length === 1\n if(typeof curCont !== 'object' || curCont === null) return undefined;\n\n out = curCont[parts[i]];\n if(out === null) return undefined;\n return out;\n };\n}\n\n/*\n * Can this value be deleted? We can delete `undefined`, and `null` except INSIDE an\n * *args* array.\n *\n * Previously we also deleted some `{}` and `[]`, in order to try and make set/unset\n * a net noop; but this causes far more complication than it's worth, and still had\n * lots of exceptions. See https://github.com/plotly/plotly.js/issues/1410\n *\n * *args* arrays get passed directly to API methods and we should respect null if\n * the user put it there, but otherwise null is deleted as we use it as code\n * in restyle/relayout/update for \"delete this value\" whereas undefined means\n * \"ignore this edit\"\n */\nvar ARGS_PATTERN = /(^|\\.)args\\[/;\nfunction isDeletable(val, propStr) {\n return (val === undefined) || (val === null && !propStr.match(ARGS_PATTERN));\n}\n\nfunction npSet(cont, parts, propStr) {\n return function(val) {\n var curCont = cont;\n var propPart = '';\n var containerLevels = [[cont, propPart]];\n var toDelete = isDeletable(val, propStr);\n var curPart;\n var i;\n\n for(i = 0; i < parts.length - 1; i++) {\n curPart = parts[i];\n\n if(typeof curPart === 'number' && !isArrayOrTypedArray(curCont)) {\n throw 'array index but container is not an array';\n }\n\n // handle special -1 array index\n if(curPart === -1) {\n toDelete = !setArrayAll(curCont, parts.slice(i + 1), val, propStr);\n if(toDelete) break;\n else return;\n }\n\n if(!checkNewContainer(curCont, curPart, parts[i + 1], toDelete)) {\n break;\n }\n\n curCont = curCont[curPart];\n\n if(typeof curCont !== 'object' || curCont === null) {\n throw 'container is not an object';\n }\n\n propPart = joinPropStr(propPart, curPart);\n\n containerLevels.push([curCont, propPart]);\n }\n\n if(toDelete) {\n if(i === parts.length - 1) {\n delete curCont[parts[i]];\n\n // The one bit of pruning we still do: drop `undefined` from the end of arrays.\n // In case someone has already unset previous items, continue until we hit a\n // non-undefined value.\n if(Array.isArray(curCont) && +parts[i] === curCont.length - 1) {\n while(curCont.length && curCont[curCont.length - 1] === undefined) {\n curCont.pop();\n }\n }\n }\n } else curCont[parts[i]] = val;\n };\n}\n\nfunction joinPropStr(propStr, newPart) {\n var toAdd = newPart;\n if(isNumeric(newPart)) toAdd = '[' + newPart + ']';\n else if(propStr) toAdd = '.' + newPart;\n\n return propStr + toAdd;\n}\n\n// handle special -1 array index\nfunction setArrayAll(containerArray, innerParts, val, propStr) {\n var arrayVal = isArrayOrTypedArray(val);\n var allSet = true;\n var thisVal = val;\n var thisPropStr = propStr.replace('-1', 0);\n var deleteThis = arrayVal ? false : isDeletable(val, thisPropStr);\n var firstPart = innerParts[0];\n var i;\n\n for(i = 0; i < containerArray.length; i++) {\n thisPropStr = propStr.replace('-1', i);\n if(arrayVal) {\n thisVal = val[i % val.length];\n deleteThis = isDeletable(thisVal, thisPropStr);\n }\n if(deleteThis) allSet = false;\n if(!checkNewContainer(containerArray, i, firstPart, deleteThis)) {\n continue;\n }\n npSet(containerArray[i], innerParts, propStr.replace('-1', i))(thisVal);\n }\n return allSet;\n}\n\n/**\n * make new sub-container as needed.\n * returns false if there's no container and none is needed\n * because we're only deleting an attribute\n */\nfunction checkNewContainer(container, part, nextPart, toDelete) {\n if(container[part] === undefined) {\n if(toDelete) return false;\n\n if(typeof nextPart === 'number') container[part] = [];\n else container[part] = {};\n }\n return true;\n}\n\nfunction badContainer(container, propStr, propParts) {\n return {\n set: function() { throw 'bad container'; },\n get: function() {},\n astr: propStr,\n parts: propParts,\n obj: container\n };\n}\n\n\n/***/ }),\n\n/***/ \"7559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n 'undo': {\n 'width': 857.1,\n 'height': 1000,\n 'path': 'm857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'home': {\n 'width': 928.6,\n 'height': 1000,\n 'path': 'm786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'camera-retro': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'zoombox': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'pan': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'zoom_plus': {\n 'width': 875,\n 'height': 1000,\n 'path': 'm1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'zoom_minus': {\n 'width': 875,\n 'height': 1000,\n 'path': 'm0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'autoscale': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'tooltip_basic': {\n 'width': 1500,\n 'height': 1000,\n 'path': 'm375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'tooltip_compare': {\n 'width': 1125,\n 'height': 1000,\n 'path': 'm187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'plotlylogo': {\n 'width': 1542,\n 'height': 1000,\n 'path': 'm0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'z-axis': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n '3d_rotate': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'camera': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'movie': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'question': {\n 'width': 857.1,\n 'height': 1000,\n 'path': 'm500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'disk': {\n 'width': 857.1,\n 'height': 1000,\n 'path': 'm214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'lasso': {\n 'width': 1031,\n 'height': 1000,\n 'path': 'm1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'selectbox': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'spikeline': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z',\n 'transform': 'matrix(1.5 0 0 -1.5 0 850)'\n },\n 'pencil': {\n 'width': 1792,\n 'height': 1792,\n 'path': 'M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z',\n 'transform': 'matrix(1 0 0 1 0 1)'\n },\n 'newplotlylogo': {\n 'name': 'newplotlylogo',\n 'svg': 'plotly-logomark'\n }\n};\n\n\n/***/ }),\n\n/***/ \"7594\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Color = __webpack_require__(\"d115\");\nvar Lib = __webpack_require__(\"fc26\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\n\nfunction style(gd) {\n var s = gd._fullLayout._sunburstlayer.selectAll('.trace');\n resizeText(gd, s, 'sunburst');\n\n s.each(function(cd) {\n var gTrace = d3.select(this);\n var cd0 = cd[0];\n var trace = cd0.trace;\n\n gTrace.style('opacity', trace.opacity);\n\n gTrace.selectAll('path.surface').each(function(pt) {\n d3.select(this).call(styleOne, pt, trace);\n });\n });\n}\n\nfunction styleOne(s, pt, trace) {\n var cdi = pt.data.data;\n var isLeaf = !pt.children;\n var ptNumber = cdi.i;\n var lineColor = Lib.castOption(trace, ptNumber, 'marker.line.color') || Color.defaultLine;\n var lineWidth = Lib.castOption(trace, ptNumber, 'marker.line.width') || 0;\n\n s.style('stroke-width', lineWidth)\n .call(Color.fill, cdi.color)\n .call(Color.stroke, lineColor)\n .style('opacity', isLeaf ? trace.leaf.opacity : null);\n}\n\nmodule.exports = {\n style: style,\n styleOne: styleOne\n};\n\n\n/***/ }),\n\n/***/ \"75ac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"8761\");\n\n\n/***/ }),\n\n/***/ \"765f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\nvar rgba = __webpack_require__(\"0103\");\n\nvar Colorscale = __webpack_require__(\"c258\");\nvar colorDflt = __webpack_require__(\"dfb3\").defaultLine;\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\n\nvar colorDfltRgba = rgba(colorDflt);\nvar opacityDflt = 1;\n\nfunction calculateColor(colorIn, opacityIn) {\n var colorOut = colorIn;\n colorOut[3] *= opacityIn;\n return colorOut;\n}\n\nfunction validateColor(colorIn) {\n if(isNumeric(colorIn)) return colorDfltRgba;\n\n var colorOut = rgba(colorIn);\n\n return colorOut.length ? colorOut : colorDfltRgba;\n}\n\nfunction validateOpacity(opacityIn) {\n return isNumeric(opacityIn) ? opacityIn : opacityDflt;\n}\n\nfunction formatColor(containerIn, opacityIn, len) {\n var colorIn = containerIn.color;\n var isArrayColorIn = isArrayOrTypedArray(colorIn);\n var isArrayOpacityIn = isArrayOrTypedArray(opacityIn);\n var cOpts = Colorscale.extractOpts(containerIn);\n var colorOut = [];\n\n var sclFunc, getColor, getOpacity, colori, opacityi;\n\n if(cOpts.colorscale !== undefined) {\n sclFunc = Colorscale.makeColorScaleFuncFromTrace(containerIn);\n } else {\n sclFunc = validateColor;\n }\n\n if(isArrayColorIn) {\n getColor = function(c, i) {\n // FIXME: there is double work, considering that sclFunc does the opposite\n return c[i] === undefined ? colorDfltRgba : rgba(sclFunc(c[i]));\n };\n } else getColor = validateColor;\n\n if(isArrayOpacityIn) {\n getOpacity = function(o, i) {\n return o[i] === undefined ? opacityDflt : validateOpacity(o[i]);\n };\n } else getOpacity = validateOpacity;\n\n if(isArrayColorIn || isArrayOpacityIn) {\n for(var i = 0; i < len; i++) {\n colori = getColor(colorIn, i);\n opacityi = getOpacity(opacityIn, i);\n colorOut[i] = calculateColor(colori, opacityi);\n }\n } else colorOut = calculateColor(rgba(colorIn), opacityIn);\n\n return colorOut;\n}\n\nfunction parseColorScale(cont, alpha) {\n if(alpha === undefined) alpha = 1;\n\n var cOpts = Colorscale.extractOpts(cont);\n\n var colorscale = cOpts.reversescale ?\n Colorscale.flipScale(cOpts.colorscale) :\n cOpts.colorscale;\n\n return colorscale.map(function(elem) {\n var index = elem[0];\n var color = tinycolor(elem[1]);\n var rgb = color.toRgb();\n return {\n index: index,\n rgb: [rgb.r, rgb.g, rgb.b, alpha]\n };\n });\n}\n\nmodule.exports = {\n formatColor: formatColor,\n parseColorScale: parseColorScale\n};\n\n\n/***/ }),\n\n/***/ \"7678\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n funnelmode: {\n valType: 'enumerated',\n values: ['stack', 'group', 'overlay'],\n dflt: 'stack',\n \n editType: 'calc',\n \n },\n funnelgap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n },\n funnelgroupgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"76b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/* global MathJax:false */\n\nmodule.exports = function() {\n if(typeof MathJax !== 'undefined') {\n var globalConfig = (window.PlotlyConfig || {}).MathJaxConfig !== 'local';\n\n if(globalConfig) {\n MathJax.Hub.Config({\n messageStyle: 'none',\n skipStartupTypeset: true,\n displayAlign: 'left',\n tex2jax: {\n inlineMath: [['$', '$'], ['\\\\(', '\\\\)']]\n }\n });\n MathJax.Hub.Configured();\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"76fe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar str2RgbaArray = __webpack_require__(\"f977\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar AXES_NAMES = ['xaxis', 'yaxis', 'zaxis'];\n\nfunction AxesOptions() {\n this.bounds = [\n [-10, -10, -10],\n [10, 10, 10]\n ];\n\n this.ticks = [ [], [], [] ];\n this.tickEnable = [ true, true, true ];\n this.tickFont = [ 'sans-serif', 'sans-serif', 'sans-serif' ];\n this.tickSize = [ 12, 12, 12 ];\n this.tickAngle = [ 0, 0, 0 ];\n this.tickColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n this.tickPad = [ 18, 18, 18 ];\n\n this.labels = [ 'x', 'y', 'z' ];\n this.labelEnable = [ true, true, true ];\n this.labelFont = ['Open Sans', 'Open Sans', 'Open Sans'];\n this.labelSize = [ 20, 20, 20 ];\n this.labelColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n this.labelPad = [ 30, 30, 30 ];\n\n this.lineEnable = [ true, true, true ];\n this.lineMirror = [ false, false, false ];\n this.lineWidth = [ 1, 1, 1 ];\n this.lineColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n\n this.lineTickEnable = [ true, true, true ];\n this.lineTickMirror = [ false, false, false ];\n this.lineTickLength = [ 10, 10, 10 ];\n this.lineTickWidth = [ 1, 1, 1 ];\n this.lineTickColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n\n this.gridEnable = [ true, true, true ];\n this.gridWidth = [ 1, 1, 1 ];\n this.gridColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n\n this.zeroEnable = [ true, true, true ];\n this.zeroLineColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n this.zeroLineWidth = [ 2, 2, 2 ];\n\n this.backgroundEnable = [ true, true, true ];\n this.backgroundColor = [ [0.8, 0.8, 0.8, 0.5],\n [0.8, 0.8, 0.8, 0.5],\n [0.8, 0.8, 0.8, 0.5] ];\n\n // some default values are stored for applying model transforms\n this._defaultTickPad = this.tickPad.slice();\n this._defaultLabelPad = this.labelPad.slice();\n this._defaultLineTickLength = this.lineTickLength.slice();\n}\n\nvar proto = AxesOptions.prototype;\n\nproto.merge = function(fullLayout, sceneLayout) {\n var opts = this;\n for(var i = 0; i < 3; ++i) {\n var axes = sceneLayout[AXES_NAMES[i]];\n\n if(!axes.visible) {\n opts.tickEnable[i] = false;\n opts.labelEnable[i] = false;\n opts.lineEnable[i] = false;\n opts.lineTickEnable[i] = false;\n opts.gridEnable[i] = false;\n opts.zeroEnable[i] = false;\n opts.backgroundEnable[i] = false;\n continue;\n }\n\n // Axes labels\n opts.labels[i] = fullLayout._meta ?\n Lib.templateString(axes.title.text, fullLayout._meta) :\n axes.title.text;\n\n if('font' in axes.title) {\n if(axes.title.font.color) opts.labelColor[i] = str2RgbaArray(axes.title.font.color);\n if(axes.title.font.family) opts.labelFont[i] = axes.title.font.family;\n if(axes.title.font.size) opts.labelSize[i] = axes.title.font.size;\n }\n\n // Lines\n if('showline' in axes) opts.lineEnable[i] = axes.showline;\n if('linecolor' in axes) opts.lineColor[i] = str2RgbaArray(axes.linecolor);\n if('linewidth' in axes) opts.lineWidth[i] = axes.linewidth;\n\n if('showgrid' in axes) opts.gridEnable[i] = axes.showgrid;\n if('gridcolor' in axes) opts.gridColor[i] = str2RgbaArray(axes.gridcolor);\n if('gridwidth' in axes) opts.gridWidth[i] = axes.gridwidth;\n\n // Remove zeroline if axis type is log\n // otherwise the zeroline is incorrectly drawn at 1 on log axes\n if(axes.type === 'log') opts.zeroEnable[i] = false;\n else if('zeroline' in axes) opts.zeroEnable[i] = axes.zeroline;\n if('zerolinecolor' in axes) opts.zeroLineColor[i] = str2RgbaArray(axes.zerolinecolor);\n if('zerolinewidth' in axes) opts.zeroLineWidth[i] = axes.zerolinewidth;\n\n // tick lines\n if('ticks' in axes && !!axes.ticks) opts.lineTickEnable[i] = true;\n else opts.lineTickEnable[i] = false;\n\n if('ticklen' in axes) {\n opts.lineTickLength[i] = opts._defaultLineTickLength[i] = axes.ticklen;\n }\n if('tickcolor' in axes) opts.lineTickColor[i] = str2RgbaArray(axes.tickcolor);\n if('tickwidth' in axes) opts.lineTickWidth[i] = axes.tickwidth;\n if('tickangle' in axes) {\n opts.tickAngle[i] = (axes.tickangle === 'auto') ?\n -3600 : // i.e. special number to set auto option\n Math.PI * -axes.tickangle / 180;\n }\n\n // tick labels\n if('showticklabels' in axes) opts.tickEnable[i] = axes.showticklabels;\n if('tickfont' in axes) {\n if(axes.tickfont.color) opts.tickColor[i] = str2RgbaArray(axes.tickfont.color);\n if(axes.tickfont.family) opts.tickFont[i] = axes.tickfont.family;\n if(axes.tickfont.size) opts.tickSize[i] = axes.tickfont.size;\n }\n\n if('mirror' in axes) {\n if(['ticks', 'all', 'allticks'].indexOf(axes.mirror) !== -1) {\n opts.lineTickMirror[i] = true;\n opts.lineMirror[i] = true;\n } else if(axes.mirror === true) {\n opts.lineTickMirror[i] = false;\n opts.lineMirror[i] = true;\n } else {\n opts.lineTickMirror[i] = false;\n opts.lineMirror[i] = false;\n }\n } else opts.lineMirror[i] = false;\n\n // grid background\n if('showbackground' in axes && axes.showbackground !== false) {\n opts.backgroundEnable[i] = true;\n opts.backgroundColor[i] = str2RgbaArray(axes.backgroundcolor);\n } else opts.backgroundEnable[i] = false;\n }\n};\n\n\nfunction createAxesOptions(fullLayout, sceneLayout) {\n var result = new AxesOptions();\n result.merge(fullLayout, sceneLayout);\n return result;\n}\n\nmodule.exports = createAxesOptions;\n\n\n/***/ }),\n\n/***/ \"7797\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n \"use restrict\";\n\nmodule.exports = UnionFind;\n\nfunction UnionFind(count) {\n this.roots = new Array(count);\n this.ranks = new Array(count);\n \n for(var i=0; i ]/) ? '_keybuster_' + Math.random() : '';\n return {\n // keyWithinBlock: /*fromTo[0] + */i, // optimized future version - no busting\n // keyWithinBlock: fromTo[0] + i, // initial always-unoptimized version - janky scrolling with 5+ columns\n keyWithinBlock: i + buster, // current compromise: regular content is very fast; async content is possible\n key: fromTo[0] + i,\n column: d,\n calcdata: d.calcdata,\n page: d.page,\n rowBlocks: d.rowBlocks,\n value: v\n };\n });\n};\n\nfunction rowFromTo(d) {\n var rowBlock = d.rowBlocks[d.page];\n // fixme rowBlock truthiness check is due to ugly hack of placing 2nd panel as d.page = -1\n var rowFrom = rowBlock ? rowBlock.rows[0].rowIndex : 0;\n var rowTo = rowBlock ? rowFrom + rowBlock.rows.length : 0;\n return [rowFrom, rowTo];\n}\n\n\n/***/ }),\n\n/***/ \"7831\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(dtype) {\n switch (dtype) {\n case 'int8':\n return Int8Array\n case 'int16':\n return Int16Array\n case 'int32':\n return Int32Array\n case 'uint8':\n return Uint8Array\n case 'uint16':\n return Uint16Array\n case 'uint32':\n return Uint32Array\n case 'float32':\n return Float32Array\n case 'float64':\n return Float64Array\n case 'array':\n return Array\n case 'uint8_clamped':\n return Uint8ClampedArray\n }\n}\n\n\n/***/ }),\n\n/***/ \"7839\":\n/***/ (function(module, exports) {\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/***/ \"7899\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = affineHull\n\nvar orient = __webpack_require__(\"92ba\")\n\nfunction linearlyIndependent(points, d) {\n var nhull = new Array(d+1)\n for(var i=0; i 0;\n}\n\nmodule.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallback) {\n var fullLayout = gd._fullLayout;\n var onComplete;\n\n if(hasTransition(transitionOpts)) {\n if(makeOnCompleteCallback) {\n // If it was passed a callback to register completion, make a callback. If\n // this is created, then it must be executed on completion, otherwise the\n // pos-transition redraw will not execute:\n onComplete = makeOnCompleteCallback();\n }\n }\n\n Lib.makeTraceGroups(fullLayout._indicatorlayer, cdModule, 'trace').each(function(cd) {\n var cd0 = cd[0];\n var trace = cd0.trace;\n\n var plotGroup = d3.select(this);\n\n // Elements in trace\n var hasGauge = trace._hasGauge;\n var isAngular = trace._isAngular;\n var isBullet = trace._isBullet;\n\n // Domain size\n var domain = trace.domain;\n var size = {\n w: fullLayout._size.w * (domain.x[1] - domain.x[0]),\n h: fullLayout._size.h * (domain.y[1] - domain.y[0]),\n l: fullLayout._size.l + fullLayout._size.w * domain.x[0],\n r: fullLayout._size.r + fullLayout._size.w * (1 - domain.x[1]),\n t: fullLayout._size.t + fullLayout._size.h * (1 - domain.y[1]),\n b: fullLayout._size.b + fullLayout._size.h * (domain.y[0])\n };\n var centerX = size.l + size.w / 2;\n var centerY = size.t + size.h / 2;\n\n // Angular gauge size\n var radius = Math.min(size.w / 2, size.h); // fill domain\n var innerRadius = cn.innerRadius * radius;\n\n // Position numbers based on mode and set the scaling logic\n var numbersX, numbersY, numbersScaler;\n var numbersAlign = trace.align || 'center';\n\n numbersY = centerY;\n if(!hasGauge) {\n numbersX = size.l + position[numbersAlign] * size.w;\n numbersScaler = function(el) {\n return fitTextInsideBox(el, size.w, size.h);\n };\n } else {\n if(isAngular) {\n numbersX = centerX;\n numbersY = centerY + radius / 2;\n numbersScaler = function(el) {\n return fitTextInsideCircle(el, 0.9 * innerRadius);\n };\n }\n if(isBullet) {\n var padding = cn.bulletPadding;\n var p = (1 - cn.bulletNumberDomainSize) + padding;\n numbersX = size.l + (p + (1 - p) * position[numbersAlign]) * size.w;\n numbersScaler = function(el) {\n return fitTextInsideBox(el, (cn.bulletNumberDomainSize - padding) * size.w, size.h);\n };\n }\n }\n\n // Draw numbers\n drawNumbers(gd, plotGroup, cd, {\n numbersX: numbersX,\n numbersY: numbersY,\n numbersScaler: numbersScaler,\n transitionOpts: transitionOpts,\n onComplete: onComplete\n });\n\n // Reexpress our gauge background attributes for drawing\n var gaugeBg, gaugeOutline;\n if(hasGauge) {\n gaugeBg = {\n range: trace.gauge.axis.range,\n color: trace.gauge.bgcolor,\n line: {\n color: trace.gauge.bordercolor,\n width: 0\n },\n thickness: 1\n };\n\n gaugeOutline = {\n range: trace.gauge.axis.range,\n color: 'rgba(0, 0, 0, 0)',\n line: {\n color: trace.gauge.bordercolor,\n width: trace.gauge.borderwidth\n },\n thickness: 1\n };\n }\n\n // Prepare angular gauge layers\n var angularGauge = plotGroup.selectAll('g.angular').data(isAngular ? cd : []);\n angularGauge.exit().remove();\n var angularaxisLayer = plotGroup.selectAll('g.angularaxis').data(isAngular ? cd : []);\n angularaxisLayer.exit().remove();\n\n if(isAngular) {\n drawAngularGauge(gd, plotGroup, cd, {\n radius: radius,\n innerRadius: innerRadius,\n\n gauge: angularGauge,\n layer: angularaxisLayer,\n size: size,\n gaugeBg: gaugeBg,\n gaugeOutline: gaugeOutline,\n transitionOpts: transitionOpts,\n onComplete: onComplete\n });\n }\n\n // Prepare bullet layers\n var bulletGauge = plotGroup.selectAll('g.bullet').data(isBullet ? cd : []);\n bulletGauge.exit().remove();\n var bulletaxisLayer = plotGroup.selectAll('g.bulletaxis').data(isBullet ? cd : []);\n bulletaxisLayer.exit().remove();\n\n if(isBullet) {\n drawBulletGauge(gd, plotGroup, cd, {\n gauge: bulletGauge,\n layer: bulletaxisLayer,\n size: size,\n gaugeBg: gaugeBg,\n gaugeOutline: gaugeOutline,\n transitionOpts: transitionOpts,\n onComplete: onComplete\n });\n }\n\n // title\n var title = plotGroup.selectAll('text.title').data(cd);\n title.exit().remove();\n title.enter().append('text').classed('title', true);\n title\n .attr('text-anchor', function() {\n return isBullet ? anchor.right : anchor[trace.title.align];\n })\n .text(trace.title.text)\n .call(Drawing.font, trace.title.font)\n .call(svgTextUtils.convertToTspans, gd);\n\n // Position title\n title.attr('transform', function() {\n var titleX = size.l + size.w * position[trace.title.align];\n var titleY;\n var titlePadding = cn.titlePadding;\n var titlebBox = Drawing.bBox(title.node());\n if(hasGauge) {\n if(isAngular) {\n // position above axis ticks/labels\n if(trace.gauge.axis.visible) {\n var bBox = Drawing.bBox(angularaxisLayer.node());\n titleY = (bBox.top - titlePadding) - titlebBox.bottom;\n } else {\n titleY = size.t + size.h / 2 - radius / 2 - titlebBox.bottom - titlePadding;\n }\n }\n if(isBullet) {\n // position outside domain\n titleY = numbersY - (titlebBox.top + titlebBox.bottom) / 2;\n titleX = size.l - cn.bulletPadding * size.w; // Outside domain, on the left\n }\n } else {\n // position above numbers\n titleY = (trace._numbersTop - titlePadding) - titlebBox.bottom;\n }\n return strTranslate(titleX, titleY);\n });\n });\n};\n\nfunction drawBulletGauge(gd, plotGroup, cd, opts) {\n var trace = cd[0].trace;\n\n var bullet = opts.gauge;\n var axisLayer = opts.layer;\n var gaugeBg = opts.gaugeBg;\n var gaugeOutline = opts.gaugeOutline;\n var size = opts.size;\n var domain = trace.domain;\n\n var transitionOpts = opts.transitionOpts;\n var onComplete = opts.onComplete;\n\n // preparing axis\n var ax, vals, transFn, tickSign, shift;\n\n // Enter bullet, axis\n bullet.enter().append('g').classed('bullet', true);\n bullet.attr('transform', 'translate(' + size.l + ', ' + size.t + ')');\n\n axisLayer.enter().append('g')\n .classed('bulletaxis', true)\n .classed('crisp', true);\n axisLayer.selectAll('g.' + 'xbulletaxis' + 'tick,path,text').remove();\n\n // Draw bullet\n var bulletHeight = size.h; // use all vertical domain\n var innerBulletHeight = trace.gauge.bar.thickness * bulletHeight;\n var bulletLeft = domain.x[0];\n var bulletRight = domain.x[0] + (domain.x[1] - domain.x[0]) * ((trace._hasNumber || trace._hasDelta) ? (1 - cn.bulletNumberDomainSize) : 1);\n\n ax = mockAxis(gd, trace.gauge.axis);\n ax._id = 'xbulletaxis';\n ax.domain = [bulletLeft, bulletRight];\n ax.setScale();\n\n vals = Axes.calcTicks(ax);\n transFn = Axes.makeTransFn(ax);\n tickSign = Axes.getTickSigns(ax)[2];\n\n shift = size.t + size.h;\n if(ax.visible) {\n Axes.drawTicks(gd, ax, {\n vals: ax.ticks === 'inside' ? Axes.clipEnds(ax, vals) : vals,\n layer: axisLayer,\n path: Axes.makeTickPath(ax, shift, tickSign),\n transFn: transFn\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: axisLayer,\n transFn: transFn,\n labelFns: Axes.makeLabelFns(ax, shift)\n });\n }\n\n function drawRect(s) {\n s\n .attr('width', function(d) { return Math.max(0, ax.c2p(d.range[1]) - ax.c2p(d.range[0]));})\n .attr('x', function(d) { return ax.c2p(d.range[0]);})\n .attr('y', function(d) { return 0.5 * (1 - d.thickness) * bulletHeight;})\n .attr('height', function(d) { return d.thickness * bulletHeight; });\n }\n\n // Draw bullet background, steps\n var boxes = [gaugeBg].concat(trace.gauge.steps);\n var bgBullet = bullet.selectAll('g.bg-bullet').data(boxes);\n bgBullet.enter().append('g').classed('bg-bullet', true).append('rect');\n bgBullet.select('rect')\n .call(drawRect)\n .call(styleShape);\n bgBullet.exit().remove();\n\n // Draw value bar with transitions\n var fgBullet = bullet.selectAll('g.value-bullet').data([trace.gauge.bar]);\n fgBullet.enter().append('g').classed('value-bullet', true).append('rect');\n fgBullet.select('rect')\n .attr('height', innerBulletHeight)\n .attr('y', (bulletHeight - innerBulletHeight) / 2)\n .call(styleShape);\n if(hasTransition(transitionOpts)) {\n fgBullet.select('rect')\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .each('end', function() { onComplete && onComplete(); })\n .each('interrupt', function() { onComplete && onComplete(); })\n .attr('width', Math.max(0, ax.c2p(Math.min(trace.gauge.axis.range[1], cd[0].y))));\n } else {\n fgBullet.select('rect')\n .attr('width', typeof cd[0].y === 'number' ?\n Math.max(0, ax.c2p(Math.min(trace.gauge.axis.range[1], cd[0].y))) :\n 0);\n }\n fgBullet.exit().remove();\n\n var data = cd.filter(function() {return trace.gauge.threshold.value;});\n var threshold = bullet.selectAll('g.threshold-bullet').data(data);\n threshold.enter().append('g').classed('threshold-bullet', true).append('line');\n threshold.select('line')\n .attr('x1', ax.c2p(trace.gauge.threshold.value))\n .attr('x2', ax.c2p(trace.gauge.threshold.value))\n .attr('y1', (1 - trace.gauge.threshold.thickness) / 2 * bulletHeight)\n .attr('y2', (1 - (1 - trace.gauge.threshold.thickness) / 2) * bulletHeight)\n .call(Color.stroke, trace.gauge.threshold.line.color)\n .style('stroke-width', trace.gauge.threshold.line.width);\n threshold.exit().remove();\n\n var bulletOutline = bullet.selectAll('g.gauge-outline').data([gaugeOutline]);\n bulletOutline.enter().append('g').classed('gauge-outline', true).append('rect');\n bulletOutline.select('rect')\n .call(drawRect)\n .call(styleShape);\n bulletOutline.exit().remove();\n}\n\nfunction drawAngularGauge(gd, plotGroup, cd, opts) {\n var trace = cd[0].trace;\n\n var size = opts.size;\n var radius = opts.radius;\n var innerRadius = opts.innerRadius;\n var gaugeBg = opts.gaugeBg;\n var gaugeOutline = opts.gaugeOutline;\n var gaugePosition = [size.l + size.w / 2, size.t + size.h / 2 + radius / 2];\n var gauge = opts.gauge;\n var axisLayer = opts.layer;\n\n var transitionOpts = opts.transitionOpts;\n var onComplete = opts.onComplete;\n\n // circular gauge\n var theta = Math.PI / 2;\n function valueToAngle(v) {\n var min = trace.gauge.axis.range[0];\n var max = trace.gauge.axis.range[1];\n var angle = (v - min) / (max - min) * Math.PI - theta;\n if(angle < -theta) return -theta;\n if(angle > theta) return theta;\n return angle;\n }\n\n function arcPathGenerator(size) {\n return d3.svg.arc()\n .innerRadius((innerRadius + radius) / 2 - size / 2 * (radius - innerRadius))\n .outerRadius((innerRadius + radius) / 2 + size / 2 * (radius - innerRadius))\n .startAngle(-theta);\n }\n\n function drawArc(p) {\n p\n .attr('d', function(d) {\n return arcPathGenerator(d.thickness)\n .startAngle(valueToAngle(d.range[0]))\n .endAngle(valueToAngle(d.range[1]))();\n });\n }\n\n // preparing axis\n var ax, vals, transFn, tickSign;\n\n // Enter gauge and axis\n gauge.enter().append('g').classed('angular', true);\n gauge.attr('transform', strTranslate(gaugePosition[0], gaugePosition[1]));\n\n axisLayer.enter().append('g')\n .classed('angularaxis', true)\n .classed('crisp', true);\n axisLayer.selectAll('g.' + 'xangularaxis' + 'tick,path,text').remove();\n\n ax = mockAxis(gd, trace.gauge.axis);\n ax.type = 'linear';\n ax.range = trace.gauge.axis.range;\n ax._id = 'xangularaxis'; // or 'y', but I don't think this makes a difference here\n ax.setScale();\n\n // 't'ick to 'g'eometric radians is used all over the place here\n var t2g = function(d) {\n return (ax.range[0] - d.x) / (ax.range[1] - ax.range[0]) * Math.PI + Math.PI;\n };\n\n var labelFns = {};\n var out = Axes.makeLabelFns(ax, 0);\n var labelStandoff = out.labelStandoff;\n labelFns.xFn = function(d) {\n var rad = t2g(d);\n return Math.cos(rad) * labelStandoff;\n };\n labelFns.yFn = function(d) {\n var rad = t2g(d);\n var ff = Math.sin(rad) > 0 ? 0.2 : 1;\n return -Math.sin(rad) * (labelStandoff + d.fontSize * ff) +\n Math.abs(Math.cos(rad)) * (d.fontSize * MID_SHIFT);\n };\n labelFns.anchorFn = function(d) {\n var rad = t2g(d);\n var cos = Math.cos(rad);\n return Math.abs(cos) < 0.1 ?\n 'middle' :\n (cos > 0 ? 'start' : 'end');\n };\n labelFns.heightFn = function(d, a, h) {\n var rad = t2g(d);\n return -0.5 * (1 + Math.sin(rad)) * h;\n };\n var _transFn = function(rad) {\n return strTranslate(\n gaugePosition[0] + radius * Math.cos(rad),\n gaugePosition[1] - radius * Math.sin(rad)\n );\n };\n transFn = function(d) {\n return _transFn(t2g(d));\n };\n var transFn2 = function(d) {\n var rad = t2g(d);\n return _transFn(rad) + 'rotate(' + -rad2deg(rad) + ')';\n };\n vals = Axes.calcTicks(ax);\n tickSign = Axes.getTickSigns(ax)[2];\n if(ax.visible) {\n tickSign = ax.ticks === 'inside' ? -1 : 1;\n var pad = (ax.linewidth || 1) / 2;\n Axes.drawTicks(gd, ax, {\n vals: vals,\n layer: axisLayer,\n path: 'M' + (tickSign * pad) + ',0h' + (tickSign * ax.ticklen),\n transFn: transFn2\n });\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: axisLayer,\n transFn: transFn,\n labelFns: labelFns\n });\n }\n\n // Draw background + steps\n var arcs = [gaugeBg].concat(trace.gauge.steps);\n var bgArc = gauge.selectAll('g.bg-arc').data(arcs);\n bgArc.enter().append('g').classed('bg-arc', true).append('path');\n bgArc.select('path').call(drawArc).call(styleShape);\n bgArc.exit().remove();\n\n // Draw foreground with transition\n var valueArcPathGenerator = arcPathGenerator(trace.gauge.bar.thickness);\n var valueArc = gauge.selectAll('g.value-arc').data([trace.gauge.bar]);\n valueArc.enter().append('g').classed('value-arc', true).append('path');\n var valueArcPath = valueArc.select('path');\n if(hasTransition(transitionOpts)) {\n valueArcPath\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .each('end', function() { onComplete && onComplete(); })\n .each('interrupt', function() { onComplete && onComplete(); })\n .attrTween('d', arcTween(valueArcPathGenerator, valueToAngle(cd[0].lastY), valueToAngle(cd[0].y)));\n trace._lastValue = cd[0].y;\n } else {\n valueArcPath.attr('d', typeof cd[0].y === 'number' ?\n valueArcPathGenerator.endAngle(valueToAngle(cd[0].y)) :\n 'M0,0Z');\n }\n valueArcPath.call(styleShape);\n valueArc.exit().remove();\n\n // Draw threshold\n arcs = [];\n var v = trace.gauge.threshold.value;\n if(v) {\n arcs.push({\n range: [v, v],\n color: trace.gauge.threshold.color,\n line: {\n color: trace.gauge.threshold.line.color,\n width: trace.gauge.threshold.line.width\n },\n thickness: trace.gauge.threshold.thickness\n });\n }\n var thresholdArc = gauge.selectAll('g.threshold-arc').data(arcs);\n thresholdArc.enter().append('g').classed('threshold-arc', true).append('path');\n thresholdArc.select('path').call(drawArc).call(styleShape);\n thresholdArc.exit().remove();\n\n // Draw border last\n var gaugeBorder = gauge.selectAll('g.gauge-outline').data([gaugeOutline]);\n gaugeBorder.enter().append('g').classed('gauge-outline', true).append('path');\n gaugeBorder.select('path').call(drawArc).call(styleShape);\n gaugeBorder.exit().remove();\n}\n\nfunction drawNumbers(gd, plotGroup, cd, opts) {\n var trace = cd[0].trace;\n\n var numbersX = opts.numbersX;\n var numbersY = opts.numbersY;\n var numbersAlign = trace.align || 'center';\n var numbersAnchor = anchor[numbersAlign];\n\n var transitionOpts = opts.transitionOpts;\n var onComplete = opts.onComplete;\n\n var numbers = Lib.ensureSingle(plotGroup, 'g', 'numbers');\n var bignumberbBox, deltabBox;\n var numbersbBox;\n\n var data = [];\n if(trace._hasNumber) data.push('number');\n if(trace._hasDelta) {\n data.push('delta');\n if(trace.delta.position === 'left') data.reverse();\n }\n var sel = numbers.selectAll('text').data(data);\n sel.enter().append('text');\n sel\n .attr('text-anchor', function() {return numbersAnchor;})\n .attr('class', function(d) { return d;})\n .attr('x', null)\n .attr('y', null)\n .attr('dx', null)\n .attr('dy', null);\n sel.exit().remove();\n\n // Function to override the number formatting used during transitions\n function transitionFormat(valueformat, fmt, from, to) {\n // For now, do not display SI prefix if start and end value do not have any\n if(valueformat.match('s') && // If using SI prefix\n (from >= 0 !== to >= 0) && // If sign change\n (!fmt(from).slice(-1).match(SI_PREFIX) && !fmt(to).slice(-1).match(SI_PREFIX)) // Has no SI prefix\n ) {\n var transitionValueFormat = valueformat.slice().replace('s', 'f').replace(/\\d+/, function(m) { return parseInt(m) - 1;});\n var transitionAx = mockAxis(gd, {tickformat: transitionValueFormat});\n return function(v) {\n // Switch to fixed precision if number is smaller than one\n if(Math.abs(v) < 1) return Axes.tickText(transitionAx, v).text;\n return fmt(v);\n };\n } else {\n return fmt;\n }\n }\n\n function drawBignumber() {\n var bignumberAx = mockAxis(gd, {tickformat: trace.number.valueformat}, trace._range);\n bignumberAx.setScale();\n Axes.prepTicks(bignumberAx);\n\n var fmt = function(v) { return Axes.tickText(bignumberAx, v).text;};\n var bignumberSuffix = trace.number.suffix;\n var bignumberPrefix = trace.number.prefix;\n\n var number = numbers.select('text.number');\n\n function writeNumber() {\n var txt = typeof cd[0].y === 'number' ?\n bignumberPrefix + fmt(cd[0].y) + bignumberSuffix :\n '-';\n number.text(txt)\n .call(Drawing.font, trace.number.font)\n .call(svgTextUtils.convertToTspans, gd);\n }\n\n if(hasTransition(transitionOpts)) {\n number\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .each('end', function() { writeNumber(); onComplete && onComplete(); })\n .each('interrupt', function() { writeNumber(); onComplete && onComplete(); })\n .attrTween('text', function() {\n var that = d3.select(this);\n var interpolator = d3.interpolateNumber(cd[0].lastY, cd[0].y);\n trace._lastValue = cd[0].y;\n\n var transitionFmt = transitionFormat(trace.number.valueformat, fmt, cd[0].lastY, cd[0].y);\n return function(t) {\n that.text(bignumberPrefix + transitionFmt(interpolator(t)) + bignumberSuffix);\n };\n });\n } else {\n writeNumber();\n }\n\n bignumberbBox = measureText(bignumberPrefix + fmt(cd[0].y) + bignumberSuffix, trace.number.font, numbersAnchor, gd);\n return number;\n }\n\n function drawDelta() {\n var deltaAx = mockAxis(gd, {tickformat: trace.delta.valueformat}, trace._range);\n deltaAx.setScale();\n Axes.prepTicks(deltaAx);\n\n var deltaFmt = function(v) { return Axes.tickText(deltaAx, v).text;};\n var deltaValue = function(d) {\n var value = trace.delta.relative ? d.relativeDelta : d.delta;\n return value;\n };\n var deltaFormatText = function(value, numberFmt) {\n if(value === 0 || typeof value !== 'number' || isNaN(value)) return '-';\n return (value > 0 ? trace.delta.increasing.symbol : trace.delta.decreasing.symbol) + numberFmt(value);\n };\n var deltaFill = function(d) {\n return d.delta >= 0 ? trace.delta.increasing.color : trace.delta.decreasing.color;\n };\n if(trace._deltaLastValue === undefined) {\n trace._deltaLastValue = deltaValue(cd[0]);\n }\n var delta = numbers.select('text.delta');\n delta\n .call(Drawing.font, trace.delta.font)\n .call(Color.fill, deltaFill({delta: trace._deltaLastValue}));\n\n function writeDelta() {\n delta.text(deltaFormatText(deltaValue(cd[0]), deltaFmt))\n .call(Color.fill, deltaFill(cd[0]))\n .call(svgTextUtils.convertToTspans, gd);\n }\n\n if(hasTransition(transitionOpts)) {\n delta\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .tween('text', function() {\n var that = d3.select(this);\n var to = deltaValue(cd[0]);\n var from = trace._deltaLastValue;\n var transitionFmt = transitionFormat(trace.delta.valueformat, deltaFmt, from, to);\n var interpolator = d3.interpolateNumber(from, to);\n trace._deltaLastValue = to;\n return function(t) {\n that.text(deltaFormatText(interpolator(t), transitionFmt));\n that.call(Color.fill, deltaFill({delta: interpolator(t)}));\n };\n })\n .each('end', function() { writeDelta(); onComplete && onComplete(); })\n .each('interrupt', function() { writeDelta(); onComplete && onComplete(); });\n } else {\n writeDelta();\n }\n\n deltabBox = measureText(deltaFormatText(deltaValue(cd[0]), deltaFmt), trace.delta.font, numbersAnchor, gd);\n return delta;\n }\n\n var key = trace.mode + trace.align;\n var delta;\n if(trace._hasDelta) {\n delta = drawDelta();\n key += trace.delta.position + trace.delta.font.size + trace.delta.font.family + trace.delta.valueformat;\n key += trace.delta.increasing.symbol + trace.delta.decreasing.symbol;\n numbersbBox = deltabBox;\n }\n if(trace._hasNumber) {\n drawBignumber();\n key += trace.number.font.size + trace.number.font.family + trace.number.valueformat + trace.number.suffix + trace.number.prefix;\n numbersbBox = bignumberbBox;\n }\n\n // Position delta relative to bignumber\n if(trace._hasDelta && trace._hasNumber) {\n var bignumberCenter = [\n (bignumberbBox.left + bignumberbBox.right) / 2,\n (bignumberbBox.top + bignumberbBox.bottom) / 2\n ];\n var deltaCenter = [\n (deltabBox.left + deltabBox.right) / 2,\n (deltabBox.top + deltabBox.bottom) / 2\n ];\n\n var dx, dy;\n var padding = 0.75 * trace.delta.font.size;\n if(trace.delta.position === 'left') {\n dx = cache(trace, 'deltaPos', 0, -1 * (bignumberbBox.width * (position[trace.align]) + deltabBox.width * (1 - position[trace.align]) + padding), key, Math.min);\n dy = bignumberCenter[1] - deltaCenter[1];\n\n numbersbBox = {\n width: bignumberbBox.width + deltabBox.width + padding,\n height: Math.max(bignumberbBox.height, deltabBox.height),\n left: deltabBox.left + dx,\n right: bignumberbBox.right,\n top: Math.min(bignumberbBox.top, deltabBox.top + dy),\n bottom: Math.max(bignumberbBox.bottom, deltabBox.bottom + dy)\n };\n }\n if(trace.delta.position === 'right') {\n dx = cache(trace, 'deltaPos', 0, bignumberbBox.width * (1 - position[trace.align]) + deltabBox.width * position[trace.align] + padding, key, Math.max);\n dy = bignumberCenter[1] - deltaCenter[1];\n\n numbersbBox = {\n width: bignumberbBox.width + deltabBox.width + padding,\n height: Math.max(bignumberbBox.height, deltabBox.height),\n left: bignumberbBox.left,\n right: deltabBox.right + dx,\n top: Math.min(bignumberbBox.top, deltabBox.top + dy),\n bottom: Math.max(bignumberbBox.bottom, deltabBox.bottom + dy)\n };\n }\n if(trace.delta.position === 'bottom') {\n dx = null;\n dy = deltabBox.height;\n\n numbersbBox = {\n width: Math.max(bignumberbBox.width, deltabBox.width),\n height: bignumberbBox.height + deltabBox.height,\n left: Math.min(bignumberbBox.left, deltabBox.left),\n right: Math.max(bignumberbBox.right, deltabBox.right),\n top: bignumberbBox.bottom - bignumberbBox.height,\n bottom: bignumberbBox.bottom + deltabBox.height\n };\n }\n if(trace.delta.position === 'top') {\n dx = null;\n dy = bignumberbBox.top;\n\n numbersbBox = {\n width: Math.max(bignumberbBox.width, deltabBox.width),\n height: bignumberbBox.height + deltabBox.height,\n left: Math.min(bignumberbBox.left, deltabBox.left),\n right: Math.max(bignumberbBox.right, deltabBox.right),\n top: bignumberbBox.bottom - bignumberbBox.height - deltabBox.height,\n bottom: bignumberbBox.bottom\n };\n }\n\n delta.attr({dx: dx, dy: dy});\n }\n\n // Resize numbers to fit within space and position\n if(trace._hasNumber || trace._hasDelta) {\n numbers.attr('transform', function() {\n var m = opts.numbersScaler(numbersbBox);\n key += m[2];\n var scaleRatio = cache(trace, 'numbersScale', 1, m[0], key, Math.min);\n var translateY;\n if(!trace._scaleNumbers) scaleRatio = 1;\n if(trace._isAngular) {\n // align vertically to bottom\n translateY = numbersY - scaleRatio * numbersbBox.bottom;\n } else {\n // align vertically to center\n translateY = numbersY - scaleRatio * (numbersbBox.top + numbersbBox.bottom) / 2;\n }\n\n // Stash the top position of numbersbBox for title positioning\n trace._numbersTop = scaleRatio * (numbersbBox.top) + translateY;\n\n var ref = numbersbBox[numbersAlign];\n if(numbersAlign === 'center') ref = (numbersbBox.left + numbersbBox.right) / 2;\n var translateX = numbersX - scaleRatio * ref;\n\n // Stash translateX\n translateX = cache(trace, 'numbersTranslate', 0, translateX, key, Math.max);\n return strTranslate(translateX, translateY) + ' scale(' + scaleRatio + ')';\n });\n }\n}\n\n// Apply fill, stroke, stroke-width to SVG shape\nfunction styleShape(p) {\n p\n .each(function(d) { Color.stroke(d3.select(this), d.line.color);})\n .each(function(d) { Color.fill(d3.select(this), d.color);})\n .style('stroke-width', function(d) { return d.line.width;});\n}\n\n// Returns a tween for a transitionโ€™s \"d\" attribute, transitioning any selected\n// arcs from their current angle to the specified new angle.\nfunction arcTween(arc, endAngle, newAngle) {\n return function() {\n var interpolate = d3.interpolate(endAngle, newAngle);\n return function(t) {\n return arc.endAngle(interpolate(t))();\n };\n };\n}\n\n// mocks our axis\nfunction mockAxis(gd, opts, zrange) {\n var fullLayout = gd._fullLayout;\n\n var axisIn = Lib.extendFlat({\n type: 'linear',\n ticks: 'outside',\n range: zrange,\n showline: true\n }, opts);\n\n var axisOut = {\n type: 'linear',\n _id: 'x' + opts._id\n };\n\n var axisOptions = {\n letter: 'x',\n font: fullLayout.font,\n noHover: true,\n noTickson: true\n };\n\n function coerce(attr, dflt) {\n return Lib.coerce(axisIn, axisOut, axisLayoutAttrs, attr, dflt);\n }\n\n handleAxisDefaults(axisIn, axisOut, coerce, axisOptions, fullLayout);\n handleAxisPositionDefaults(axisIn, axisOut, coerce, axisOptions);\n\n return axisOut;\n}\n\nfunction strTranslate(x, y) {\n return 'translate(' + x + ',' + y + ')';\n}\n\nfunction fitTextInsideBox(textBB, width, height) {\n // compute scaling ratio to have text fit within specified width and height\n var ratio = Math.min(width / textBB.width, height / textBB.height);\n return [ratio, textBB, width + 'x' + height];\n}\n\nfunction fitTextInsideCircle(textBB, radius) {\n // compute scaling ratio to have text fit within specified radius\n var elRadius = Math.sqrt((textBB.width / 2) * (textBB.width / 2) + textBB.height * textBB.height);\n var ratio = radius / elRadius;\n return [ratio, textBB, radius];\n}\n\nfunction measureText(txt, font, textAnchor, gd) {\n var element = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n var sel = d3.select(element);\n sel.text(txt)\n .attr('x', 0)\n .attr('y', 0)\n .attr('text-anchor', textAnchor)\n .attr('data-unformatted', txt)\n .call(svgTextUtils.convertToTspans, gd)\n .call(Drawing.font, font);\n return Drawing.bBox(sel.node());\n}\n\nfunction cache(trace, name, initialValue, value, key, fn) {\n var objName = '_cache' + name;\n if(!(trace[objName] && trace[objName].key === key)) {\n trace[objName] = {key: key, value: initialValue};\n }\n var v = Lib.aggNums(fn, null, [trace[objName].value, value], 2);\n trace[objName].value = v;\n\n return v;\n}\n\n\n/***/ }),\n\n/***/ \"792f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar scatterPolarAttrs = __webpack_require__(\"8a6e\");\nvar barAttrs = __webpack_require__(\"fb5a\");\n\nmodule.exports = {\n r: scatterPolarAttrs.r,\n theta: scatterPolarAttrs.theta,\n r0: scatterPolarAttrs.r0,\n dr: scatterPolarAttrs.dr,\n theta0: scatterPolarAttrs.theta0,\n dtheta: scatterPolarAttrs.dtheta,\n thetaunit: scatterPolarAttrs.thetaunit,\n\n // orientation: {\n // valType: 'enumerated',\n // \n // values: ['radial', 'angular'],\n // editType: 'calc+clearAxisTypes',\n // \n // },\n\n base: extendFlat({}, barAttrs.base, {\n \n }),\n offset: extendFlat({}, barAttrs.offset, {\n \n }),\n width: extendFlat({}, barAttrs.width, {\n \n }),\n\n text: extendFlat({}, barAttrs.text, {\n \n }),\n hovertext: extendFlat({}, barAttrs.hovertext, {\n \n }),\n\n // textposition: {},\n // textfont: {},\n // insidetextfont: {},\n // outsidetextfont: {},\n // constraintext: {},\n // cliponaxis: extendFlat({}, barAttrs.cliponaxis, {dflt: false}),\n\n marker: barAttrs.marker,\n\n hoverinfo: scatterPolarAttrs.hoverinfo,\n hovertemplate: hovertemplateAttrs(),\n\n selected: barAttrs.selected,\n unselected: barAttrs.unselected\n\n // error_x (error_r, error_theta)\n // error_y\n};\n\n\n/***/ }),\n\n/***/ \"794e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"e4eb\")\n\nmodule.exports = createSpikes\n\nvar identity = [1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\nfunction AxisSpikes(gl, buffer, vao, shader) {\n this.gl = gl\n this.buffer = buffer\n this.vao = vao\n this.shader = shader\n this.pixelRatio = 1\n this.bounds = [[-1000,-1000,-1000], [1000,1000,1000]]\n this.position = [0,0,0]\n this.lineWidth = [2,2,2]\n this.colors = [[0,0,0,1], [0,0,0,1], [0,0,0,1]]\n this.enabled = [true,true,true]\n this.drawSides = [true,true,true]\n this.axes = null\n}\n\nvar proto = AxisSpikes.prototype\n\nvar OUTER_FACE = [0,0,0]\nvar INNER_FACE = [0,0,0]\n\nvar SHAPE = [0,0]\n\nproto.isTransparent = function() {\n return false\n}\n\nproto.drawTransparent = function(camera) {}\n\nproto.draw = function(camera) {\n var gl = this.gl\n var vao = this.vao\n var shader = this.shader\n\n vao.bind()\n shader.bind()\n\n var model = camera.model || identity\n var view = camera.view || identity\n var projection = camera.projection || identity\n\n var axis\n if(this.axes) {\n axis = this.axes.lastCubeProps.axis\n }\n\n var outerFace = OUTER_FACE\n var innerFace = INNER_FACE\n for(var i=0; i<3; ++i) {\n if(axis && axis[i] < 0) {\n outerFace[i] = this.bounds[0][i]\n innerFace[i] = this.bounds[1][i]\n } else {\n outerFace[i] = this.bounds[1][i]\n innerFace[i] = this.bounds[0][i]\n }\n }\n\n SHAPE[0] = gl.drawingBufferWidth\n SHAPE[1] = gl.drawingBufferHeight\n\n shader.uniforms.model = model\n shader.uniforms.view = view\n shader.uniforms.projection = projection\n shader.uniforms.coordinates = [this.position, outerFace, innerFace]\n shader.uniforms.colors = this.colors\n shader.uniforms.screenShape = SHAPE\n\n for(var i=0; i<3; ++i) {\n shader.uniforms.lineWidth = this.lineWidth[i] * this.pixelRatio\n if(this.enabled[i]) {\n vao.draw(gl.TRIANGLES, 6, 6*i)\n if(this.drawSides[i]) {\n vao.draw(gl.TRIANGLES, 12, 18+12*i)\n }\n }\n }\n\n vao.unbind()\n}\n\nproto.update = function(options) {\n if(!options) {\n return\n }\n if(\"bounds\" in options) {\n this.bounds = options.bounds\n }\n if(\"position\" in options) {\n this.position = options.position\n }\n if(\"lineWidth\" in options) {\n this.lineWidth = options.lineWidth\n }\n if(\"colors\" in options) {\n this.colors = options.colors\n }\n if(\"enabled\" in options) {\n this.enabled = options.enabled\n }\n if(\"drawSides\" in options) {\n this.drawSides = options.drawSides\n }\n}\n\nproto.dispose = function() {\n this.vao.dispose()\n this.buffer.dispose()\n this.shader.dispose()\n}\n\n\n\nfunction createSpikes(gl, options) {\n //Create buffers\n var data = [ ]\n\n function line(x,y,z,i,l,h) {\n var row = [x,y,z, 0,0,0, 1]\n row[i+3] = 1\n row[i] = l\n data.push.apply(data, row)\n row[6] = -1\n data.push.apply(data, row)\n row[i] = h\n data.push.apply(data, row)\n data.push.apply(data, row)\n row[6] = 1\n data.push.apply(data, row)\n row[i] = l\n data.push.apply(data, row)\n }\n\n line(0,0,0, 0, 0, 1)\n line(0,0,0, 1, 0, 1)\n line(0,0,0, 2, 0, 1)\n\n line(1,0,0, 1, -1,1)\n line(1,0,0, 2, -1,1)\n\n line(0,1,0, 0, -1,1)\n line(0,1,0, 2, -1,1)\n\n line(0,0,1, 0, -1,1)\n line(0,0,1, 1, -1,1)\n\n var buffer = createBuffer(gl, data)\n var vao = createVAO(gl, [{\n type: gl.FLOAT,\n buffer: buffer,\n size: 3,\n offset: 0,\n stride: 28\n }, {\n type: gl.FLOAT,\n buffer: buffer,\n size: 3,\n offset: 12,\n stride: 28\n }, {\n type: gl.FLOAT,\n buffer: buffer,\n size: 1,\n offset: 24,\n stride: 28\n }])\n\n //Create shader\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.color.location = 1\n shader.attributes.weight.location = 2\n\n //Create spike object\n var spikes = new AxisSpikes(gl, buffer, vao, shader)\n\n //Set parameters\n spikes.update(options)\n\n //Return resulting object\n return spikes\n}\n\n\n/***/ }),\n\n/***/ \"7974\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar counterRegex = __webpack_require__(\"055a\").counter;\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar cartesianIdRegex = __webpack_require__(\"d301\").idRegex;\nvar Template = __webpack_require__(\"a651\");\n\nvar gridAttrs = {\n rows: {\n valType: 'integer',\n min: 1,\n \n editType: 'plot',\n \n },\n roworder: {\n valType: 'enumerated',\n values: ['top to bottom', 'bottom to top'],\n dflt: 'top to bottom',\n \n editType: 'plot',\n \n },\n columns: {\n valType: 'integer',\n min: 1,\n \n editType: 'plot',\n \n },\n subplots: {\n valType: 'info_array',\n freeLength: true,\n dimensions: 2,\n items: {valType: 'enumerated', values: [counterRegex('xy').toString(), ''], editType: 'plot'},\n \n editType: 'plot',\n \n },\n xaxes: {\n valType: 'info_array',\n freeLength: true,\n items: {valType: 'enumerated', values: [cartesianIdRegex.x.toString(), ''], editType: 'plot'},\n \n editType: 'plot',\n \n },\n yaxes: {\n valType: 'info_array',\n freeLength: true,\n items: {valType: 'enumerated', values: [cartesianIdRegex.y.toString(), ''], editType: 'plot'},\n \n editType: 'plot',\n \n },\n pattern: {\n valType: 'enumerated',\n values: ['independent', 'coupled'],\n dflt: 'coupled',\n \n editType: 'plot',\n \n },\n xgap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'plot',\n \n },\n ygap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'plot',\n \n },\n domain: domainAttrs({name: 'grid', editType: 'plot', noGridCell: true}, {\n \n }),\n xside: {\n valType: 'enumerated',\n values: ['bottom', 'bottom plot', 'top plot', 'top'],\n dflt: 'bottom plot',\n \n editType: 'plot',\n \n },\n yside: {\n valType: 'enumerated',\n values: ['left', 'left plot', 'right plot', 'right'],\n dflt: 'left plot',\n \n editType: 'plot',\n \n },\n editType: 'plot'\n};\n\nfunction getAxes(layout, grid, axLetter) {\n var gridVal = grid[axLetter + 'axes'];\n var splomVal = Object.keys((layout._splomAxes || {})[axLetter] || {});\n\n if(Array.isArray(gridVal)) return gridVal;\n if(splomVal.length) return splomVal;\n}\n\n// the shape of the grid - this needs to be done BEFORE supplyDataDefaults\n// so that non-subplot traces can place themselves in the grid\nfunction sizeDefaults(layoutIn, layoutOut) {\n var gridIn = layoutIn.grid || {};\n var xAxes = getAxes(layoutOut, gridIn, 'x');\n var yAxes = getAxes(layoutOut, gridIn, 'y');\n\n if(!layoutIn.grid && !xAxes && !yAxes) return;\n\n var hasSubplotGrid = Array.isArray(gridIn.subplots) && Array.isArray(gridIn.subplots[0]);\n var hasXaxes = Array.isArray(xAxes);\n var hasYaxes = Array.isArray(yAxes);\n var isSplomGenerated = (\n hasXaxes && xAxes !== gridIn.xaxes &&\n hasYaxes && yAxes !== gridIn.yaxes\n );\n\n var dfltRows, dfltColumns;\n\n if(hasSubplotGrid) {\n dfltRows = gridIn.subplots.length;\n dfltColumns = gridIn.subplots[0].length;\n } else {\n if(hasYaxes) dfltRows = yAxes.length;\n if(hasXaxes) dfltColumns = xAxes.length;\n }\n\n var gridOut = Template.newContainer(layoutOut, 'grid');\n\n function coerce(attr, dflt) {\n return Lib.coerce(gridIn, gridOut, gridAttrs, attr, dflt);\n }\n\n var rows = coerce('rows', dfltRows);\n var columns = coerce('columns', dfltColumns);\n\n if(!(rows * columns > 1)) {\n delete layoutOut.grid;\n return;\n }\n\n if(!hasSubplotGrid && !hasXaxes && !hasYaxes) {\n var useDefaultSubplots = coerce('pattern') === 'independent';\n if(useDefaultSubplots) hasSubplotGrid = true;\n }\n gridOut._hasSubplotGrid = hasSubplotGrid;\n\n var rowOrder = coerce('roworder');\n var reversed = rowOrder === 'top to bottom';\n\n var dfltGapX = hasSubplotGrid ? 0.2 : 0.1;\n var dfltGapY = hasSubplotGrid ? 0.3 : 0.1;\n\n var dfltSideX, dfltSideY;\n if(isSplomGenerated && layoutOut._splomGridDflt) {\n dfltSideX = layoutOut._splomGridDflt.xside;\n dfltSideY = layoutOut._splomGridDflt.yside;\n }\n\n gridOut._domains = {\n x: fillGridPositions('x', coerce, dfltGapX, dfltSideX, columns),\n y: fillGridPositions('y', coerce, dfltGapY, dfltSideY, rows, reversed)\n };\n}\n\n// coerce x or y sizing attributes and return an array of domains for this direction\nfunction fillGridPositions(axLetter, coerce, dfltGap, dfltSide, len, reversed) {\n var dirGap = coerce(axLetter + 'gap', dfltGap);\n var domain = coerce('domain.' + axLetter);\n coerce(axLetter + 'side', dfltSide);\n\n var out = new Array(len);\n var start = domain[0];\n var step = (domain[1] - start) / (len - dirGap);\n var cellDomain = step * (1 - dirGap);\n for(var i = 0; i < len; i++) {\n var cellStart = start + step * i;\n out[reversed ? (len - 1 - i) : i] = [cellStart, cellStart + cellDomain];\n }\n return out;\n}\n\n// the (cartesian) contents of the grid - this needs to happen AFTER supplyDataDefaults\n// so that we know what cartesian subplots are available\nfunction contentDefaults(layoutIn, layoutOut) {\n var gridOut = layoutOut.grid;\n // make sure we got to the end of handleGridSizing\n if(!gridOut || !gridOut._domains) return;\n\n var gridIn = layoutIn.grid || {};\n var subplots = layoutOut._subplots;\n var hasSubplotGrid = gridOut._hasSubplotGrid;\n var rows = gridOut.rows;\n var columns = gridOut.columns;\n var useDefaultSubplots = gridOut.pattern === 'independent';\n\n var i, j, xId, yId, subplotId, subplotsOut, yPos;\n\n var axisMap = gridOut._axisMap = {};\n\n if(hasSubplotGrid) {\n var subplotsIn = gridIn.subplots || [];\n subplotsOut = gridOut.subplots = new Array(rows);\n var index = 1;\n\n for(i = 0; i < rows; i++) {\n var rowOut = subplotsOut[i] = new Array(columns);\n var rowIn = subplotsIn[i] || [];\n for(j = 0; j < columns; j++) {\n if(useDefaultSubplots) {\n subplotId = (index === 1) ? 'xy' : ('x' + index + 'y' + index);\n index++;\n } else subplotId = rowIn[j];\n\n rowOut[j] = '';\n\n if(subplots.cartesian.indexOf(subplotId) !== -1) {\n yPos = subplotId.indexOf('y');\n xId = subplotId.slice(0, yPos);\n yId = subplotId.slice(yPos);\n if((axisMap[xId] !== undefined && axisMap[xId] !== j) ||\n (axisMap[yId] !== undefined && axisMap[yId] !== i)\n ) {\n continue;\n }\n\n rowOut[j] = subplotId;\n axisMap[xId] = j;\n axisMap[yId] = i;\n }\n }\n }\n } else {\n var xAxes = getAxes(layoutOut, gridIn, 'x');\n var yAxes = getAxes(layoutOut, gridIn, 'y');\n gridOut.xaxes = fillGridAxes(xAxes, subplots.xaxis, columns, axisMap, 'x');\n gridOut.yaxes = fillGridAxes(yAxes, subplots.yaxis, rows, axisMap, 'y');\n }\n\n var anchors = gridOut._anchors = {};\n var reversed = gridOut.roworder === 'top to bottom';\n\n for(var axisId in axisMap) {\n var axLetter = axisId.charAt(0);\n var side = gridOut[axLetter + 'side'];\n\n var i0, inc, iFinal;\n\n if(side.length < 8) {\n // grid edge - ie not \"* plot\" - make these as free axes\n // since we're not guaranteed to have a subplot there at all\n anchors[axisId] = 'free';\n } else if(axLetter === 'x') {\n if((side.charAt(0) === 't') === reversed) {\n i0 = 0;\n inc = 1;\n iFinal = rows;\n } else {\n i0 = rows - 1;\n inc = -1;\n iFinal = -1;\n }\n if(hasSubplotGrid) {\n var column = axisMap[axisId];\n for(i = i0; i !== iFinal; i += inc) {\n subplotId = subplotsOut[i][column];\n if(!subplotId) continue;\n yPos = subplotId.indexOf('y');\n if(subplotId.slice(0, yPos) === axisId) {\n anchors[axisId] = subplotId.slice(yPos);\n break;\n }\n }\n } else {\n for(i = i0; i !== iFinal; i += inc) {\n yId = gridOut.yaxes[i];\n if(subplots.cartesian.indexOf(axisId + yId) !== -1) {\n anchors[axisId] = yId;\n break;\n }\n }\n }\n } else {\n if((side.charAt(0) === 'l')) {\n i0 = 0;\n inc = 1;\n iFinal = columns;\n } else {\n i0 = columns - 1;\n inc = -1;\n iFinal = -1;\n }\n if(hasSubplotGrid) {\n var row = axisMap[axisId];\n for(i = i0; i !== iFinal; i += inc) {\n subplotId = subplotsOut[row][i];\n if(!subplotId) continue;\n yPos = subplotId.indexOf('y');\n if(subplotId.slice(yPos) === axisId) {\n anchors[axisId] = subplotId.slice(0, yPos);\n break;\n }\n }\n } else {\n for(i = i0; i !== iFinal; i += inc) {\n xId = gridOut.xaxes[i];\n if(subplots.cartesian.indexOf(xId + axisId) !== -1) {\n anchors[axisId] = xId;\n break;\n }\n }\n }\n }\n }\n}\n\nfunction fillGridAxes(axesIn, axesAllowed, len, axisMap, axLetter) {\n var out = new Array(len);\n var i;\n\n function fillOneAxis(i, axisId) {\n if(axesAllowed.indexOf(axisId) !== -1 && axisMap[axisId] === undefined) {\n out[i] = axisId;\n axisMap[axisId] = i;\n } else out[i] = '';\n }\n\n if(Array.isArray(axesIn)) {\n for(i = 0; i < len; i++) {\n fillOneAxis(i, axesIn[i]);\n }\n } else {\n // default axis list is the first `len` axis ids\n fillOneAxis(0, axLetter);\n for(i = 1; i < len; i++) {\n fillOneAxis(i, axLetter + (i + 1));\n }\n }\n\n return out;\n}\n\nmodule.exports = {\n moduleType: 'component',\n name: 'grid',\n\n schema: {\n layout: {grid: gridAttrs}\n },\n\n layoutAttributes: gridAttrs,\n sizeDefaults: sizeDefaults,\n contentDefaults: contentDefaults\n};\n\n\n/***/ }),\n\n/***/ \"7988\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar parcoords = __webpack_require__(\"baec\");\nvar prepareRegl = __webpack_require__(\"cf42\");\nvar isVisible = __webpack_require__(\"2ee6\").isVisible;\n\nfunction newIndex(visibleIndices, orig, dim) {\n var origIndex = orig.indexOf(dim);\n var currentIndex = visibleIndices.indexOf(origIndex);\n if(currentIndex === -1) {\n // invisible dimensions initially go to the end\n currentIndex += orig.length;\n }\n return currentIndex;\n}\n\nfunction sorter(visibleIndices, orig) {\n return function sorter(d1, d2) {\n return (\n newIndex(visibleIndices, orig, d1) -\n newIndex(visibleIndices, orig, d2)\n );\n };\n}\n\nmodule.exports = function plot(gd, cdModule) {\n var fullLayout = gd._fullLayout;\n\n var success = prepareRegl(gd);\n if(!success) return;\n\n var currentDims = {};\n var initialDims = {};\n var fullIndices = {};\n var inputIndices = {};\n\n var size = fullLayout._size;\n\n cdModule.forEach(function(d, i) {\n var trace = d[0].trace;\n fullIndices[i] = trace.index;\n var iIn = inputIndices[i] = trace._fullInput.index;\n currentDims[i] = gd.data[iIn].dimensions;\n initialDims[i] = gd.data[iIn].dimensions.slice();\n });\n\n var filterChanged = function(i, initialDimIndex, newRanges) {\n // Have updated `constraintrange` data on `gd.data` and raise `Plotly.restyle` event\n // without having to incur heavy UI blocking due to an actual `Plotly.restyle` call\n\n var dim = initialDims[i][initialDimIndex];\n var newConstraints = newRanges.map(function(r) { return r.slice(); });\n\n // Store constraint range in preGUI\n // This one doesn't work if it's stored in pieces in _storeDirectGUIEdit\n // because it's an array of variable dimensionality. So store the whole\n // thing at once manually.\n var aStr = 'dimensions[' + initialDimIndex + '].constraintrange';\n var preGUI = fullLayout._tracePreGUI[gd._fullData[fullIndices[i]]._fullInput.uid];\n if(preGUI[aStr] === undefined) {\n var initialVal = dim.constraintrange;\n preGUI[aStr] = initialVal || null;\n }\n\n var fullDimension = gd._fullData[fullIndices[i]].dimensions[initialDimIndex];\n\n if(!newConstraints.length) {\n delete dim.constraintrange;\n delete fullDimension.constraintrange;\n newConstraints = null;\n } else {\n if(newConstraints.length === 1) newConstraints = newConstraints[0];\n dim.constraintrange = newConstraints;\n fullDimension.constraintrange = newConstraints.slice();\n // wrap in another array for restyle event data\n newConstraints = [newConstraints];\n }\n\n var restyleData = {};\n restyleData[aStr] = newConstraints;\n gd.emit('plotly_restyle', [restyleData, [inputIndices[i]]]);\n };\n\n var hover = function(eventData) {\n gd.emit('plotly_hover', eventData);\n };\n\n var unhover = function(eventData) {\n gd.emit('plotly_unhover', eventData);\n };\n\n var axesMoved = function(i, visibleIndices) {\n // Have updated order data on `gd.data` and raise `Plotly.restyle` event\n // without having to incur heavy UI blocking due to an actual `Plotly.restyle` call\n\n // drag&drop sorting of the visible dimensions\n var orig = sorter(visibleIndices, initialDims[i].filter(isVisible));\n currentDims[i].sort(orig);\n\n // invisible dimensions are not interpreted in the context of drag&drop sorting as an invisible dimension\n // cannot be dragged; they're interspersed into their original positions by this subsequent merging step\n initialDims[i].filter(function(d) {return !isVisible(d);})\n .sort(function(d) {\n // subsequent splicing to be done left to right, otherwise indices may be incorrect\n return initialDims[i].indexOf(d);\n })\n .forEach(function(d) {\n currentDims[i].splice(currentDims[i].indexOf(d), 1); // remove from the end\n currentDims[i].splice(initialDims[i].indexOf(d), 0, d); // insert at original index\n });\n\n // TODO: we can't really store this part of the interaction state\n // directly as below, since it incudes data arrays. If we want to\n // persist column order we may have to do something special for this\n // case to just store the order itself.\n // Registry.call('_storeDirectGUIEdit',\n // gd.data[inputIndices[i]],\n // fullLayout._tracePreGUI[gd._fullData[fullIndices[i]]._fullInput.uid],\n // {dimensions: currentDims[i]}\n // );\n\n gd.emit('plotly_restyle', [{dimensions: [currentDims[i]]}, [inputIndices[i]]]);\n };\n\n parcoords(\n gd,\n cdModule,\n { // layout\n width: size.w,\n height: size.h,\n margin: {\n t: size.t,\n r: size.r,\n b: size.b,\n l: size.l\n }\n },\n { // callbacks\n filterChanged: filterChanged,\n hover: hover,\n unhover: unhover,\n axesMoved: axesMoved\n }\n );\n};\n\n\n/***/ }),\n\n/***/ \"79d9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function signum(x) {\n if(x < 0) { return -1 }\n if(x > 0) { return 1 }\n return 0.0\n}\n\n/***/ }),\n\n/***/ \"79f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nexports.isGrouped = function isGrouped(legendLayout) {\n return (legendLayout.traceorder || '').indexOf('grouped') !== -1;\n};\n\nexports.isVertical = function isVertical(legendLayout) {\n return legendLayout.orientation !== 'h';\n};\n\nexports.isReversed = function isReversed(legendLayout) {\n return (legendLayout.traceorder || '').indexOf('reversed') !== -1;\n};\n\n\n/***/ }),\n\n/***/ \"7a18\":\n/***/ (function(module) {\n\nmodule.exports = JSON.parse(\"[\\\"normal\\\",\\\"bold\\\",\\\"bolder\\\",\\\"lighter\\\",\\\"100\\\",\\\"200\\\",\\\"300\\\",\\\"400\\\",\\\"500\\\",\\\"600\\\",\\\"700\\\",\\\"800\\\",\\\"900\\\"]\");\n\n/***/ }),\n\n/***/ \"7a4a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\nmodule.exports = function(a) {\n return minMax(a, 0);\n};\n\nfunction minMax(a, depth) {\n // Limit to ten dimensional datasets. This seems *exceedingly* unlikely to\n // ever cause problems or even be a concern. It's include strictly so that\n // circular arrays could never cause this to loop.\n if(!isArrayOrTypedArray(a) || depth >= 10) {\n return null;\n }\n\n var min = Infinity;\n var max = -Infinity;\n var n = a.length;\n for(var i = 0; i < n; i++) {\n var datum = a[i];\n\n if(isArrayOrTypedArray(datum)) {\n var result = minMax(datum, depth + 1);\n\n if(result) {\n min = Math.min(result[0], min);\n max = Math.max(result[1], max);\n }\n } else {\n min = Math.min(datum, min);\n max = Math.max(datum, max);\n }\n }\n\n return [min, max];\n}\n\n\n/***/ }),\n\n/***/ \"7a52\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar setConvertCartesian = __webpack_require__(\"1a40\");\n\nvar deg2rad = Lib.deg2rad;\nvar rad2deg = Lib.rad2deg;\n\n/**\n * setConvert for polar axes!\n *\n * @param {object} ax\n * axis in question (works for both radial and angular axes)\n * @param {object} polarLayout\n * full polar layout of the subplot associated with 'ax'\n * @param {object} fullLayout\n * full layout\n *\n * Here, reuse some of the Cartesian setConvert logic,\n * but we must extend some of it, as both radial and angular axes\n * don't have domains and angular axes don't have _true_ ranges.\n *\n * Moreover, we introduce two new coordinate systems:\n * - 'g' for geometric coordinates and\n * - 't' for angular ticks\n *\n * Radial axis coordinate systems:\n * - d, c and l: same as for cartesian axes\n * - g: like calcdata but translated about `radialaxis.range[0]` & `polar.hole`\n *\n * Angular axis coordinate systems:\n * - d: data, in whatever form it's provided\n * - c: calcdata, turned into radians (for linear axes)\n * or category indices (category axes)\n * - t: tick calcdata, just like 'c' but in degrees for linear axes\n * - g: geometric calcdata, radians coordinates that take into account\n * axis rotation and direction\n *\n * Then, 'g'eometric data is ready to be converted to (x,y).\n */\nmodule.exports = function setConvert(ax, polarLayout, fullLayout) {\n setConvertCartesian(ax, fullLayout);\n\n switch(ax._id) {\n case 'x':\n case 'radialaxis':\n setConvertRadial(ax, polarLayout);\n break;\n case 'angularaxis':\n setConvertAngular(ax, polarLayout);\n break;\n }\n};\n\nfunction setConvertRadial(ax, polarLayout) {\n var subplot = polarLayout._subplot;\n\n ax.setGeometry = function() {\n var rl0 = ax._rl[0];\n var rl1 = ax._rl[1];\n\n var b = subplot.innerRadius;\n var m = (subplot.radius - b) / (rl1 - rl0);\n var b2 = b / m;\n\n var rFilter = rl0 > rl1 ?\n function(v) { return v <= 0; } :\n function(v) { return v >= 0; };\n\n ax.c2g = function(v) {\n var r = ax.c2l(v) - rl0;\n return (rFilter(r) ? r : 0) + b2;\n };\n\n ax.g2c = function(v) {\n return ax.l2c(v + rl0 - b2);\n };\n\n ax.g2p = function(v) { return v * m; };\n ax.c2p = function(v) { return ax.g2p(ax.c2g(v)); };\n };\n}\n\nfunction toRadians(v, unit) {\n return unit === 'degrees' ? deg2rad(v) : v;\n}\n\nfunction fromRadians(v, unit) {\n return unit === 'degrees' ? rad2deg(v) : v;\n}\n\nfunction setConvertAngular(ax, polarLayout) {\n var axType = ax.type;\n\n if(axType === 'linear') {\n var _d2c = ax.d2c;\n var _c2d = ax.c2d;\n\n ax.d2c = function(v, unit) { return toRadians(_d2c(v), unit); };\n ax.c2d = function(v, unit) { return _c2d(fromRadians(v, unit)); };\n }\n\n // override makeCalcdata to handle thetaunit and special theta0/dtheta logic\n ax.makeCalcdata = function(trace, coord) {\n var arrayIn = trace[coord];\n var len = trace._length;\n var arrayOut, i;\n\n var _d2c = function(v) { return ax.d2c(v, trace.thetaunit); };\n\n if(arrayIn) {\n if(Lib.isTypedArray(arrayIn) && axType === 'linear') {\n if(len === arrayIn.length) {\n return arrayIn;\n } else if(arrayIn.subarray) {\n return arrayIn.subarray(0, len);\n }\n }\n\n arrayOut = new Array(len);\n for(i = 0; i < len; i++) {\n arrayOut[i] = _d2c(arrayIn[i]);\n }\n } else {\n var coord0 = coord + '0';\n var dcoord = 'd' + coord;\n var v0 = (coord0 in trace) ? _d2c(trace[coord0]) : 0;\n var dv = (trace[dcoord]) ? _d2c(trace[dcoord]) : (ax.period || 2 * Math.PI) / len;\n\n arrayOut = new Array(len);\n for(i = 0; i < len; i++) {\n arrayOut[i] = v0 + i * dv;\n }\n }\n\n return arrayOut;\n };\n\n // N.B. we mock the axis 'range' here\n ax.setGeometry = function() {\n var sector = polarLayout.sector;\n var sectorInRad = sector.map(deg2rad);\n var dir = {clockwise: -1, counterclockwise: 1}[ax.direction];\n var rot = deg2rad(ax.rotation);\n\n var rad2g = function(v) { return dir * v + rot; };\n var g2rad = function(v) { return (v - rot) / dir; };\n\n var rad2c, c2rad;\n var rad2t, t2rad;\n\n switch(axType) {\n case 'linear':\n c2rad = rad2c = Lib.identity;\n t2rad = deg2rad;\n rad2t = rad2deg;\n\n // Set the angular range in degrees to make auto-tick computation cleaner,\n // changing rotation/direction should not affect the angular tick value.\n ax.range = Lib.isFullCircle(sectorInRad) ?\n [sector[0], sector[0] + 360] :\n sectorInRad.map(g2rad).map(rad2deg);\n break;\n\n case 'category':\n var catLen = ax._categories.length;\n var _period = ax.period ? Math.max(ax.period, catLen) : catLen;\n\n // fallback in case all categories have been filtered out\n if(_period === 0) _period = 1;\n\n c2rad = t2rad = function(v) { return v * 2 * Math.PI / _period; };\n rad2c = rad2t = function(v) { return v * _period / Math.PI / 2; };\n\n ax.range = [0, _period];\n break;\n }\n\n ax.c2g = function(v) { return rad2g(c2rad(v)); };\n ax.g2c = function(v) { return rad2c(g2rad(v)); };\n\n ax.t2g = function(v) { return rad2g(t2rad(v)); };\n ax.g2t = function(v) { return rad2t(g2rad(v)); };\n };\n}\n\n\n/***/ }),\n\n/***/ \"7a5f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'indicator',\n basePlotModule: __webpack_require__(\"643c\"),\n categories: ['svg', 'noOpacity', 'noHover'],\n animatable: true,\n\n attributes: __webpack_require__(\"1c82\"),\n supplyDefaults: __webpack_require__(\"18bb\").supplyDefaults,\n\n calc: __webpack_require__(\"5ad1\").calc,\n\n plot: __webpack_require__(\"78ee\"),\n\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"7a71\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = measure\r\n\r\nmeasure.canvas = document.createElement('canvas')\r\nmeasure.cache = {}\r\n\r\nfunction measure (font, o) {\r\n\tif (!o) o = {}\r\n\r\n\tif (typeof font === 'string' || Array.isArray(font)) {\r\n\t\to.family = font\r\n\t}\r\n\r\n\tvar family = Array.isArray(o.family) ? o.family.join(', ') : o.family\r\n\tif (!family) throw Error('`family` must be defined')\r\n\r\n\tvar fs = o.size || o.fontSize || o.em || 48\r\n\tvar weight = o.weight || o.fontWeight || ''\r\n\tvar style = o.style || o.fontStyle || ''\r\n\tvar font = [style, weight, fs].join(' ') + 'px ' + family\r\n\tvar origin = o.origin || 'top'\r\n\r\n\tif (measure.cache[family]) {\r\n\t\t// return more precise values if cache has them\r\n\t\tif (fs <= measure.cache[family].em) {\r\n\t\t\treturn applyOrigin(measure.cache[family], origin)\r\n\t\t}\r\n\t}\r\n\r\n\tvar canvas = o.canvas || measure.canvas\r\n\tvar ctx = canvas.getContext('2d')\r\n\tvar chars = {\r\n\t\tupper: o.upper !== undefined ? o.upper : 'H',\r\n\t\tlower: o.lower !== undefined ? o.lower : 'x',\r\n\t\tdescent: o.descent !== undefined ? o.descent : 'p',\r\n\t\tascent: o.ascent !== undefined ? o.ascent : 'h',\r\n\t\ttittle: o.tittle !== undefined ? o.tittle : 'i',\r\n\t\tovershoot: o.overshoot !== undefined ? o.overshoot : 'O'\r\n\t}\r\n\tvar l = Math.ceil(fs * 1.5)\r\n\tcanvas.height = l\r\n\tcanvas.width = l * .5\r\n\tctx.font = font\r\n\r\n\tvar char = 'H'\r\n\tvar result = {\r\n\t\ttop: 0\r\n\t}\r\n\r\n\t// measure line-height\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'top'\r\n\tctx.fillStyle = 'black'\r\n\tctx.fillText(char, 0, 0)\r\n\tvar topPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'bottom'\r\n\tctx.fillText(char, 0, l)\r\n\tvar bottomPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.lineHeight =\r\n\tresult.bottom = l - bottomPx + topPx\r\n\r\n\t// measure baseline\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'alphabetic'\r\n\tctx.fillText(char, 0, l)\r\n\tvar baselinePx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tvar baseline = l - baselinePx - 1 + topPx\r\n\tresult.baseline =\r\n\tresult.alphabetic = baseline\r\n\r\n\t// measure median\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'middle'\r\n\tctx.fillText(char, 0, l * .5)\r\n\tvar medianPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.median =\r\n\tresult.middle = l - medianPx - 1 + topPx - l * .5\r\n\r\n\t// measure hanging\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'hanging'\r\n\tctx.fillText(char, 0, l * .5)\r\n\tvar hangingPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.hanging = l - hangingPx - 1 + topPx - l * .5\r\n\r\n\t// measure ideographic\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'ideographic'\r\n\tctx.fillText(char, 0, l)\r\n\tvar ideographicPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.ideographic = l - ideographicPx - 1 + topPx\r\n\r\n\t// measure cap\r\n\tif (chars.upper) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.upper, 0, 0)\r\n\t\tresult.upper = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t\tresult.capHeight = (result.baseline - result.upper)\r\n\t}\r\n\r\n\t// measure x\r\n\tif (chars.lower) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.lower, 0, 0)\r\n\t\tresult.lower = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t\tresult.xHeight = (result.baseline - result.lower)\r\n\t}\r\n\r\n\t// measure tittle\r\n\tif (chars.tittle) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.tittle, 0, 0)\r\n\t\tresult.tittle = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t}\r\n\r\n\t// measure ascent\r\n\tif (chars.ascent) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.ascent, 0, 0)\r\n\t\tresult.ascent = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t}\r\n\r\n\t// measure descent\r\n\tif (chars.descent) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.descent, 0, 0)\r\n\t\tresult.descent = firstBottom(ctx.getImageData(0, 0, l, l))\r\n\t}\r\n\r\n\t// measure overshoot\r\n\tif (chars.overshoot) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.overshoot, 0, 0)\r\n\t\tvar overshootPx = firstBottom(ctx.getImageData(0, 0, l, l))\r\n\t\tresult.overshoot = overshootPx - baseline\r\n\t}\r\n\r\n\t// normalize result\r\n\tfor (var name in result) {\r\n\t\tresult[name] /= fs\r\n\t}\r\n\r\n\tresult.em = fs\r\n\tmeasure.cache[family] = result\r\n\r\n\treturn applyOrigin(result, origin)\r\n}\r\n\r\nfunction applyOrigin(obj, origin) {\r\n\tvar res = {}\r\n\tif (typeof origin === 'string') origin = obj[origin]\r\n\tfor (var name in obj) {\r\n\t\tif (name === 'em') continue\r\n\t\tres[name] = obj[name] - origin\r\n\t}\r\n\treturn res\r\n}\r\n\r\nfunction firstTop(iData) {\r\n\tvar l = iData.height\r\n\tvar data = iData.data\r\n\tfor (var i = 3; i < data.length; i+=4) {\r\n\t\tif (data[i] !== 0) {\r\n\t\t\treturn Math.floor((i - 3) *.25 / l)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction firstBottom(iData) {\r\n\tvar l = iData.height\r\n\tvar data = iData.data\r\n\tfor (var i = data.length - 1; i > 0; i -= 4) {\r\n\t\tif (data[i] !== 0) {\r\n\t\t\treturn Math.floor((i - 3) *.25 / l)\r\n\t\t}\r\n\t}\r\n}\r\n\n\n/***/ }),\n\n/***/ \"7a7d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"8bd8\"),\n supplyDefaults: __webpack_require__(\"f552\"),\n colorbar: __webpack_require__(\"fcb3\"),\n calc: __webpack_require__(\"d0ad\"),\n calcGeoJSON: __webpack_require__(\"538c\").calcGeoJSON,\n plot: __webpack_require__(\"538c\").plot,\n style: __webpack_require__(\"e7ab\").style,\n styleOnSelect: __webpack_require__(\"e7ab\").styleOnSelect,\n hoverPoints: __webpack_require__(\"038d\"),\n eventData: __webpack_require__(\"a9eb\"),\n selectPoints: __webpack_require__(\"ef6e\"),\n\n moduleType: 'trace',\n name: 'choropleth',\n basePlotModule: __webpack_require__(\"9e9a\"),\n categories: ['geo', 'noOpacity', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"7abc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n๏ปฟ/* http://keith-wood.name/calendars.html\n UmmAlQura calendar for jQuery v2.0.2.\n Written by Amro Osama March 2013.\n Modified by Binnooh.com & www.elm.sa - 2014 - Added dates back to 1276 Hijri year.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\n/** Implementation of the UmmAlQura or 'saudi' calendar.\n See also http://en.wikipedia.org/wiki/Islamic_calendar#Saudi_Arabia.27s_Umm_al-Qura_calendar.\n http://www.ummulqura.org.sa/About.aspx\n http://www.staff.science.uu.nl/~gent0113/islam/ummalqura.htm\n @class UmmAlQuraCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction UmmAlQuraCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nUmmAlQuraCalendar.prototype = new main.baseCalendar;\n\nassign(UmmAlQuraCalendar.prototype, {\n /** The calendar name.\n @memberof UmmAlQuraCalendar */\n name: 'UmmAlQura',\n //jdEpoch: 1948440, // Julian date of start of UmmAlQura epoch: 14 March 1937 CE\n //daysPerMonth: // Days per month in a common year, replaced by a method.\n /** true if has a year zero, false if not.\n @memberof UmmAlQuraCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof UmmAlQuraCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof UmmAlQuraCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof UmmAlQuraCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof UmmAlQuraCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Umm al-Qura',\n epochs: ['BH', 'AH'],\n monthNames: ['Al-Muharram', 'Safar', 'Rabi\\' al-awwal', 'Rabi\\' Al-Thani', 'Jumada Al-Awwal', 'Jumada Al-Thani',\n 'Rajab', 'Sha\\'aban', 'Ramadan', 'Shawwal', 'Dhu al-Qi\\'dah', 'Dhu al-Hijjah'],\n monthNamesShort: ['Muh', 'Saf', 'Rab1', 'Rab2', 'Jum1', 'Jum2', 'Raj', 'Sha\\'', 'Ram', 'Shaw', 'DhuQ', 'DhuH'],\n dayNames: ['Yawm al-Ahad', 'Yawm al-Ithnain', 'Yawm al-Thalฤthฤโ€™', 'Yawm al-Arbaโ€˜ฤโ€™', 'Yawm al-Khamฤซs', 'Yawm al-Jumโ€˜a', 'Yawm al-Sabt'],\n dayNamesMin: ['Ah', 'Ith', 'Th', 'Ar', 'Kh', 'Ju', 'Sa'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 6,\n isRTL: true\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function (year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n return (this.daysInYear(date.year()) === 355);\n },\n\n /** Determine the week of the year for a date.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function (year, month, day) {\n // Find Sunday of this week starting on Sunday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(-checkDate.dayOfWeek(), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a year.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of days.\n @throws Error if an invalid year or a different calendar used. */\n daysInYear: function (year) {\n var daysCount = 0;\n for (var i = 1; i <= 12; i++) {\n daysCount += this.daysInMonth(year, i);\n }\n return daysCount;\n },\n\n /** Retrieve the number of days in a month.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function (year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n var mcjdn = date.toJD() - 2400000 + 0.5; // Modified Chronological Julian Day Number (MCJDN)\n // the MCJDN's of the start of the lunations in the Umm al-Qura calendar are stored in the 'ummalqura_dat' array\n var index = 0;\n for (var i = 0; i < ummalqura_dat.length; i++) {\n if (ummalqura_dat[i] > mcjdn) {\n return (ummalqura_dat[index] - ummalqura_dat[index - 1]);\n }\n index++;\n }\n return 30; // Unknown outside\n },\n\n /** Determine whether this date is a week day.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function (year, month, day) {\n return this.dayOfWeek(year, month, day) !== 5;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function (year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n var index = (12 * (date.year() - 1)) + date.month() - 15292;\n var mcjdn = date.day() + ummalqura_dat[index - 1] - 1;\n return mcjdn + 2400000 - 0.5; // Modified Chronological Julian Day Number (MCJDN)\n },\n\n /** Create a new date from a Julian date.\n @memberof UmmAlQuraCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function (jd) {\n var mcjdn = jd - 2400000 + 0.5; // Modified Chronological Julian Day Number (MCJDN)\n // the MCJDN's of the start of the lunations in the Umm al-Qura calendar \n // are stored in the 'ummalqura_dat' array\n var index = 0;\n for (var i = 0; i < ummalqura_dat.length; i++) {\n if (ummalqura_dat[i] > mcjdn) break;\n index++;\n }\n var lunation = index + 15292; //UmmAlQura Lunation Number\n var ii = Math.floor((lunation - 1) / 12);\n var year = ii + 1;\n var month = lunation - 12 * ii;\n var day = mcjdn - ummalqura_dat[index - 1] + 1;\n return this.newDate(year, month, day);\n },\n\n /** Determine whether a date is valid for this calendar.\n @memberof UmmAlQuraCalendar\n @param year {number} The year to examine.\n @param month {number} The month to examine.\n @param day {number} The day to examine.\n @return {boolean} true if a valid date, false if not. */\n isValid: function(year, month, day) {\n var valid = main.baseCalendar.prototype.isValid.apply(this, arguments);\n if (valid) {\n year = (year.year != null ? year.year : year);\n valid = (year >= 1276 && year <= 1500);\n }\n return valid;\n },\n\n /** Check that a candidate date is from the same calendar and is valid.\n @memberof UmmAlQuraCalendar\n @private\n @param year {CDate|number} The date to validate or the year to validate.\n @param month {number} The month to validate.\n @param day {number} The day to validate.\n @param error {string} Error message if invalid.\n @throws Error if different calendars used or invalid date. */\n _validate: function(year, month, day, error) {\n var date = main.baseCalendar.prototype._validate.apply(this, arguments);\n if (date.year < 1276 || date.year > 1500) {\n throw error.replace(/\\{0\\}/, this.local.name);\n }\n return date;\n }\n});\n\n// UmmAlQura calendar implementation\nmain.calendars.ummalqura = UmmAlQuraCalendar;\n\nvar ummalqura_dat = [\n 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, 374, 404, 433, 463, 492, 522, 551, 581, \n 611, 641, 670, 700, 729, 759, 788, 818, 847, 877, 906, 936, 965, 995, 1024, 1054, 1083, 1113, 1142, 1172,\n 1201, 1231, 1260, 1290, 1320, 1350, 1379, 1409, 1438, 1468, 1497, 1527, 1556, 1586, 1615, 1645, 1674, 1704, 1733, 1763,\n 1792, 1822, 1851, 1881, 1910, 1940, 1969, 1999, 2028, 2058, 2087, 2117, 2146, 2176, 2205, 2235, 2264, 2294, 2323, 2353,\n 2383, 2413, 2442, 2472, 2501, 2531, 2560, 2590, 2619, 2649, 2678, 2708, 2737, 2767, 2796, 2826, 2855, 2885, 2914, 2944,\n 2973, 3003, 3032, 3062, 3091, 3121, 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, 3416, 3446, 3476, 3505, 3535,\n 3564, 3594, 3623, 3653, 3682, 3712, 3741, 3771, 3800, 3830, 3859, 3889, 3918, 3948, 3977, 4007, 4036, 4066, 4095, 4125,\n 4155, 4185, 4214, 4244, 4273, 4303, 4332, 4362, 4391, 4421, 4450, 4480, 4509, 4539, 4568, 4598, 4627, 4657, 4686, 4716,\n 4745, 4775, 4804, 4834, 4863, 4893, 4922, 4952, 4981, 5011, 5040, 5070, 5099, 5129, 5158, 5188, 5218, 5248, 5277, 5307,\n 5336, 5366, 5395, 5425, 5454, 5484, 5513, 5543, 5572, 5602, 5631, 5661, 5690, 5720, 5749, 5779, 5808, 5838, 5867, 5897,\n 5926, 5956, 5985, 6015, 6044, 6074, 6103, 6133, 6162, 6192, 6221, 6251, 6281, 6311, 6340, 6370, 6399, 6429, 6458, 6488,\n 6517, 6547, 6576, 6606, 6635, 6665, 6694, 6724, 6753, 6783, 6812, 6842, 6871, 6901, 6930, 6960, 6989, 7019, 7048, 7078,\n 7107, 7137, 7166, 7196, 7225, 7255, 7284, 7314, 7344, 7374, 7403, 7433, 7462, 7492, 7521, 7551, 7580, 7610, 7639, 7669,\n 7698, 7728, 7757, 7787, 7816, 7846, 7875, 7905, 7934, 7964, 7993, 8023, 8053, 8083, 8112, 8142, 8171, 8201, 8230, 8260,\n 8289, 8319, 8348, 8378, 8407, 8437, 8466, 8496, 8525, 8555, 8584, 8614, 8643, 8673, 8702, 8732, 8761, 8791, 8821, 8850,\n 8880, 8909, 8938, 8968, 8997, 9027, 9056, 9086, 9115, 9145, 9175, 9205, 9234, 9264, 9293, 9322, 9352, 9381, 9410, 9440,\n 9470, 9499, 9529, 9559, 9589, 9618, 9648, 9677, 9706, 9736, 9765, 9794, 9824, 9853, 9883, 9913, 9943, 9972, 10002, 10032,\n 10061, 10090, 10120, 10149, 10178, 10208, 10237, 10267, 10297, 10326, 10356, 10386, 10415, 10445, 10474, 10504, 10533, 10562, 10592, 10621,\n 10651, 10680, 10710, 10740, 10770, 10799, 10829, 10858, 10888, 10917, 10947, 10976, 11005, 11035, 11064, 11094, 11124, 11153, 11183, 11213,\n 11242, 11272, 11301, 11331, 11360, 11389, 11419, 11448, 11478, 11507, 11537, 11567, 11596, 11626, 11655, 11685, 11715, 11744, 11774, 11803,\n 11832, 11862, 11891, 11921, 11950, 11980, 12010, 12039, 12069, 12099, 12128, 12158, 12187, 12216, 12246, 12275, 12304, 12334, 12364, 12393,\n 12423, 12453, 12483, 12512, 12542, 12571, 12600, 12630, 12659, 12688, 12718, 12747, 12777, 12807, 12837, 12866, 12896, 12926, 12955, 12984,\n 13014, 13043, 13072, 13102, 13131, 13161, 13191, 13220, 13250, 13280, 13310, 13339, 13368, 13398, 13427, 13456, 13486, 13515, 13545, 13574,\n 13604, 13634, 13664, 13693, 13723, 13752, 13782, 13811, 13840, 13870, 13899, 13929, 13958, 13988, 14018, 14047, 14077, 14107, 14136, 14166,\n 14195, 14224, 14254, 14283, 14313, 14342, 14372, 14401, 14431, 14461, 14490, 14520, 14550, 14579, 14609, 14638, 14667, 14697, 14726, 14756,\n 14785, 14815, 14844, 14874, 14904, 14933, 14963, 14993, 15021, 15051, 15081, 15110, 15140, 15169, 15199, 15228, 15258, 15287, 15317, 15347,\n 15377, 15406, 15436, 15465, 15494, 15524, 15553, 15582, 15612, 15641, 15671, 15701, 15731, 15760, 15790, 15820, 15849, 15878, 15908, 15937,\n 15966, 15996, 16025, 16055, 16085, 16114, 16144, 16174, 16204, 16233, 16262, 16292, 16321, 16350, 16380, 16409, 16439, 16468, 16498, 16528,\n 16558, 16587, 16617, 16646, 16676, 16705, 16734, 16764, 16793, 16823, 16852, 16882, 16912, 16941, 16971, 17001, 17030, 17060, 17089, 17118,\n 17148, 17177, 17207, 17236, 17266, 17295, 17325, 17355, 17384, 17414, 17444, 17473, 17502, 17532, 17561, 17591, 17620, 17650, 17679, 17709,\n 17738, 17768, 17798, 17827, 17857, 17886, 17916, 17945, 17975, 18004, 18034, 18063, 18093, 18122, 18152, 18181, 18211, 18241, 18270, 18300,\n 18330, 18359, 18388, 18418, 18447, 18476, 18506, 18535, 18565, 18595, 18625, 18654, 18684, 18714, 18743, 18772, 18802, 18831, 18860, 18890,\n 18919, 18949, 18979, 19008, 19038, 19068, 19098, 19127, 19156, 19186, 19215, 19244, 19274, 19303, 19333, 19362, 19392, 19422, 19452, 19481,\n 19511, 19540, 19570, 19599, 19628, 19658, 19687, 19717, 19746, 19776, 19806, 19836, 19865, 19895, 19924, 19954, 19983, 20012, 20042, 20071,\n 20101, 20130, 20160, 20190, 20219, 20249, 20279, 20308, 20338, 20367, 20396, 20426, 20455, 20485, 20514, 20544, 20573, 20603, 20633, 20662,\n 20692, 20721, 20751, 20780, 20810, 20839, 20869, 20898, 20928, 20957, 20987, 21016, 21046, 21076, 21105, 21135, 21164, 21194, 21223, 21253,\n 21282, 21312, 21341, 21371, 21400, 21430, 21459, 21489, 21519, 21548, 21578, 21607, 21637, 21666, 21696, 21725, 21754, 21784, 21813, 21843,\n 21873, 21902, 21932, 21962, 21991, 22021, 22050, 22080, 22109, 22138, 22168, 22197, 22227, 22256, 22286, 22316, 22346, 22375, 22405, 22434,\n 22464, 22493, 22522, 22552, 22581, 22611, 22640, 22670, 22700, 22730, 22759, 22789, 22818, 22848, 22877, 22906, 22936, 22965, 22994, 23024,\n 23054, 23083, 23113, 23143, 23173, 23202, 23232, 23261, 23290, 23320, 23349, 23379, 23408, 23438, 23467, 23497, 23527, 23556, 23586, 23616,\n 23645, 23674, 23704, 23733, 23763, 23792, 23822, 23851, 23881, 23910, 23940, 23970, 23999, 24029, 24058, 24088, 24117, 24147, 24176, 24206,\n 24235, 24265, 24294, 24324, 24353, 24383, 24413, 24442, 24472, 24501, 24531, 24560, 24590, 24619, 24648, 24678, 24707, 24737, 24767, 24796,\n 24826, 24856, 24885, 24915, 24944, 24974, 25003, 25032, 25062, 25091, 25121, 25150, 25180, 25210, 25240, 25269, 25299, 25328, 25358, 25387,\n 25416, 25446, 25475, 25505, 25534, 25564, 25594, 25624, 25653, 25683, 25712, 25742, 25771, 25800, 25830, 25859, 25888, 25918, 25948, 25977,\n 26007, 26037, 26067, 26096, 26126, 26155, 26184, 26214, 26243, 26272, 26302, 26332, 26361, 26391, 26421, 26451, 26480, 26510, 26539, 26568,\n 26598, 26627, 26656, 26686, 26715, 26745, 26775, 26805, 26834, 26864, 26893, 26923, 26952, 26982, 27011, 27041, 27070, 27099, 27129, 27159,\n 27188, 27218, 27248, 27277, 27307, 27336, 27366, 27395, 27425, 27454, 27484, 27513, 27542, 27572, 27602, 27631, 27661, 27691, 27720, 27750,\n 27779, 27809, 27838, 27868, 27897, 27926, 27956, 27985, 28015, 28045, 28074, 28104, 28134, 28163, 28193, 28222, 28252, 28281, 28310, 28340,\n 28369, 28399, 28428, 28458, 28488, 28517, 28547, 28577,\n // From 1356\n 28607, 28636, 28665, 28695, 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, 28960, 28990, 29019, 29049, 29078, 29108, 29137, 29167,\n 29196, 29226, 29255, 29285, 29315, 29345, 29375, 29404, 29434, 29463, 29492, 29522, 29551, 29580, 29610, 29640, 29669, 29699, 29729, 29759,\n 29788, 29818, 29847, 29876, 29906, 29935, 29964, 29994, 30023, 30053, 30082, 30112, 30141, 30171, 30200, 30230, 30259, 30289, 30318, 30348,\n 30378, 30408, 30437, 30467, 30496, 30526, 30555, 30585, 30614, 30644, 30673, 30703, 30732, 30762, 30791, 30821, 30850, 30880, 30909, 30939,\n 30968, 30998, 31027, 31057, 31086, 31116, 31145, 31175, 31204, 31234, 31263, 31293, 31322, 31352, 31381, 31411, 31441, 31471, 31500, 31530,\n 31559, 31589, 31618, 31648, 31676, 31706, 31736, 31766, 31795, 31825, 31854, 31884, 31913, 31943, 31972, 32002, 32031, 32061, 32090, 32120,\n 32150, 32180, 32209, 32239, 32268, 32298, 32327, 32357, 32386, 32416, 32445, 32475, 32504, 32534, 32563, 32593, 32622, 32652, 32681, 32711,\n 32740, 32770, 32799, 32829, 32858, 32888, 32917, 32947, 32976, 33006, 33035, 33065, 33094, 33124, 33153, 33183, 33213, 33243, 33272, 33302,\n 33331, 33361, 33390, 33420, 33450, 33479, 33509, 33539, 33568, 33598, 33627, 33657, 33686, 33716, 33745, 33775, 33804, 33834, 33863, 33893,\n 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, 34158, 34187, 34217, 34247, 34277, 34306, 34336, 34365, 34395, 34424, 34454, 34483,\n 34512, 34542, 34571, 34601, 34631, 34660, 34690, 34719, 34749, 34778, 34808, 34837, 34867, 34896, 34926, 34955, 34985, 35015, 35044, 35074,\n 35103, 35133, 35162, 35192, 35222, 35251, 35280, 35310, 35340, 35370, 35399, 35429, 35458, 35488, 35517, 35547, 35576, 35605, 35635, 35665,\n 35694, 35723, 35753, 35782, 35811, 35841, 35871, 35901, 35930, 35960, 35989, 36019, 36048, 36078, 36107, 36136, 36166, 36195, 36225, 36254,\n 36284, 36314, 36343, 36373, 36403, 36433, 36462, 36492, 36521, 36551, 36580, 36610, 36639, 36669, 36698, 36728, 36757, 36786, 36816, 36845,\n 36875, 36904, 36934, 36963, 36993, 37022, 37052, 37081, 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, 37347, 37377, 37406, 37436,\n 37465, 37495, 37524, 37554, 37584, 37613, 37643, 37672, 37701, 37731, 37760, 37790, 37819, 37849, 37878, 37908, 37938, 37967, 37997, 38027,\n 38056, 38085, 38115, 38144, 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, 38410, 38440, 38469, 38499, 38528, 38558, 38587, 38617,\n 38646, 38676, 38705, 38735, 38764, 38794, 38823, 38853, 38882, 38912, 38941, 38971, 39001, 39030, 39059, 39089, 39118, 39148, 39178, 39208,\n 39237, 39267, 39297, 39326, 39355, 39385, 39414, 39444, 39473, 39503, 39532, 39562, 39592, 39621, 39650, 39680, 39709, 39739, 39768, 39798,\n 39827, 39857, 39886, 39916, 39946, 39975, 40005, 40035, 40064, 40094, 40123, 40153, 40182, 40212, 40241, 40271, 40300, 40330, 40359, 40389,\n 40418, 40448, 40477, 40507, 40536, 40566, 40595, 40625, 40655, 40685, 40714, 40744, 40773, 40803, 40832, 40862, 40892, 40921, 40951, 40980,\n 41009, 41039, 41068, 41098, 41127, 41157, 41186, 41216, 41245, 41275, 41304, 41334, 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570,\n 41599, 41629, 41658, 41688, 41718, 41748, 41777, 41807, 41836, 41865, 41894, 41924, 41953, 41983, 42012, 42042, 42072, 42102, 42131, 42161,\n 42190, 42220, 42249, 42279, 42308, 42337, 42367, 42397, 42426, 42456, 42485, 42515, 42545, 42574, 42604, 42633, 42662, 42692, 42721, 42751,\n 42780, 42810, 42839, 42869, 42899, 42929, 42958, 42988, 43017, 43046, 43076, 43105, 43135, 43164, 43194, 43223, 43253, 43283, 43312, 43342,\n 43371, 43401, 43430, 43460, 43489, 43519, 43548, 43578, 43607, 43637, 43666, 43696, 43726, 43755, 43785, 43814, 43844, 43873, 43903, 43932,\n 43962, 43991, 44021, 44050, 44080, 44109, 44139, 44169, 44198, 44228, 44258, 44287, 44317, 44346, 44375, 44405, 44434, 44464, 44493, 44523,\n 44553, 44582, 44612, 44641, 44671, 44700, 44730, 44759, 44788, 44818, 44847, 44877, 44906, 44936, 44966, 44996, 45025, 45055, 45084, 45114,\n 45143, 45172, 45202, 45231, 45261, 45290, 45320, 45350, 45380, 45409, 45439, 45468, 45498, 45527, 45556, 45586, 45615, 45644, 45674, 45704,\n 45733, 45763, 45793, 45823, 45852, 45882, 45911, 45940, 45970, 45999, 46028, 46058, 46088, 46117, 46147, 46177, 46206, 46236, 46265, 46295,\n 46324, 46354, 46383, 46413, 46442, 46472, 46501, 46531, 46560, 46590, 46620, 46649, 46679, 46708, 46738, 46767, 46797, 46826, 46856, 46885,\n 46915, 46944, 46974, 47003, 47033, 47063, 47092, 47122, 47151, 47181, 47210, 47240, 47269, 47298, 47328, 47357, 47387, 47417, 47446, 47476,\n 47506, 47535, 47565, 47594, 47624, 47653, 47682, 47712, 47741, 47771, 47800, 47830, 47860, 47890, 47919, 47949, 47978, 48008, 48037, 48066,\n 48096, 48125, 48155, 48184, 48214, 48244, 48273, 48303, 48333, 48362, 48392, 48421, 48450, 48480, 48509, 48538, 48568, 48598, 48627, 48657,\n 48687, 48717, 48746, 48776, 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, 49041, 49071, 49100, 49130, 49160, 49189, 49218, 49248,\n 49277, 49306, 49336, 49365, 49395, 49425, 49455, 49484, 49514, 49543, 49573, 49602, 49632, 49661, 49690, 49720, 49749, 49779, 49809, 49838,\n 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, 50104, 50133, 50163, 50192, 50222, 50252, 50281, 50311, 50340, 50370, 50400, 50429,\n 50459, 50488, 50518, 50547, 50576, 50606, 50635, 50665, 50694, 50724, 50754, 50784, 50813, 50843, 50872, 50902, 50931, 50960, 50990, 51019,\n 51049, 51078, 51108, 51138, 51167, 51197, 51227, 51256, 51286, 51315, 51345, 51374, 51403, 51433, 51462, 51492, 51522, 51552, 51582, 51611,\n 51641, 51670, 51699, 51729, 51758, 51787, 51816, 51846, 51876, 51906, 51936, 51965, 51995, 52025, 52054, 52083, 52113, 52142, 52171, 52200,\n 52230, 52260, 52290, 52319, 52349, 52379, 52408, 52438, 52467, 52497, 52526, 52555, 52585, 52614, 52644, 52673, 52703, 52733, 52762, 52792,\n 52822, 52851, 52881, 52910, 52939, 52969, 52998, 53028, 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, 53294, 53324, 53353, 53383,\n 53412, 53441, 53471, 53500, 53530, 53559, 53589, 53619, 53648, 53678, 53708, 53737, 53767, 53796, 53825, 53855, 53884, 53913, 53943, 53973,\n 54003, 54032, 54062, 54092, 54121, 54151, 54180, 54209, 54239, 54268, 54297, 54327, 54357, 54387, 54416, 54446, 54476, 54505, 54535, 54564,\n 54593, 54623, 54652, 54681, 54711, 54741, 54770, 54800, 54830, 54859, 54889, 54919, 54948, 54977, 55007, 55036, 55066, 55095, 55125, 55154,\n 55184, 55213, 55243, 55273, 55302, 55332, 55361, 55391, 55420, 55450, 55479, 55508, 55538, 55567, 55597, 55627, 55657, 55686, 55716, 55745,\n 55775, 55804, 55834, 55863, 55892, 55922, 55951, 55981, 56011, 56040, 56070, 56100, 56129, 56159, 56188, 56218, 56247, 56276, 56306, 56335,\n 56365, 56394, 56424, 56454, 56483, 56513, 56543, 56572, 56601, 56631, 56660, 56690, 56719, 56749, 56778, 56808, 56837, 56867, 56897, 56926,\n 56956, 56985, 57015, 57044, 57074, 57103, 57133, 57162, 57192, 57221, 57251, 57280, 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517,\n 57546, 57576, 57605, 57634, 57664, 57694, 57723, 57753, 57783, 57813, 57842, 57871, 57901, 57930, 57959, 57989, 58018, 58048, 58077, 58107,\n 58137, 58167, 58196, 58226, 58255, 58285, 58314, 58343, 58373, 58402, 58432, 58461, 58491, 58521, 58551, 58580, 58610, 58639, 58669, 58698,\n 58727, 58757, 58786, 58816, 58845, 58875, 58905, 58934, 58964, 58994, 59023, 59053, 59082, 59111, 59141, 59170, 59200, 59229, 59259, 59288,\n 59318, 59348, 59377, 59407, 59436, 59466, 59495, 59525, 59554, 59584, 59613, 59643, 59672, 59702, 59731, 59761, 59791, 59820, 59850, 59879,\n 59909, 59939, 59968, 59997, 60027, 60056, 60086, 60115, 60145, 60174, 60204, 60234, 60264, 60293, 60323, 60352, 60381, 60411, 60440, 60469,\n 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, 60736, 60765, 60795, 60824, 60853, 60883, 60912, 60942, 60972, 61002, 61031, 61061,\n 61090, 61120, 61149, 61179, 61208, 61237, 61267, 61296, 61326, 61356, 61385, 61415, 61445, 61474, 61504, 61533, 61563, 61592, 61621, 61651,\n 61680, 61710, 61739, 61769, 61799, 61828, 61858, 61888, 61917, 61947, 61976, 62006, 62035, 62064, 62094, 62123, 62153, 62182, 62212, 62242,\n 62271, 62301, 62331, 62360, 62390, 62419, 62448, 62478, 62507, 62537, 62566, 62596, 62625, 62655, 62685, 62715, 62744, 62774, 62803, 62832,\n 62862, 62891, 62921, 62950, 62980, 63009, 63039, 63069, 63099, 63128, 63157, 63187, 63216, 63246, 63275, 63305, 63334, 63363, 63393, 63423,\n 63453, 63482, 63512, 63541, 63571, 63600, 63630, 63659, 63689, 63718, 63747, 63777, 63807, 63836, 63866, 63895, 63925, 63955, 63984, 64014,\n 64043, 64073, 64102, 64131, 64161, 64190, 64220, 64249, 64279, 64309, 64339, 64368, 64398, 64427, 64457, 64486, 64515, 64545, 64574, 64603,\n 64633, 64663, 64692, 64722, 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, 64987, 65017, 65047, 65076, 65106, 65136, 65166, 65195,\n 65225, 65254, 65283, 65313, 65342, 65371, 65401, 65431, 65460, 65490, 65520, 65549, 65579, 65608, 65638, 65667, 65697, 65726, 65755, 65785,\n 65815, 65844, 65874, 65903, 65933, 65963, 65992, 66022, 66051, 66081, 66110, 66140, 66169, 66199, 66228, 66258, 66287, 66317, 66346, 66376,\n 66405, 66435, 66465, 66494, 66524, 66553, 66583, 66612, 66641, 66671, 66700, 66730, 66760, 66789, 66819, 66849, 66878, 66908, 66937, 66967,\n 66996, 67025, 67055, 67084, 67114, 67143, 67173, 67203, 67233, 67262, 67292, 67321, 67351, 67380, 67409, 67439, 67468, 67497, 67527, 67557,\n 67587, 67617, 67646, 67676, 67705, 67735, 67764, 67793, 67823, 67852, 67882, 67911, 67941, 67971, 68000, 68030, 68060, 68089, 68119, 68148,\n 68177, 68207, 68236, 68266, 68295, 68325, 68354, 68384, 68414, 68443, 68473, 68502, 68532, 68561, 68591, 68620, 68650, 68679, 68708, 68738,\n 68768, 68797, 68827, 68857, 68886, 68916, 68946, 68975, 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, 69240, 69270, 69300, 69330,\n 69359, 69388, 69418, 69447, 69476, 69506, 69535, 69565, 69595, 69624, 69654, 69684, 69713, 69743, 69772, 69802, 69831, 69861, 69890, 69919,\n 69949, 69978, 70008, 70038, 70067, 70097, 70126, 70156, 70186, 70215, 70245, 70274, 70303, 70333, 70362, 70392, 70421, 70451, 70481, 70510,\n 70540, 70570, 70599, 70629, 70658, 70687, 70717, 70746, 70776, 70805, 70835, 70864, 70894, 70924, 70954, 70983, 71013, 71042, 71071, 71101,\n 71130, 71159, 71189, 71218, 71248, 71278, 71308, 71337, 71367, 71397, 71426, 71455, 71485, 71514, 71543, 71573, 71602, 71632, 71662, 71691,\n 71721, 71751, 71781, 71810, 71839, 71869, 71898, 71927, 71957, 71986, 72016, 72046, 72075, 72105, 72135, 72164, 72194, 72223, 72253, 72282,\n 72311, 72341, 72370, 72400, 72429, 72459, 72489, 72518, 72548, 72577, 72607, 72637, 72666, 72695, 72725, 72754, 72784, 72813, 72843, 72872,\n 72902, 72931, 72961, 72991, 73020, 73050, 73080, 73109, 73139, 73168, 73197, 73227, 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464,\n 73493, 73523, 73552, 73581, 73611, 73640, 73669, 73699, 73729, 73758, 73788, 73818, 73848, 73877, 73907, 73936, 73965, 73995, 74024, 74053,\n 74083, 74113, 74142, 74172, 74202, 74231, 74261, 74291, 74320, 74349, 74379, 74408, 74437, 74467, 74497, 74526, 74556, 74586, 74615, 74645,\n 74675, 74704, 74733, 74763, 74792, 74822, 74851, 74881, 74910, 74940, 74969, 74999, 75029, 75058, 75088, 75117, 75147, 75176, 75206, 75235,\n 75264, 75294, 75323, 75353, 75383, 75412, 75442, 75472, 75501, 75531, 75560, 75590, 75619, 75648, 75678, 75707, 75737, 75766, 75796, 75826,\n 75856, 75885, 75915, 75944, 75974, 76003, 76032, 76062, 76091, 76121, 76150, 76180, 76210, 76239, 76269, 76299, 76328, 76358, 76387, 76416,\n 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, 76682, 76712, 76741, 76771, 76801, 76830, 76859, 76889, 76918, 76948, 76977, 77007,\n 77036, 77066, 77096, 77125, 77155, 77185, 77214, 77243, 77273, 77302, 77332, 77361, 77390, 77420, 77450, 77479, 77509, 77539, 77569, 77598,\n 77627, 77657, 77686, 77715, 77745, 77774, 77804, 77833, 77863, 77893, 77923, 77952, 77982, 78011, 78041, 78070, 78099, 78129, 78158, 78188,\n 78217, 78247, 78277, 78307, 78336, 78366, 78395, 78425, 78454, 78483, 78513, 78542, 78572, 78601, 78631, 78661, 78690, 78720, 78750, 78779,\n 78808, 78838, 78867, 78897, 78926, 78956, 78985, 79015, 79044, 79074, 79104, 79133, 79163, 79192, 79222, 79251, 79281, 79310, 79340, 79369,\n 79399, 79428, 79458, 79487, 79517, 79546, 79576, 79606, 79635, 79665, 79695, 79724, 79753, 79783, 79812, 79841, 79871, 79900, 79930, 79960,\n 79990];\n\n\n\n/***/ }),\n\n/***/ \"7ad0\":\n/***/ (function(module, exports) {\n\nmodule.exports = perspective;\n\n/**\n * Generates a perspective projection matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\nfunction perspective(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf = 1 / (near - far);\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = (2 * far * near) * nf;\n out[15] = 0;\n return out;\n};\n\n/***/ }),\n\n/***/ \"7ae4\":\n/***/ (function(module, exports) {\n\nmodule.exports = lerp\n\n/**\n * Performs a linear interpolation between two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec4} out\n */\nfunction lerp (out, a, b, t) {\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3]\n out[0] = ax + t * (b[0] - ax)\n out[1] = ay + t * (b[1] - ay)\n out[2] = az + t * (b[2] - az)\n out[3] = aw + t * (b[3] - aw)\n return out\n}\n\n\n/***/ }),\n\n/***/ \"7b0b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ \"7b1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @module update-diff\r\n */\r\n\r\n\r\n\r\nmodule.exports = function updateDiff (obj, diff, mappers) {\r\n\tif (!Array.isArray(mappers)) mappers = [].slice.call(arguments, 2)\r\n\r\n\tfor (var i = 0, l = mappers.length; i < l; i++) {\r\n\t\tvar dict = mappers[i]\r\n\t\tfor (var prop in dict) {\r\n\t\t\tif (diff[prop] !== undefined && !Array.isArray(diff[prop]) && obj[prop] === diff[prop]) continue\r\n\r\n\t\t\tif (prop in diff) {\r\n\t\t\t\tvar result\r\n\r\n\t\t\t\tif (dict[prop] === true) result = diff[prop]\r\n\t\t\t\telse if (dict[prop] === false) continue\r\n\t\t\t\telse if (typeof dict[prop] === 'function') {\r\n\t\t\t\t\tresult = dict[prop](diff[prop], obj, diff)\r\n\t\t\t\t\tif (result === undefined) continue\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobj[prop] = result\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn obj\r\n}\r\n\n\n/***/ }),\n\n/***/ \"7ba3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n sunburstcolorway: {\n valType: 'colorlist',\n \n editType: 'calc',\n \n },\n extendsunburstcolors: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"7bb3\":\n/***/ (function(module, exports) {\n\nmodule.exports = dot\n\n/**\n * Calculates the dot product of two vec4's\n *\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {Number} dot product of a and b\n */\nfunction dot (a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]\n}\n\n\n/***/ }),\n\n/***/ \"7bbc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = alphaComplex\n\nvar delaunay = __webpack_require__(\"2357\")\nvar circumradius = __webpack_require__(\"8662\")\n\nfunction alphaComplex(alpha, points) {\n return delaunay(points).filter(function(cell) {\n var simplex = new Array(cell.length)\n for(var i=0; i 0.999) h = 0.999; // TODO: may handle this case separately\n var h2 = Math.pow(h, 2);\n\n var v1 = cd0.vTotal;\n var v0 = v1 * h2 / (1 - h2);\n\n var totalValues = v1;\n var sumSteps = v0 / v1;\n\n function calcPos() {\n var q = Math.sqrt(sumSteps);\n return {\n x: q,\n y: -q\n };\n }\n\n function getPoint() {\n var pos = calcPos();\n return [pos.x, pos.y];\n }\n\n var p;\n var allPoints = [];\n allPoints.push(getPoint());\n\n var i, cdi;\n for(i = cd.length - 1; i > -1; i--) {\n cdi = cd[i];\n if(cdi.hidden) continue;\n\n var step = cdi.v / totalValues;\n sumSteps += step;\n\n allPoints.push(getPoint());\n }\n\n var minY = Infinity;\n var maxY = -Infinity;\n for(i = 0; i < allPoints.length; i++) {\n p = allPoints[i];\n minY = Math.min(minY, p[1]);\n maxY = Math.max(maxY, p[1]);\n }\n\n // center the shape\n for(i = 0; i < allPoints.length; i++) {\n allPoints[i][1] -= (maxY + minY) / 2;\n }\n\n var lastX = allPoints[allPoints.length - 1][0];\n\n // get pie r\n var r = cd0.r;\n\n var rY = (maxY - minY) / 2;\n var scaleX = r / lastX;\n var scaleY = r / rY * aspectratio;\n\n // set funnelarea r\n cd0.r = scaleY * rY;\n\n // scale the shape\n for(i = 0; i < allPoints.length; i++) {\n allPoints[i][0] *= scaleX;\n allPoints[i][1] *= scaleY;\n }\n\n // record first position\n p = allPoints[0];\n var prevLeft = [-p[0], p[1]];\n var prevRight = [p[0], p[1]];\n\n var n = 0; // note we skip the very first point.\n for(i = cd.length - 1; i > -1; i--) {\n cdi = cd[i];\n if(cdi.hidden) continue;\n\n n += 1;\n var x = allPoints[n][0];\n var y = allPoints[n][1];\n\n cdi.TL = [-x, y];\n cdi.TR = [x, y];\n\n cdi.BL = prevLeft;\n cdi.BR = prevRight;\n\n cdi.pxmid = getBetween(cdi.TR, cdi.BR);\n\n prevLeft = cdi.TL;\n prevRight = cdi.TR;\n }\n}\n\n\n/***/ }),\n\n/***/ \"7c4a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"ff55\")() ? globalThis : __webpack_require__(\"c2c0\");\n\n\n/***/ }),\n\n/***/ \"7c67\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = permutationSign\n\nvar BRUTE_FORCE_CUTOFF = 32\n\nvar pool = __webpack_require__(\"cea5\")\n\nfunction permutationSign(p) {\n var n = p.length\n if(n < BRUTE_FORCE_CUTOFF) {\n //Use quadratic algorithm for small n\n var sgn = 1\n for(var i=0; i 7) {\n\t\t\t\t\tresult.push(seg.splice(0, 7))\n\t\t\t\t\tseg.unshift('C')\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'S':\n\t\t\t\t// default control point\n\t\t\t\tvar cx = x\n\t\t\t\tvar cy = y\n\t\t\t\tif (prev == 'C' || prev == 'S') {\n\t\t\t\t\tcx += cx - bezierX // reflect the previous command's control\n\t\t\t\t\tcy += cy - bezierY // point relative to the current point\n\t\t\t\t}\n\t\t\t\tseg = ['C', cx, cy, seg[1], seg[2], seg[3], seg[4]]\n\t\t\t\tbreak\n\t\t\tcase 'T':\n\t\t\t\tif (prev == 'Q' || prev == 'T') {\n\t\t\t\t\tquadX = x * 2 - quadX // as with 'S' reflect previous control point\n\t\t\t\t\tquadY = y * 2 - quadY\n\t\t\t\t} else {\n\t\t\t\t\tquadX = x\n\t\t\t\t\tquadY = y\n\t\t\t\t}\n\t\t\t\tseg = quadratic(x, y, quadX, quadY, seg[1], seg[2])\n\t\t\t\tbreak\n\t\t\tcase 'Q':\n\t\t\t\tquadX = seg[1]\n\t\t\t\tquadY = seg[2]\n\t\t\t\tseg = quadratic(x, y, seg[1], seg[2], seg[3], seg[4])\n\t\t\t\tbreak\n\t\t\tcase 'L':\n\t\t\t\tseg = line(x, y, seg[1], seg[2])\n\t\t\t\tbreak\n\t\t\tcase 'H':\n\t\t\t\tseg = line(x, y, seg[1], y)\n\t\t\t\tbreak\n\t\t\tcase 'V':\n\t\t\t\tseg = line(x, y, x, seg[1])\n\t\t\t\tbreak\n\t\t\tcase 'Z':\n\t\t\t\tseg = line(x, y, startX, startY)\n\t\t\t\tbreak\n\t\t}\n\n\t\t// update state\n\t\tprev = command\n\t\tx = seg[seg.length - 2]\n\t\ty = seg[seg.length - 1]\n\t\tif (seg.length > 4) {\n\t\t\tbezierX = seg[seg.length - 4]\n\t\t\tbezierY = seg[seg.length - 3]\n\t\t} else {\n\t\t\tbezierX = x\n\t\t\tbezierY = y\n\t\t}\n\t\tresult.push(seg)\n\t}\n\n\treturn result\n}\n\nfunction line(x1, y1, x2, y2){\n\treturn ['C', x1, y1, x2, y2, x2, y2]\n}\n\nfunction quadratic(x1, y1, cx, cy, x2, y2){\n\treturn [\n\t\t'C',\n\t\tx1/3 + (2/3) * cx,\n\t\ty1/3 + (2/3) * cy,\n\t\tx2/3 + (2/3) * cx,\n\t\ty2/3 + (2/3) * cy,\n\t\tx2,\n\t\ty2\n\t]\n}\n\n// This function is ripped from \n// github.com/DmitryBaranovskiy/raphael/blob/4d97d4/raphael.js#L2216-L2304 \n// which references w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n// TODO: make it human readable\n\nfunction arc(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n\tif (!recursive) {\n\t\tvar xy = rotate(x1, y1, -angle)\n\t\tx1 = xy.x\n\t\ty1 = xy.y\n\t\txy = rotate(x2, y2, -angle)\n\t\tx2 = xy.x\n\t\ty2 = xy.y\n\t\tvar x = (x1 - x2) / 2\n\t\tvar y = (y1 - y2) / 2\n\t\tvar h = (x * x) / (rx * rx) + (y * y) / (ry * ry)\n\t\tif (h > 1) {\n\t\t\th = Math.sqrt(h)\n\t\t\trx = h * rx\n\t\t\try = h * ry\n\t\t}\n\t\tvar rx2 = rx * rx\n\t\tvar ry2 = ry * ry\n\t\tvar k = (large_arc_flag == sweep_flag ? -1 : 1)\n\t\t\t* Math.sqrt(Math.abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x)))\n\t\tif (k == Infinity) k = 1 // neutralize\n\t\tvar cx = k * rx * y / ry + (x1 + x2) / 2\n\t\tvar cy = k * -ry * x / rx + (y1 + y2) / 2\n\t\tvar f1 = Math.asin(((y1 - cy) / ry).toFixed(9))\n\t\tvar f2 = Math.asin(((y2 - cy) / ry).toFixed(9))\n\n\t\tf1 = x1 < cx ? ฯ€ - f1 : f1\n\t\tf2 = x2 < cx ? ฯ€ - f2 : f2\n\t\tif (f1 < 0) f1 = ฯ€ * 2 + f1\n\t\tif (f2 < 0) f2 = ฯ€ * 2 + f2\n\t\tif (sweep_flag && f1 > f2) f1 = f1 - ฯ€ * 2\n\t\tif (!sweep_flag && f2 > f1) f2 = f2 - ฯ€ * 2\n\t} else {\n\t\tf1 = recursive[0]\n\t\tf2 = recursive[1]\n\t\tcx = recursive[2]\n\t\tcy = recursive[3]\n\t}\n\t// greater than 120 degrees requires multiple segments\n\tif (Math.abs(f2 - f1) > _120) {\n\t\tvar f2old = f2\n\t\tvar x2old = x2\n\t\tvar y2old = y2\n\t\tf2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1)\n\t\tx2 = cx + rx * Math.cos(f2)\n\t\ty2 = cy + ry * Math.sin(f2)\n\t\tvar res = arc(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy])\n\t}\n\tvar t = Math.tan((f2 - f1) / 4)\n\tvar hx = 4 / 3 * rx * t\n\tvar hy = 4 / 3 * ry * t\n\tvar curve = [\n\t\t2 * x1 - (x1 + hx * Math.sin(f1)),\n\t\t2 * y1 - (y1 - hy * Math.cos(f1)),\n\t\tx2 + hx * Math.sin(f2),\n\t\ty2 - hy * Math.cos(f2),\n\t\tx2,\n\t\ty2\n\t]\n\tif (recursive) return curve\n\tif (res) curve = curve.concat(res)\n\tfor (var i = 0; i < curve.length;) {\n\t\tvar rot = rotate(curve[i], curve[i+1], angle)\n\t\tcurve[i++] = rot.x\n\t\tcurve[i++] = rot.y\n\t}\n\treturn curve\n}\n\nfunction rotate(x, y, rad){\n\treturn {\n\t\tx: x * Math.cos(rad) - y * Math.sin(rad),\n\t\ty: x * Math.sin(rad) + y * Math.cos(rad)\n\t}\n}\n\nfunction radians(degress){\n\treturn degress * (ฯ€ / 180)\n}\n\n\n/***/ }),\n\n/***/ \"7c73\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar defineProperties = __webpack_require__(\"37e8\");\nvar enumBugKeys = __webpack_require__(\"7839\");\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar html = __webpack_require__(\"1be4\");\nvar documentCreateElement = __webpack_require__(\"cc12\");\nvar sharedKey = __webpack_require__(\"f772\");\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 */\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.github.io/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/***/ \"7c9f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'component',\n name: 'images',\n\n layoutAttributes: __webpack_require__(\"d72e\"),\n supplyLayoutDefaults: __webpack_require__(\"4b6a\"),\n includeBasePlot: __webpack_require__(\"37d1\")('images'),\n\n draw: __webpack_require__(\"ff49\"),\n\n convertCoords: __webpack_require__(\"6174\")\n};\n\n\n/***/ }),\n\n/***/ \"7d72\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Exports true if environment provides native `WeakMap` implementation, whatever that is.\n\n\n\nmodule.exports = (function () {\n\tif (typeof WeakMap !== \"function\") return false;\n\treturn Object.prototype.toString.call(new WeakMap()) === \"[object WeakMap]\";\n}());\n\n\n/***/ }),\n\n/***/ \"7d88\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar safeToString = __webpack_require__(\"1e0a\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\tif (string === null) return \"\";\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"โ€ฆ\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\tswitch (char) {\n\t\t\tcase \"\\n\":\n\t\t\t\treturn \"\\\\n\";\n\t\t\tcase \"\\r\":\n\t\t\t\treturn \"\\\\r\";\n\t\t\tcase \"\\u2028\":\n\t\t\t\treturn \"\\\\u2028\";\n\t\t\tcase \"\\u2029\":\n\t\t\t\treturn \"\\\\u2029\";\n\t\t\t/* istanbul ignore next */\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unexpected character\");\n\t\t}\n\t});\n\treturn string;\n};\n\n\n/***/ }),\n\n/***/ \"7dbb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n(function(aa,ia){ true?module.exports=ia():undefined})(this,function(){function aa(a,b){this.id=Ab++;this.type=a;this.data=b}function ia(a){if(0===a.length)return[];var b=a.charAt(0),c=a.charAt(a.length-1);if(1>>=b;c=(255>>=c;b|=c;c=(15>>=c;b|=c;c=(3>>c>>1}function cb(){function a(a){a:{for(var b=16;268435456>=b;b*=16)if(a<=b){a=b;break a}a=0}b=c[bb(a)>>2];return 0>2].push(a)}var c=J(8,function(){return[]});return{alloc:a,free:b,allocType:function(b,c){var d=null;switch(b){case 5120:d=new Int8Array(a(c),0,c);break;case 5121:d=new Uint8Array(a(c),0,c);break;case 5122:d=new Int16Array(a(2*c),0,c);break;case 5123:d=new Uint16Array(a(2*c),0,c);break;case 5124:d=new Int32Array(a(4*c),0,c);break;case 5125:d=new Uint32Array(a(4*c),0,c);break;case 5126:d=new Float32Array(a(4*c),0,c);break;default:return null}return d.length!==\nc?d.subarray(0,c):d},freeType:function(a){b(a.buffer)}}}function ma(a){return!!a&&\"object\"===typeof a&&Array.isArray(a.shape)&&Array.isArray(a.stride)&&\"number\"===typeof a.offset&&a.shape.length===a.stride.length&&(Array.isArray(a.data)||M(a.data))}function db(a,b,c,e,g,d){for(var p=0;pd&&(d=e.buffer.byteLength,5123===f?d>>=1:5125===f&&(d>>=2));e.vertCount=d;d=h;0>h&&(d=4,h=e.buffer.dimension,1===h&&(d=0),2===h&&(d=1),3===h&&(d=4));e.primType=d}function p(a){e.elementsCount--;delete f[a.id];a.buffer.destroy();a.buffer=null}var f={},r=0,q={uint8:5121,\nuint16:5123};b.oes_element_index_uint&&(q.uint32=5125);g.prototype.bind=function(){this.buffer.bind()};var t=[];return{create:function(a,b){function k(a){if(a)if(\"number\"===typeof a)h(a),l.primType=4,l.vertCount=a|0,l.type=5121;else{var b=null,c=35044,e=-1,g=-1,f=0,m=0;if(Array.isArray(a)||M(a)||ma(a))b=a;else if(\"data\"in a&&(b=a.data),\"usage\"in a&&(c=jb[a.usage]),\"primitive\"in a&&(e=Sa[a.primitive]),\"count\"in a&&(g=a.count|0),\"type\"in a&&(m=q[a.type]),\"length\"in a)f=a.length|0;else if(f=g,5123===\nm||5122===m)f*=2;else if(5125===m||5124===m)f*=4;d(l,b,c,e,g,f,m)}else h(),l.primType=4,l.vertCount=0,l.type=5121;return k}var h=c.create(null,34963,!0),l=new g(h._buffer);e.elementsCount++;k(a);k._reglType=\"elements\";k._elements=l;k.subdata=function(a,b){h.subdata(a,b);return k};k.destroy=function(){p(l)};return k},createStream:function(a){var b=t.pop();b||(b=new g(c.create(null,34963,!0,!1)._buffer));d(b,a,35040,-1,-1,0,0);return b},destroyStream:function(a){t.push(a)},getElements:function(a){return\"function\"===\ntypeof a&&a._elements instanceof g?a._elements:null},clear:function(){S(f).forEach(p)}}}function kb(a){for(var b=x.allocType(5123,a.length),c=0;c>>31<<15,d=(e<<1>>>24)-127,e=e>>13&1023;b[c]=-24>d?g:-14>d?g+(e+1024>>-14-d):15>=e,c.height>>=e,C(c,d[e]),a.mipmask|=1<b;++b)a.images[b]=null;return a}function ib(a){for(var b=a.images,c=0;cb){for(var c=0;c=--this.refCount&&A(this)}});p.profile&&(d.getTotalTextureSize=function(){var a=0;Object.keys(X).forEach(function(b){a+=X[b].stats.size});return a});return{create2D:function(b,c){function e(a,b){var c=f.texInfo;z.call(c);var d=D();\"number\"===typeof a?\"number\"===typeof b?\nv(d,a|0,b|0):v(d,a|0,a|0):a?(O(c,a),N(d,a)):v(d,1,1);c.genMipmaps&&(d.mipmask=(d.width<<1)-1);f.mipmask=d.mipmask;r(f,d);f.internalformat=d.internalformat;e.width=d.width;e.height=d.height;T(f);B(d,3553);R(c,3553);Aa();ib(d);p.profile&&(f.stats.size=Ja(f.internalformat,f.type,d.width,d.height,c.genMipmaps,!1));e.format=J[f.internalformat];e.type=da[f.type];e.mag=oa[c.magFilter];e.min=za[c.minFilter];e.wrapS=ka[c.wrapS];e.wrapT=ka[c.wrapT];return e}var f=new F(3553);X[f.id]=f;d.textureCount++;e(b,\nc);e.subimage=function(a,b,c,d){b|=0;c|=0;d|=0;var n=h();r(n,f);n.width=0;n.height=0;C(n,a);n.width=n.width||(f.width>>d)-b;n.height=n.height||(f.height>>d)-c;T(f);k(n,3553,b,c,d);Aa();l(n);return e};e.resize=function(b,c){var d=b|0,h=c|0||d;if(d===f.width&&h===f.height)return e;e.width=f.width=d;e.height=f.height=h;T(f);for(var n,w=f.channels,y=f.type,I=0;f.mipmask>>I;++I){var fa=d>>I,ga=h>>I;if(!fa||!ga)break;n=x.zero.allocType(y,fa*ga*w);a.texImage2D(3553,I,f.format,fa,ga,0,f.format,f.type,n);\nn&&x.zero.freeType(n)}Aa();p.profile&&(f.stats.size=Ja(f.internalformat,f.type,d,h,!1,!1));return e};e._reglType=\"texture2d\";e._texture=f;p.profile&&(e.stats=f.stats);e.destroy=function(){f.decRef()};return e},createCube:function(b,c,e,f,g,ua){function A(a,b,c,d,e,f){var H,Y=m.texInfo;z.call(Y);for(H=0;6>H;++H)n[H]=D();if(\"number\"===typeof a||!a)for(a=a|0||1,H=0;6>H;++H)v(n[H],a,a);else if(\"object\"===typeof a)if(b)N(n[0],a),N(n[1],b),N(n[2],c),N(n[3],d),N(n[4],e),N(n[5],f);else if(O(Y,a),q(m,a),\"faces\"in\na)for(a=a.faces,H=0;6>H;++H)r(n[H],m),N(n[H],a[H]);else for(H=0;6>H;++H)N(n[H],a);r(m,n[0]);m.mipmask=Y.genMipmaps?(n[0].width<<1)-1:n[0].mipmask;m.internalformat=n[0].internalformat;A.width=n[0].width;A.height=n[0].height;T(m);for(H=0;6>H;++H)B(n[H],34069+H);R(Y,34067);Aa();p.profile&&(m.stats.size=Ja(m.internalformat,m.type,A.width,A.height,Y.genMipmaps,!0));A.format=J[m.internalformat];A.type=da[m.type];A.mag=oa[Y.magFilter];A.min=za[Y.minFilter];A.wrapS=ka[Y.wrapS];A.wrapT=ka[Y.wrapT];for(H=0;6>\nH;++H)ib(n[H]);return A}var m=new F(34067);X[m.id]=m;d.cubeCount++;var n=Array(6);A(b,c,e,f,g,ua);A.subimage=function(a,b,c,n,d){c|=0;n|=0;d|=0;var e=h();r(e,m);e.width=0;e.height=0;C(e,b);e.width=e.width||(m.width>>d)-c;e.height=e.height||(m.height>>d)-n;T(m);k(e,34069+a,c,n,d);Aa();l(e);return A};A.resize=function(b){b|=0;if(b!==m.width){A.width=m.width=b;A.height=m.height=b;T(m);for(var c=0;6>c;++c)for(var n=0;m.mipmask>>n;++n)a.texImage2D(34069+c,n,m.format,b>>n,b>>n,0,m.format,m.type,null);Aa();\np.profile&&(m.stats.size=Ja(m.internalformat,m.type,A.width,A.height,!1,!0));return A}};A._reglType=\"textureCube\";A._texture=m;p.profile&&(A.stats=m.stats);A.destroy=function(){m.decRef()};return A},clear:function(){for(var b=0;bc;++c)if(0!==(b.mipmask&1<>c,b.height>>c,0,b.internalformat,b.type,null);else for(var d=0;6>d;++d)a.texImage2D(34069+d,c,b.internalformat,b.width>>c,b.height>>c,0,b.internalformat,b.type,null);R(b.texInfo,b.target)})}}}function Ob(a,b,c,e,g,d){function p(a,b,c){this.target=a;this.texture=b;this.renderbuffer=c;var d=a=0;b?(a=b.width,d=b.height):c&&(a=c.width,d=c.height);\nthis.width=a;this.height=d}function f(a){a&&(a.texture&&a.texture._texture.decRef(),a.renderbuffer&&a.renderbuffer._renderbuffer.decRef())}function r(a,b,c){a&&(a.texture?a.texture._texture.refCount+=1:a.renderbuffer._renderbuffer.refCount+=1)}function q(b,c){c&&(c.texture?a.framebufferTexture2D(36160,b,c.target,c.texture._texture.texture,0):a.framebufferRenderbuffer(36160,b,36161,c.renderbuffer._renderbuffer.renderbuffer))}function t(a){var b=3553,c=null,d=null,e=a;\"object\"===typeof a&&(e=a.data,\n\"target\"in a&&(b=a.target|0));a=e._reglType;\"texture2d\"===a?c=e:\"textureCube\"===a?c=e:\"renderbuffer\"===a&&(d=e,b=36161);return new p(b,c,d)}function m(a,b,c,d,f){if(c)return a=e.create2D({width:a,height:b,format:d,type:f}),a._texture.refCount=0,new p(3553,a,null);a=g.create({width:a,height:b,format:d});a._renderbuffer.refCount=0;return new p(36161,null,a)}function C(a){return a&&(a.texture||a.renderbuffer)}function k(a,b,c){a&&(a.texture?a.texture.resize(b,c):a.renderbuffer&&a.renderbuffer.resize(b,\nc),a.width=b,a.height=c)}function h(){this.id=O++;R[this.id]=this;this.framebuffer=a.createFramebuffer();this.height=this.width=0;this.colorAttachments=[];this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function l(a){a.colorAttachments.forEach(f);f(a.depthAttachment);f(a.stencilAttachment);f(a.depthStencilAttachment)}function u(b){a.deleteFramebuffer(b.framebuffer);b.framebuffer=null;d.framebufferCount--;delete R[b.id]}function v(b){var d;a.bindFramebuffer(36160,b.framebuffer);\nvar e=b.colorAttachments;for(d=0;dd;++d){for(m=0;ma;++a)c[a].resize(d);b.width=b.height=d;return b},_reglType:\"framebufferCube\",destroy:function(){c.forEach(function(a){a.destroy()})}})},\nclear:function(){S(R).forEach(u)},restore:function(){B.cur=null;B.next=null;B.dirty=!0;S(R).forEach(function(b){b.framebuffer=a.createFramebuffer();v(b)})}})}function ub(){this.w=this.z=this.y=this.x=this.state=0;this.buffer=null;this.size=0;this.normalized=!1;this.type=5126;this.divisor=this.stride=this.offset=0}function Pb(a,b,c,e){a=c.maxAttributes;b=Array(a);for(c=0;ca&&(a=b.stats.uniformsCount)});return a},c.getMaxAttributesCount=function(){var a=0;C.forEach(function(b){b.stats.attributesCount>a&&(a=b.stats.attributesCount)});return a});return{clear:function(){var b=a.deleteShader.bind(a);S(q).forEach(b);q={};S(t).forEach(b);t={};C.forEach(function(b){a.deleteProgram(b.program)});\nC.length=0;m={};c.shaderCount=0},program:function(a,b,d){var e=m[b];e||(e=m[b]={});var g=e[a];g||(g=new f(b,a),c.shaderCount++,r(g,d),e[a]=g,C.push(g));return g},restore:function(){q={};t={};for(var a=0;a\"+b+\"?\"+e+\".constant[\"+b+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",g,\"(\",e,\".buffer)){\",y,\"=\",n,\".createStream(\",34962,\",\",e,\".buffer);\",\"}else{\",y,\"=\",n,\".getBuffer(\",e,\".buffer);\",\"}\",k,'=\"type\" in ',e,\"?\",f.glTypes,\"[\",e,\".type]:\",y,\".dtype;\",\nw.normalized,\"=!!\",e,\".normalized;\");d(\"size\");d(\"offset\");d(\"stride\");d(\"divisor\");c(\"}}\");c.exit(\"if(\",w.isStream,\"){\",n,\".destroyStream(\",y,\");\",\"}\");return w})});return f}function M(a){var b=a[\"static\"],c=a.dynamic,d={};Object.keys(b).forEach(function(a){var c=b[a];d[a]=D(function(a,b){return\"number\"===typeof c||\"boolean\"===typeof c?\"\"+c:a.link(c)})});Object.keys(c).forEach(function(a){var b=c[a];d[a]=P(b,function(a,c){return a.invoke(c,b)})});return d}function A(a,b,c,d,e){var f=z(a,e),g=x(a,\nf,e),h=O(a,e),k=R(a,e),m=E(a,e),ba=g.viewport;ba&&(k.viewport=ba);ba=l(\"scissor.box\");(g=g[ba])&&(k[ba]=g);g=0>1)\",v],\");\")}function b(){c(u,\".drawArraysInstancedANGLE(\",[q,r,t,v],\");\")}p?da?a():(c(\"if(\",p,\"){\"),a(),c(\"}else{\"),b(),c(\"}\")):b()}function g(){function a(){c(k+\".drawElements(\"+[q,t,C,r+\"<<((\"+C+\"-5121)>>1)\"]+\");\")}function b(){c(k+\".drawArrays(\"+[q,r,t]+\");\")}p?da?a():(c(\"if(\",p,\"){\"),a(),c(\"}else{\"),b(),c(\"}\")):b()}var h=a.shared,k=h.gl,m=h.draw,l=d.draw,p=function(){var e=l.elements,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f)}else e=f.def(m,\n\".\",\"elements\");e&&f(\"if(\"+e+\")\"+k+\".bindBuffer(34963,\"+e+\".buffer.buffer);\");return e}(),q=e(\"primitive\"),r=e(\"offset\"),t=function(){var e=l.count,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f)}else e=f.def(m,\".\",\"count\");return e}();if(\"number\"===typeof t){if(0===t)return}else c(\"if(\",t,\"){\"),c.exit(\"}\");var v,u;ea&&(v=e(\"instances\"),u=a.instancing);var C=p+\".type\",da=l.elements&&va(l.elements);ea&&(\"number\"!==typeof v||0<=v)?\"string\"===typeof v?(c(\"if(\",v,\">0){\"),f(),\nc(\"}else if(\",v,\"<0){\"),g(),c(\"}\")):f():g()}function ca(a,b,c,d,e){b=N();e=b.proc(\"body\",e);ea&&(b.instancing=e.def(b.shared.extensions,\".angle_instanced_arrays\"));a(b,e,c,d);return b.compile().body}function L(a,b,c,d){wa(a,b);U(a,b,c,d.attributes,function(){return!0});W(a,b,c,d.uniforms,function(){return!0});S(a,b,b,c)}function da(a,b){var c=a.proc(\"draw\",1);wa(a,c);ua(a,c,b.context);K(a,c,b.framebuffer);V(a,c,b);Q(a,c,b.state);G(a,c,b,!1,!0);var d=b.shader.progVar.append(a,c);c(a.shared.gl,\".useProgram(\",\nd,\".program);\");if(b.shader.program)L(a,c,b,b.shader.program);else{var e=a.global.def(\"{}\"),f=c.def(d,\".id\"),g=c.def(e,\"[\",f,\"]\");c(a.cond(g).then(g,\".call(this,a0);\")[\"else\"](g,\"=\",e,\"[\",f,\"]=\",a.link(function(c){return ca(L,a,b,c,1)}),\"(\",d,\");\",g,\".call(this,a0);\"))}0=--this.refCount&&p(this)};g.profile&&(e.getTotalRenderbufferSize=function(){var a=0;Object.keys(t).forEach(function(b){a+=t[b].stats.size});return a});return{create:function(b,c){function k(b,c){var d=0,e=0,m=32854;\"object\"===typeof b&&b?(\"shape\"in b?(e=b.shape,d=e[0]|0,e=e[1]|0):(\"radius\"in b&&(d=e=b.radius|0),\"width\"in b&&(d=b.width|0),\"height\"in b&&(e=b.height|0)),\"format\"in b&&(m=f[b.format])):\"number\"===\ntypeof b?(d=b|0,e=\"number\"===typeof c?c|0:d):b||(d=e=1);if(d!==h.width||e!==h.height||m!==h.format)return k.width=h.width=d,k.height=h.height=e,h.format=m,a.bindRenderbuffer(36161,h.renderbuffer),a.renderbufferStorage(36161,m,d,e),g.profile&&(h.stats.size=Q[h.format]*h.width*h.height),k.format=r[h.format],k}var h=new d(a.createRenderbuffer());t[h.id]=h;e.renderbufferCount++;k(b,c);k.resize=function(b,c){var d=b|0,e=c|0||d;if(d===h.width&&e===h.height)return k;k.width=h.width=d;k.height=h.height=e;\na.bindRenderbuffer(36161,h.renderbuffer);a.renderbufferStorage(36161,h.format,d,e);g.profile&&(h.stats.size=Q[h.format]*h.width*h.height);return k};k._reglType=\"renderbuffer\";k._renderbuffer=h;g.profile&&(k.stats=h.stats);k.destroy=function(){h.decRef()};return k},clear:function(){S(t).forEach(p)},restore:function(){S(t).forEach(function(b){b.renderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,b.renderbuffer);a.renderbufferStorage(36161,b.format,b.width,b.height)});a.bindRenderbuffer(36161,\nnull)}}},Wa=[];Wa[6408]=4;Wa[6407]=3;var Na=[];Na[5121]=1;Na[5126]=4;Na[36193]=2;var Da=[\"x\",\"y\",\"z\",\"w\"],Ub=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),Ga={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\n\"one minus constant alpha\":32772,\"src alpha saturate\":776},Xa={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Pa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},wb={cw:2304,ccw:2305},xb=new Z(!1,!1,!1,function(){}),Xb=function(a,b){function c(){this.endQueryIndex=this.startQueryIndex=-1;this.sum=0;this.stats=\nnull}function e(a,b,d){var e=p.pop()||new c;e.startQueryIndex=a;e.endQueryIndex=b;e.sum=0;e.stats=d;f.push(e)}if(!b.ext_disjoint_timer_query)return null;var g=[],d=[],p=[],f=[],r=[],q=[];return{beginQuery:function(a){var c=g.pop()||b.ext_disjoint_timer_query.createQueryEXT();b.ext_disjoint_timer_query.beginQueryEXT(35007,c);d.push(c);e(d.length-1,d.length,a)},endQuery:function(){b.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:e,update:function(){var a,c;a=d.length;if(0!==a){q.length=\nMath.max(q.length,a+1);r.length=Math.max(r.length,a+1);r[0]=0;var e=q[0]=0;for(c=a=0;c=G.length&&e()}var c=yb(G,a);G[c]=b}}}function q(){var a=S.viewport,b=S.scissor_box;a[0]=a[1]=b[0]=b[1]=0;O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=a[2]=b[2]=k.drawingBufferWidth;O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=a[3]=b[3]=k.drawingBufferHeight}function t(){O.tick+=1;O.time=z();\nq();V.procs.poll()}function m(){q();V.procs.refresh();B&&B.update()}function z(){return(zb()-D)/1E3}a=Eb(a);if(!a)return null;var k=a.gl,h=k.getContextAttributes();k.isContextLost();var l=Fb(k,a);if(!l)return null;var u=Bb(),v={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},x=l.extensions,B=Xb(k,x),D=zb(),J=k.drawingBufferWidth,P=k.drawingBufferHeight,O={tick:0,time:0,viewportWidth:J,viewportHeight:P,framebufferWidth:J,\nframebufferHeight:P,drawingBufferWidth:J,drawingBufferHeight:P,pixelRatio:a.pixelRatio},R=Vb(k,x),J=Pb(k,x,R,u),F=Gb(k,v,a,J),T=Hb(k,x,F,v),Q=Qb(k,u,v,a),A=Kb(k,x,R,function(){V.procs.poll()},O,v,a),M=Wb(k,x,R,v,a),K=Ob(k,x,R,A,M,v),V=Tb(k,u,x,R,F,T,A,K,{},J,Q,{elements:null,primitive:4,count:-1,offset:0,instances:-1},O,B,a),u=Rb(k,K,V.procs.poll,O,h,x,R),S=V.next,L=k.canvas,G=[],U=[],W=[],Z=[a.onDestroy],ca=null;L&&(L.addEventListener(\"webglcontextlost\",g,!1),L.addEventListener(\"webglcontextrestored\",\nd,!1));var aa=K.setFBO=p({framebuffer:la.define.call(null,1,\"framebuffer\")});m();h=E(p,{clear:function(a){if(\"framebuffer\"in a)if(a.framebuffer&&\"framebufferCube\"===a.framebuffer_reglType)for(var b=0;6>b;++b)aa(E({framebuffer:a.framebuffer.faces[b]},a),f);else aa(a,f);else f(null,a)},prop:la.define.bind(null,1),context:la.define.bind(null,2),\"this\":la.define.bind(null,3),draw:p({}),buffer:function(a){return F.create(a,34962,!1,!1)},elements:function(a){return T.create(a,!1)},texture:A.create2D,cube:A.createCube,\nrenderbuffer:M.create,framebuffer:K.create,framebufferCube:K.createCube,attributes:h,frame:r,on:function(a,b){var c;switch(a){case \"frame\":return r(b);case \"lost\":c=U;break;case \"restore\":c=W;break;case \"destroy\":c=Z}c.push(b);return{cancel:function(){for(var a=0;a cache.ts + minInterval) {\n exec();\n return;\n }\n\n cache.timer = setTimeout(function() {\n exec();\n cache.timer = null;\n }, minInterval);\n};\n\nexports.done = function(id) {\n var cache = timerCache[id];\n if(!cache || !cache.timer) return Promise.resolve();\n\n return new Promise(function(resolve) {\n var previousOnDone = cache.onDone;\n cache.onDone = function onDone() {\n if(previousOnDone) previousOnDone();\n resolve();\n cache.onDone = null;\n };\n });\n};\n\n/**\n * Clear the throttle cache for one or all timers\n * @param {optional string} id:\n * if provided, clear just this timer\n * if omitted, clear all timers (mainly useful for testing)\n */\nexports.clear = function(id) {\n if(id) {\n _clearTimeout(timerCache[id]);\n delete timerCache[id];\n } else {\n for(var idi in timerCache) exports.clear(idi);\n }\n};\n\nfunction _clearTimeout(cache) {\n if(cache && cache.timer !== null) {\n clearTimeout(cache.timer);\n cache.timer = null;\n }\n}\n\n\n/***/ }),\n\n/***/ \"7e25\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\n\n/***/ }),\n\n/***/ \"7e55\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar tarjan = __webpack_require__(\"53cc\");\n\nmodule.exports = function findCircuits(edges) {\n var circuits = []; // Output\n\n var stack = [];\n var blocked = [];\n var B = {};\n var Ak = [];\n var s;\n\n function unblock(u) {\n blocked[u] = false;\n if(B.hasOwnProperty(u)) {\n Object.keys(B[u]).forEach(function(w) {\n delete B[u][w];\n if(blocked[w]) {unblock(w);}\n });\n }\n }\n\n function circuit(v) {\n var found = false;\n\n stack.push(v);\n blocked[v] = true;\n\n // L1\n var i;\n var w;\n for(i = 0; i < Ak[v].length; i++) {\n w = Ak[v][i];\n if(w === s) {\n output(s, stack);\n found = true;\n } else if(!blocked[w]) {\n found = circuit(w);\n }\n }\n\n // L2\n if(found) {\n unblock(v);\n } else {\n for(i = 0; i < Ak[v].length; i++) {\n w = Ak[v][i];\n var entry = B[w];\n\n if(!entry) {\n entry = {};\n B[w] = entry;\n }\n\n entry[w] = true;\n }\n }\n stack.pop();\n return found;\n }\n\n function output(start, stack) {\n var cycle = [].concat(stack).concat(start);\n circuits.push(cycle);\n }\n\n function subgraph(minId) {\n // Remove edges with indice smaller than minId\n for(var i = 0; i < edges.length; i++) {\n if(i < minId) edges[i] = [];\n edges[i] = edges[i].filter(function(i) {\n return i >= minId;\n });\n }\n }\n\n function adjacencyStructureSCC(from) {\n // Make subgraph starting from vertex minId\n subgraph(from);\n var g = edges;\n\n // Find strongly connected components using Tarjan algorithm\n var sccs = tarjan(g);\n\n // Filter out trivial connected components (ie. made of one node)\n var ccs = sccs.components.filter(function(scc) {\n return scc.length > 1;\n });\n\n // Find least vertex\n var leastVertex = Infinity;\n var leastVertexComponent;\n for(var i = 0; i < ccs.length; i++) {\n for(var j = 0; j < ccs[i].length; j++) {\n if(ccs[i][j] < leastVertex) {\n leastVertex = ccs[i][j];\n leastVertexComponent = i;\n }\n }\n }\n\n var cc = ccs[leastVertexComponent];\n\n if(!cc) return false;\n\n // Return the adjacency list of first component\n var adjList = edges.map(function(l, index) {\n if(cc.indexOf(index) === -1) return [];\n return l.filter(function(i) {\n return cc.indexOf(i) !== -1;\n });\n });\n\n return {\n leastVertex: leastVertex,\n adjList: adjList\n };\n }\n\n s = 0;\n var n = edges.length;\n while(s < n) {\n // find strong component with least vertex in\n // subgraph starting from vertex `s`\n var p = adjacencyStructureSCC(s);\n\n // Its least vertex\n s = p.leastVertex;\n // Its adjacency list\n Ak = p.adjList;\n\n if(Ak) {\n for(var i = 0; i < Ak.length; i++) {\n for(var j = 0; j < Ak[i].length; j++) {\n var vertexId = Ak[i][j];\n blocked[+vertexId] = false;\n B[vertexId] = {};\n }\n }\n circuit(s);\n s = s + 1;\n } else {\n s = n;\n }\n\n }\n\n return circuits;\n};\n\n\n/***/ }),\n\n/***/ \"7e91\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createAttributeWrapper\n\nvar GLError = __webpack_require__(\"a3fd\")\n\nfunction ShaderAttribute(\n gl\n , wrapper\n , index\n , locations\n , dimension\n , constFunc) {\n this._gl = gl\n this._wrapper = wrapper\n this._index = index\n this._locations = locations\n this._dimension = dimension\n this._constFunc = constFunc\n}\n\nvar proto = ShaderAttribute.prototype\n\nproto.pointer = function setAttribPointer(\n type\n , normalized\n , stride\n , offset) {\n\n var self = this\n var gl = self._gl\n var location = self._locations[self._index]\n\n gl.vertexAttribPointer(\n location\n , self._dimension\n , type || gl.FLOAT\n , !!normalized\n , stride || 0\n , offset || 0)\n gl.enableVertexAttribArray(location)\n}\n\nproto.set = function(x0, x1, x2, x3) {\n return this._constFunc(this._locations[this._index], x0, x1, x2, x3)\n}\n\nObject.defineProperty(proto, 'location', {\n get: function() {\n return this._locations[this._index]\n }\n , set: function(v) {\n if(v !== this._locations[this._index]) {\n this._locations[this._index] = v|0\n this._wrapper.program = null\n }\n return v|0\n }\n})\n\n//Adds a vector attribute to obj\nfunction addVectorAttribute(\n gl\n , wrapper\n , index\n , locations\n , dimension\n , obj\n , name) {\n\n //Construct constant function\n var constFuncArgs = [ 'gl', 'v' ]\n var varNames = []\n for(var i=0; i= 0) {\n var d = type.charCodeAt(type.length-1) - 48\n if(d < 2 || d > 4) {\n throw new GLError('', 'Invalid data type for attribute ' + name + ': ' + type)\n }\n addVectorAttribute(\n gl\n , wrapper\n , locs[0]\n , locations\n , d\n , obj\n , name)\n } else if(type.indexOf('mat') >= 0) {\n var d = type.charCodeAt(type.length-1) - 48\n if(d < 2 || d > 4) {\n throw new GLError('', 'Invalid data type for attribute ' + name + ': ' + type)\n }\n addMatrixAttribute(\n gl\n , wrapper\n , locs\n , locations\n , d\n , obj\n , name)\n } else {\n throw new GLError('', 'Unknown data type for attribute ' + name + ': ' + type)\n }\n break\n }\n }\n return obj\n}\n\n\n/***/ }),\n\n/***/ \"7e96\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var labels = {};\n\n var mockGd = {_fullLayout: fullLayout};\n var xa = Axes.getFromTrace(mockGd, trace, 'x');\n var ya = Axes.getFromTrace(mockGd, trace, 'y');\n\n labels.xLabel = Axes.tickText(xa, cdi.x, true).text;\n labels.yLabel = Axes.tickText(ya, cdi.y, true).text;\n\n return labels;\n};\n\n\n/***/ }),\n\n/***/ \"7eee\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar attributes = __webpack_require__(\"8c2d\");\n\nvar xyAttrs = {\n error_x: Lib.extendFlat({}, attributes),\n error_y: Lib.extendFlat({}, attributes)\n};\ndelete xyAttrs.error_x.copy_zstyle;\ndelete xyAttrs.error_y.copy_zstyle;\ndelete xyAttrs.error_y.copy_ystyle;\n\nvar xyzAttrs = {\n error_x: Lib.extendFlat({}, attributes),\n error_y: Lib.extendFlat({}, attributes),\n error_z: Lib.extendFlat({}, attributes)\n};\ndelete xyzAttrs.error_x.copy_ystyle;\ndelete xyzAttrs.error_y.copy_ystyle;\ndelete xyzAttrs.error_z.copy_ystyle;\ndelete xyzAttrs.error_z.copy_zstyle;\n\nmodule.exports = {\n moduleType: 'component',\n name: 'errorbars',\n\n schema: {\n traces: {\n scatter: xyAttrs,\n bar: xyAttrs,\n histogram: xyAttrs,\n scatter3d: overrideAll(xyzAttrs, 'calc', 'nested'),\n scattergl: overrideAll(xyAttrs, 'calc', 'nested')\n }\n },\n\n supplyDefaults: __webpack_require__(\"2015\"),\n\n calc: __webpack_require__(\"db3f\"),\n makeComputeError: __webpack_require__(\"3c31\"),\n\n plot: __webpack_require__(\"553a\"),\n style: __webpack_require__(\"afdd\"),\n hoverInfo: hoverInfo\n};\n\nfunction hoverInfo(calcPoint, trace, hoverPoint) {\n if((trace.error_y || {}).visible) {\n hoverPoint.yerr = calcPoint.yh - calcPoint.y;\n if(!trace.error_y.symmetric) hoverPoint.yerrneg = calcPoint.y - calcPoint.ys;\n }\n if((trace.error_x || {}).visible) {\n hoverPoint.xerr = calcPoint.xh - calcPoint.x;\n if(!trace.error_x.symmetric) hoverPoint.xerrneg = calcPoint.x - calcPoint.xs;\n }\n}\n\n\n/***/ }),\n\n/***/ \"7f20\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @module color-rgba */\n\n\n\nvar parse = __webpack_require__(\"e7cb\")\nvar hsl = __webpack_require__(\"13c3\")\nvar clamp = __webpack_require__(\"53a5\")\n\nmodule.exports = function rgba (color) {\n\tvar values, i, l\n\n\t//attempt to parse non-array arguments\n\tvar parsed = parse(color)\n\n\tif (!parsed.space) return []\n\n\tvalues = Array(3)\n\tvalues[0] = clamp(parsed.values[0], 0, 255)\n\tvalues[1] = clamp(parsed.values[1], 0, 255)\n\tvalues[2] = clamp(parsed.values[2], 0, 255)\n\n\tif (parsed.space[0] === 'h') {\n\t\tvalues = hsl.rgb(values)\n\t}\n\n\tvalues.push(clamp(parsed.alpha, 0, 1))\n\n\treturn values\n}\n\n\n/***/ }),\n\n/***/ \"7f6b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ndarray = __webpack_require__(\"b5bb\")\nvar do_convert = __webpack_require__(\"c808\")\n\nmodule.exports = function convert(arr, result) {\n var shape = [], c = arr, sz = 1\n while(Array.isArray(c)) {\n shape.push(c.length)\n sz *= c.length\n c = c[0]\n }\n if(shape.length === 0) {\n return ndarray()\n }\n if(!result) {\n result = ndarray(new Float64Array(sz), shape)\n }\n do_convert(result, arr)\n return result\n}\n\n\n/***/ }),\n\n/***/ \"7f9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar inspectSource = __webpack_require__(\"8925\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n\n/***/ \"7f9b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createShaderWrapper = __webpack_require__(\"28dd\")\nvar glslify = __webpack_require__(\"e98f\")\n\nvar perspectiveVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = 1.0;\\n if(distance(highlightId, id) < 0.0001) {\\n scale = highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1);\\n vec4 viewPosition = view * worldPosition;\\n viewPosition = viewPosition / viewPosition.w;\\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"])\nvar orthographicVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = pixelRatio;\\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n scale *= highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1.0);\\n vec4 viewPosition = view * worldPosition;\\n vec4 clipPosition = projection * viewPosition;\\n clipPosition /= clipPosition.w;\\n\\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"])\nvar projectionVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float lscale = pixelRatio * scale;\\n if(distance(highlightId, id) < 0.0001) {\\n lscale *= highlightScale;\\n }\\n\\n vec4 clipCenter = projection * view * model * vec4(position, 1);\\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = dataPosition;\\n }\\n}\\n\"])\nvar drawFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (\\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n interpColor.a * opacity == 0.\\n ) discard;\\n gl_FragColor = interpColor * opacity;\\n}\\n\"])\nvar pickFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"])\n\nvar ATTRIBUTES = [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'glyph', type: 'vec2'},\n {name: 'id', type: 'vec4'}\n]\n\nvar perspective = {\n vertex: perspectiveVertSrc,\n fragment: drawFragSrc,\n attributes: ATTRIBUTES\n },\n ortho = {\n vertex: orthographicVertSrc,\n fragment: drawFragSrc,\n attributes: ATTRIBUTES\n },\n project = {\n vertex: projectionVertSrc,\n fragment: drawFragSrc,\n attributes: ATTRIBUTES\n },\n pickPerspective = {\n vertex: perspectiveVertSrc,\n fragment: pickFragSrc,\n attributes: ATTRIBUTES\n },\n pickOrtho = {\n vertex: orthographicVertSrc,\n fragment: pickFragSrc,\n attributes: ATTRIBUTES\n },\n pickProject = {\n vertex: projectionVertSrc,\n fragment: pickFragSrc,\n attributes: ATTRIBUTES\n }\n\nfunction createShader(gl, src) {\n var shader = createShaderWrapper(gl, src)\n var attr = shader.attributes\n attr.position.location = 0\n attr.color.location = 1\n attr.glyph.location = 2\n attr.id.location = 3\n return shader\n}\n\nexports.createPerspective = function(gl) {\n return createShader(gl, perspective)\n}\nexports.createOrtho = function(gl) {\n return createShader(gl, ortho)\n}\nexports.createProject = function(gl) {\n return createShader(gl, project)\n}\nexports.createPickPerspective = function(gl) {\n return createShader(gl, pickPerspective)\n}\nexports.createPickOrtho = function(gl) {\n return createShader(gl, pickOrtho)\n}\nexports.createPickProject = function(gl) {\n return createShader(gl, pickProject)\n}\n\n\n/***/ }),\n\n/***/ \"7f9e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar binFunctions = __webpack_require__(\"6dcc\");\nvar normFunctions = __webpack_require__(\"c005\");\nvar doAvg = __webpack_require__(\"9547\");\nvar getBinSpanLabelRound = __webpack_require__(\"5913\");\nvar calcAllAutoBins = __webpack_require__(\"0c39\").calcAllAutoBins;\n\nmodule.exports = function calc(gd, trace) {\n var xa = Axes.getFromId(gd, trace.xaxis);\n var ya = Axes.getFromId(gd, trace.yaxis);\n\n var xcalendar = trace.xcalendar;\n var ycalendar = trace.ycalendar;\n var xr2c = function(v) { return xa.r2c(v, 0, xcalendar); };\n var yr2c = function(v) { return ya.r2c(v, 0, ycalendar); };\n var xc2r = function(v) { return xa.c2r(v, 0, xcalendar); };\n var yc2r = function(v) { return ya.c2r(v, 0, ycalendar); };\n\n var i, j, n, m;\n\n // calculate the bins\n var xBinsAndPos = calcAllAutoBins(gd, trace, xa, 'x');\n var xBinSpec = xBinsAndPos[0];\n var xPos0 = xBinsAndPos[1];\n var yBinsAndPos = calcAllAutoBins(gd, trace, ya, 'y');\n var yBinSpec = yBinsAndPos[0];\n var yPos0 = yBinsAndPos[1];\n\n var serieslen = trace._length;\n if(xPos0.length > serieslen) xPos0.splice(serieslen, xPos0.length - serieslen);\n if(yPos0.length > serieslen) yPos0.splice(serieslen, yPos0.length - serieslen);\n\n // make the empty bin array & scale the map\n var z = [];\n var onecol = [];\n var zerocol = [];\n var nonuniformBinsX = typeof xBinSpec.size === 'string';\n var nonuniformBinsY = typeof yBinSpec.size === 'string';\n var xEdges = [];\n var yEdges = [];\n var xbins = nonuniformBinsX ? xEdges : xBinSpec;\n var ybins = nonuniformBinsY ? yEdges : yBinSpec;\n var total = 0;\n var counts = [];\n var inputPoints = [];\n var norm = trace.histnorm;\n var func = trace.histfunc;\n var densitynorm = norm.indexOf('density') !== -1;\n var extremefunc = func === 'max' || func === 'min';\n var sizeinit = extremefunc ? null : 0;\n var binfunc = binFunctions.count;\n var normfunc = normFunctions[norm];\n var doavg = false;\n var xinc = [];\n var yinc = [];\n\n // set a binning function other than count?\n // for binning functions: check first for 'z',\n // then 'mc' in case we had a colored scatter plot\n // and want to transfer these colors to the 2D histo\n // TODO: axe this, make it the responsibility of the app changing type? or an impliedEdit?\n var rawCounterData = ('z' in trace) ?\n trace.z :\n (('marker' in trace && Array.isArray(trace.marker.color)) ?\n trace.marker.color : '');\n if(rawCounterData && func !== 'count') {\n doavg = func === 'avg';\n binfunc = binFunctions[func];\n }\n\n // decrease end a little in case of rounding errors\n var xBinSize = xBinSpec.size;\n var xBinStart = xr2c(xBinSpec.start);\n var xBinEnd = xr2c(xBinSpec.end) +\n (xBinStart - Axes.tickIncrement(xBinStart, xBinSize, false, xcalendar)) / 1e6;\n\n for(i = xBinStart; i < xBinEnd; i = Axes.tickIncrement(i, xBinSize, false, xcalendar)) {\n onecol.push(sizeinit);\n xEdges.push(i);\n if(doavg) zerocol.push(0);\n }\n xEdges.push(i);\n\n var nx = onecol.length;\n var dx = (i - xBinStart) / nx;\n var x0 = xc2r(xBinStart + dx / 2);\n\n var yBinSize = yBinSpec.size;\n var yBinStart = yr2c(yBinSpec.start);\n var yBinEnd = yr2c(yBinSpec.end) +\n (yBinStart - Axes.tickIncrement(yBinStart, yBinSize, false, ycalendar)) / 1e6;\n\n for(i = yBinStart; i < yBinEnd; i = Axes.tickIncrement(i, yBinSize, false, ycalendar)) {\n z.push(onecol.slice());\n yEdges.push(i);\n var ipCol = new Array(nx);\n for(j = 0; j < nx; j++) ipCol[j] = [];\n inputPoints.push(ipCol);\n if(doavg) counts.push(zerocol.slice());\n }\n yEdges.push(i);\n\n var ny = z.length;\n var dy = (i - yBinStart) / ny;\n var y0 = yc2r(yBinStart + dy / 2);\n\n if(densitynorm) {\n xinc = makeIncrements(onecol.length, xbins, dx, nonuniformBinsX);\n yinc = makeIncrements(z.length, ybins, dy, nonuniformBinsY);\n }\n\n // for date axes we need bin bounds to be calcdata. For nonuniform bins\n // we already have this, but uniform with start/end/size they're still strings.\n if(!nonuniformBinsX && xa.type === 'date') xbins = binsToCalc(xr2c, xbins);\n if(!nonuniformBinsY && ya.type === 'date') ybins = binsToCalc(yr2c, ybins);\n\n // put data into bins\n var uniqueValsPerX = true;\n var uniqueValsPerY = true;\n var xVals = new Array(nx);\n var yVals = new Array(ny);\n var xGapLow = Infinity;\n var xGapHigh = Infinity;\n var yGapLow = Infinity;\n var yGapHigh = Infinity;\n for(i = 0; i < serieslen; i++) {\n var xi = xPos0[i];\n var yi = yPos0[i];\n n = Lib.findBin(xi, xbins);\n m = Lib.findBin(yi, ybins);\n if(n >= 0 && n < nx && m >= 0 && m < ny) {\n total += binfunc(n, i, z[m], rawCounterData, counts[m]);\n inputPoints[m][n].push(i);\n\n if(uniqueValsPerX) {\n if(xVals[n] === undefined) xVals[n] = xi;\n else if(xVals[n] !== xi) uniqueValsPerX = false;\n }\n if(uniqueValsPerY) {\n if(yVals[m] === undefined) yVals[m] = yi;\n else if(yVals[m] !== yi) uniqueValsPerY = false;\n }\n\n xGapLow = Math.min(xGapLow, xi - xEdges[n]);\n xGapHigh = Math.min(xGapHigh, xEdges[n + 1] - xi);\n yGapLow = Math.min(yGapLow, yi - yEdges[m]);\n yGapHigh = Math.min(yGapHigh, yEdges[m + 1] - yi);\n }\n }\n // normalize, if needed\n if(doavg) {\n for(m = 0; m < ny; m++) total += doAvg(z[m], counts[m]);\n }\n if(normfunc) {\n for(m = 0; m < ny; m++) normfunc(z[m], total, xinc, yinc[m]);\n }\n\n return {\n x: xPos0,\n xRanges: getRanges(xEdges, uniqueValsPerX && xVals, xGapLow, xGapHigh, xa, xcalendar),\n x0: x0,\n dx: dx,\n y: yPos0,\n yRanges: getRanges(yEdges, uniqueValsPerY && yVals, yGapLow, yGapHigh, ya, ycalendar),\n y0: y0,\n dy: dy,\n z: z,\n pts: inputPoints\n };\n};\n\nfunction makeIncrements(len, bins, dv, nonuniform) {\n var out = new Array(len);\n var i;\n if(nonuniform) {\n for(i = 0; i < len; i++) out[i] = 1 / (bins[i + 1] - bins[i]);\n } else {\n var inc = 1 / dv;\n for(i = 0; i < len; i++) out[i] = inc;\n }\n return out;\n}\n\nfunction binsToCalc(r2c, bins) {\n return {\n start: r2c(bins.start),\n end: r2c(bins.end),\n size: bins.size\n };\n}\n\nfunction getRanges(edges, uniqueVals, gapLow, gapHigh, ax, calendar) {\n var i;\n var len = edges.length - 1;\n var out = new Array(len);\n var roundFn = getBinSpanLabelRound(gapLow, gapHigh, edges, ax, calendar);\n\n for(i = 0; i < len; i++) {\n var v = (uniqueVals || [])[i];\n out[i] = v === undefined ?\n [roundFn(edges[i]), roundFn(edges[i + 1], true)] :\n [v, v];\n }\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"7fb7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n // hover labels for multiple horizontal bars get tilted by this angle\n YANGLE: 60,\n\n // size and display constants for hover text\n\n // pixel size of hover arrows\n HOVERARROWSIZE: 6,\n // pixels padding around text\n HOVERTEXTPAD: 3,\n // hover font\n HOVERFONTSIZE: 13,\n HOVERFONT: 'Arial, sans-serif',\n\n // minimum time (msec) between hover calls\n HOVERMINTIME: 50,\n\n // ID suffix (with fullLayout._uid) for hover events in the throttle cache\n HOVERID: '-hover'\n};\n\n\n/***/ }),\n\n/***/ \"7fbb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = function calcGridlines(trace, axisLetter, crossAxisLetter) {\n var i, j, j0;\n var eps, bounds, n1, n2, n, value, v;\n var j1, v0, v1, d;\n\n var data = trace['_' + axisLetter];\n var axis = trace[axisLetter + 'axis'];\n\n var gridlines = axis._gridlines = [];\n var minorgridlines = axis._minorgridlines = [];\n var boundarylines = axis._boundarylines = [];\n\n var crossData = trace['_' + crossAxisLetter];\n var crossAxis = trace[crossAxisLetter + 'axis'];\n\n if(axis.tickmode === 'array') {\n axis.tickvals = data.slice();\n }\n\n var xcp = trace._xctrl;\n var ycp = trace._yctrl;\n var nea = xcp[0].length;\n var neb = xcp.length;\n var na = trace._a.length;\n var nb = trace._b.length;\n\n Axes.prepTicks(axis);\n\n // don't leave tickvals in axis looking like an attribute\n if(axis.tickmode === 'array') delete axis.tickvals;\n\n // The default is an empty array that will cause the join to remove the gridline if\n // it's just disappeared:\n // axis._startline = axis._endline = [];\n\n // If the cross axis uses bicubic interpolation, then the grid\n // lines fall once every three expanded grid row/cols:\n var stride = axis.smoothing ? 3 : 1;\n\n function constructValueGridline(value) {\n var i, j, j0, tj, pxy, i0, ti, xy, dxydi0, dxydi1, dxydj0, dxydj1;\n var xpoints = [];\n var ypoints = [];\n var ret = {};\n // Search for the fractional grid index giving this line:\n if(axisLetter === 'b') {\n // For the position we use just the i-j coordinates:\n j = trace.b2j(value);\n\n // The derivatives for catmull-rom splines are discontinuous across cell\n // boundaries though, so we need to provide both the cell and the position\n // within the cell separately:\n j0 = Math.floor(Math.max(0, Math.min(nb - 2, j)));\n tj = j - j0;\n\n ret.length = nb;\n ret.crossLength = na;\n\n ret.xy = function(i) {\n return trace.evalxy([], i, j);\n };\n\n ret.dxy = function(i0, ti) {\n return trace.dxydi([], i0, j0, ti, tj);\n };\n\n for(i = 0; i < na; i++) {\n i0 = Math.min(na - 2, i);\n ti = i - i0;\n xy = trace.evalxy([], i, j);\n\n if(crossAxis.smoothing && i > 0) {\n // First control point:\n dxydi0 = trace.dxydi([], i - 1, j0, 0, tj);\n xpoints.push(pxy[0] + dxydi0[0] / 3);\n ypoints.push(pxy[1] + dxydi0[1] / 3);\n\n // Second control point:\n dxydi1 = trace.dxydi([], i - 1, j0, 1, tj);\n xpoints.push(xy[0] - dxydi1[0] / 3);\n ypoints.push(xy[1] - dxydi1[1] / 3);\n }\n\n xpoints.push(xy[0]);\n ypoints.push(xy[1]);\n\n pxy = xy;\n }\n } else {\n i = trace.a2i(value);\n i0 = Math.floor(Math.max(0, Math.min(na - 2, i)));\n ti = i - i0;\n\n ret.length = na;\n ret.crossLength = nb;\n\n ret.xy = function(j) {\n return trace.evalxy([], i, j);\n };\n\n ret.dxy = function(j0, tj) {\n return trace.dxydj([], i0, j0, ti, tj);\n };\n\n for(j = 0; j < nb; j++) {\n j0 = Math.min(nb - 2, j);\n tj = j - j0;\n xy = trace.evalxy([], i, j);\n\n if(crossAxis.smoothing && j > 0) {\n // First control point:\n dxydj0 = trace.dxydj([], i0, j - 1, ti, 0);\n xpoints.push(pxy[0] + dxydj0[0] / 3);\n ypoints.push(pxy[1] + dxydj0[1] / 3);\n\n // Second control point:\n dxydj1 = trace.dxydj([], i0, j - 1, ti, 1);\n xpoints.push(xy[0] - dxydj1[0] / 3);\n ypoints.push(xy[1] - dxydj1[1] / 3);\n }\n\n xpoints.push(xy[0]);\n ypoints.push(xy[1]);\n\n pxy = xy;\n }\n }\n\n ret.axisLetter = axisLetter;\n ret.axis = axis;\n ret.crossAxis = crossAxis;\n ret.value = value;\n ret.constvar = crossAxisLetter;\n ret.index = n;\n ret.x = xpoints;\n ret.y = ypoints;\n ret.smoothing = crossAxis.smoothing;\n\n return ret;\n }\n\n function constructArrayGridline(idx) {\n var j, i0, j0, ti, tj;\n var xpoints = [];\n var ypoints = [];\n var ret = {};\n ret.length = data.length;\n ret.crossLength = crossData.length;\n\n if(axisLetter === 'b') {\n j0 = Math.max(0, Math.min(nb - 2, idx));\n tj = Math.min(1, Math.max(0, idx - j0));\n\n ret.xy = function(i) {\n return trace.evalxy([], i, idx);\n };\n\n ret.dxy = function(i0, ti) {\n return trace.dxydi([], i0, j0, ti, tj);\n };\n\n // In the tickmode: array case, this operation is a simple\n // transfer of data:\n for(j = 0; j < nea; j++) {\n xpoints[j] = xcp[idx * stride][j];\n ypoints[j] = ycp[idx * stride][j];\n }\n } else {\n i0 = Math.max(0, Math.min(na - 2, idx));\n ti = Math.min(1, Math.max(0, idx - i0));\n\n ret.xy = function(j) {\n return trace.evalxy([], idx, j);\n };\n\n ret.dxy = function(j0, tj) {\n return trace.dxydj([], i0, j0, ti, tj);\n };\n\n // In the tickmode: array case, this operation is a simple\n // transfer of data:\n for(j = 0; j < neb; j++) {\n xpoints[j] = xcp[j][idx * stride];\n ypoints[j] = ycp[j][idx * stride];\n }\n }\n\n ret.axisLetter = axisLetter;\n ret.axis = axis;\n ret.crossAxis = crossAxis;\n ret.value = data[idx];\n ret.constvar = crossAxisLetter;\n ret.index = idx;\n ret.x = xpoints;\n ret.y = ypoints;\n ret.smoothing = crossAxis.smoothing;\n\n return ret;\n }\n\n if(axis.tickmode === 'array') {\n // var j0 = axis.startline ? 1 : 0;\n // var j1 = data.length - (axis.endline ? 1 : 0);\n\n eps = 5e-15;\n bounds = [\n Math.floor(((data.length - 1) - axis.arraytick0) / axis.arraydtick * (1 + eps)),\n Math.ceil((- axis.arraytick0) / axis.arraydtick / (1 + eps))\n ].sort(function(a, b) {return a - b;});\n\n // Unpack sorted values so we can be sure to avoid infinite loops if something\n // is backwards:\n n1 = bounds[0] - 1;\n n2 = bounds[1] + 1;\n\n // If the axes fall along array lines, then this is a much simpler process since\n // we already have all the control points we need\n for(n = n1; n < n2; n++) {\n j = axis.arraytick0 + axis.arraydtick * n;\n if(j < 0 || j > data.length - 1) continue;\n gridlines.push(extendFlat(constructArrayGridline(j), {\n color: axis.gridcolor,\n width: axis.gridwidth\n }));\n }\n\n for(n = n1; n < n2; n++) {\n j0 = axis.arraytick0 + axis.arraydtick * n;\n j1 = Math.min(j0 + axis.arraydtick, data.length - 1);\n\n // TODO: fix the bounds computation so we don't have to do a large range and then throw\n // out unneeded numbers\n if(j0 < 0 || j0 > data.length - 1) continue;\n if(j1 < 0 || j1 > data.length - 1) continue;\n\n v0 = data[j0];\n v1 = data[j1];\n\n for(i = 0; i < axis.minorgridcount; i++) {\n d = j1 - j0;\n\n // TODO: fix the bounds computation so we don't have to do a large range and then throw\n // out unneeded numbers\n if(d <= 0) continue;\n\n // XXX: This calculation isn't quite right. Off by one somewhere?\n v = v0 + (v1 - v0) * (i + 1) / (axis.minorgridcount + 1) * (axis.arraydtick / d);\n\n // TODO: fix the bounds computation so we don't have to do a large range and then throw\n // out unneeded numbers\n if(v < data[0] || v > data[data.length - 1]) continue;\n minorgridlines.push(extendFlat(constructValueGridline(v), {\n color: axis.minorgridcolor,\n width: axis.minorgridwidth\n }));\n }\n }\n\n if(axis.startline) {\n boundarylines.push(extendFlat(constructArrayGridline(0), {\n color: axis.startlinecolor,\n width: axis.startlinewidth\n }));\n }\n\n if(axis.endline) {\n boundarylines.push(extendFlat(constructArrayGridline(data.length - 1), {\n color: axis.endlinecolor,\n width: axis.endlinewidth\n }));\n }\n } else {\n // If the lines do not fall along the axes, then we have to interpolate\n // the contro points and so some math to figure out where the lines are\n // in the first place.\n\n // Compute the integer boudns of tick0 + n * dtick that fall within the range\n // (roughly speaking):\n // Give this a nice generous epsilon. We use at as * (1 + eps) in order to make\n // inequalities a little tolerant in a more or less correct manner:\n eps = 5e-15;\n bounds = [\n Math.floor((data[data.length - 1] - axis.tick0) / axis.dtick * (1 + eps)),\n Math.ceil((data[0] - axis.tick0) / axis.dtick / (1 + eps))\n ].sort(function(a, b) {return a - b;});\n\n // Unpack sorted values so we can be sure to avoid infinite loops if something\n // is backwards:\n n1 = bounds[0];\n n2 = bounds[1];\n\n for(n = n1; n <= n2; n++) {\n value = axis.tick0 + axis.dtick * n;\n\n gridlines.push(extendFlat(constructValueGridline(value), {\n color: axis.gridcolor,\n width: axis.gridwidth\n }));\n }\n\n for(n = n1 - 1; n < n2 + 1; n++) {\n value = axis.tick0 + axis.dtick * n;\n\n for(i = 0; i < axis.minorgridcount; i++) {\n v = value + axis.dtick * (i + 1) / (axis.minorgridcount + 1);\n if(v < data[0] || v > data[data.length - 1]) continue;\n minorgridlines.push(extendFlat(constructValueGridline(v), {\n color: axis.minorgridcolor,\n width: axis.minorgridwidth\n }));\n }\n }\n\n if(axis.startline) {\n boundarylines.push(extendFlat(constructValueGridline(data[0]), {\n color: axis.startlinecolor,\n width: axis.startlinewidth\n }));\n }\n\n if(axis.endline) {\n boundarylines.push(extendFlat(constructValueGridline(data[data.length - 1]), {\n color: axis.endlinecolor,\n width: axis.endlinewidth\n }));\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"7fc3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar hover = __webpack_require__(\"e812\").hover;\n\nmodule.exports = function click(gd, evt, subplot) {\n var annotationsDone = Registry.getComponentMethod('annotations', 'onClick')(gd, gd._hoverdata);\n\n // fallback to fail-safe in case the plot type's hover method doesn't pass the subplot.\n // Ternary, for example, didn't, but it was caught because tested.\n if(subplot !== undefined) {\n // The true flag at the end causes it to re-run the hover computation to figure out *which*\n // point is being clicked. Without this, clicking is somewhat unreliable.\n hover(gd, evt, subplot, true);\n }\n\n function emitClick() { gd.emit('plotly_click', {points: gd._hoverdata, event: evt}); }\n\n if(gd._hoverdata && evt && evt.target) {\n if(annotationsDone && annotationsDone.then) {\n annotationsDone.then(emitClick);\n } else emitClick();\n\n // why do we get a double event without this???\n if(evt.stopImmediatePropagation) evt.stopImmediatePropagation();\n }\n};\n\n\n/***/ }),\n\n/***/ \"7fcc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction compileSearch(funcName, predicate, reversed, extraArgs, useNdarray, earlyOut) {\n var code = [\n \"function \", funcName, \"(a,l,h,\", extraArgs.join(\",\"), \"){\",\nearlyOut ? \"\" : \"var i=\", (reversed ? \"l-1\" : \"h+1\"),\n\";while(l<=h){\\\nvar m=(l+h)>>>1,x=a\", useNdarray ? \".get(m)\" : \"[m]\"]\n if(earlyOut) {\n if(predicate.indexOf(\"c\") < 0) {\n code.push(\";if(x===y){return m}else if(x<=y){\")\n } else {\n code.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\")\n }\n } else {\n code.push(\";if(\", predicate, \"){i=m;\")\n }\n if(reversed) {\n code.push(\"l=m+1}else{h=m-1}\")\n } else {\n code.push(\"h=m-1}else{l=m+1}\")\n }\n code.push(\"}\")\n if(earlyOut) {\n code.push(\"return -1};\")\n } else {\n code.push(\"return i};\")\n }\n return code.join(\"\")\n}\n\nfunction compileBoundsSearch(predicate, reversed, suffix, earlyOut) {\n var result = new Function([\n compileSearch(\"A\", \"x\" + predicate + \"y\", reversed, [\"y\"], false, earlyOut),\n compileSearch(\"B\", \"x\" + predicate + \"y\", reversed, [\"y\"], true, earlyOut),\n compileSearch(\"P\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], false, earlyOut),\n compileSearch(\"Q\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], true, earlyOut),\n\"function dispatchBsearch\", suffix, \"(a,y,c,l,h){\\\nif(a.shape){\\\nif(typeof(c)==='function'){\\\nreturn Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)\\\n}else{\\\nreturn B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)\\\n}}else{\\\nif(typeof(c)==='function'){\\\nreturn P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)\\\n}else{\\\nreturn A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)\\\n}}}\\\nreturn dispatchBsearch\", suffix].join(\"\"))\n return result()\n}\n\nmodule.exports = {\n ge: compileBoundsSearch(\">=\", false, \"GE\"),\n gt: compileBoundsSearch(\">\", false, \"GT\"),\n lt: compileBoundsSearch(\"<\", true, \"LT\"),\n le: compileBoundsSearch(\"<=\", true, \"LE\"),\n eq: compileBoundsSearch(\"-\", true, \"EQ\", true)\n}\n\n\n/***/ }),\n\n/***/ \"7fda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\nvar mergeArray = __webpack_require__(\"fc26\").mergeArray;\nvar calcSelection = __webpack_require__(\"4136\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nfunction isAbsolute(a) {\n return (a === 'a' || a === 'absolute');\n}\n\nfunction isTotal(a) {\n return (a === 't' || a === 'total');\n}\n\nmodule.exports = function calc(gd, trace) {\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var size, pos;\n\n if(trace.orientation === 'h') {\n size = xa.makeCalcdata(trace, 'x');\n pos = ya.makeCalcdata(trace, 'y');\n } else {\n size = ya.makeCalcdata(trace, 'y');\n pos = xa.makeCalcdata(trace, 'x');\n }\n\n // create the \"calculated data\" to plot\n var serieslen = Math.min(pos.length, size.length);\n var cd = new Array(serieslen);\n\n // set position and size (as well as for waterfall total size)\n var previousSum = 0;\n var newSize;\n // trace-wide flags\n var hasTotals = false;\n\n for(var i = 0; i < serieslen; i++) {\n var amount = size[i] || 0;\n\n var connectToNext = false;\n if(size[i] !== BADNUM || isTotal(trace.measure[i]) || isAbsolute(trace.measure[i])) {\n if(i + 1 < serieslen && (size[i + 1] !== BADNUM || isTotal(trace.measure[i + 1]) || isAbsolute(trace.measure[i + 1]))) {\n connectToNext = true;\n }\n }\n\n var cdi = cd[i] = {\n i: i,\n p: pos[i],\n s: amount,\n rawS: amount,\n cNext: connectToNext\n };\n\n if(isAbsolute(trace.measure[i])) {\n previousSum = cdi.s;\n\n cdi.isSum = true;\n cdi.dir = 'totals';\n cdi.s = previousSum;\n } else if(isTotal(trace.measure[i])) {\n cdi.isSum = true;\n cdi.dir = 'totals';\n cdi.s = previousSum;\n } else {\n // default: relative\n cdi.isSum = false;\n cdi.dir = cdi.rawS < 0 ? 'decreasing' : 'increasing';\n newSize = cdi.s;\n cdi.s = previousSum + newSize;\n previousSum += newSize;\n }\n\n if(cdi.dir === 'totals') {\n hasTotals = true;\n }\n\n if(trace.ids) {\n cdi.id = String(trace.ids[i]);\n }\n\n cdi.v = (trace.base || 0) + previousSum;\n }\n\n if(cd.length) cd[0].hasTotals = hasTotals;\n\n mergeArray(trace.text, cd, 'tx');\n mergeArray(trace.hovertext, cd, 'htx');\n calcSelection(cd, trace);\n\n return cd;\n};\n\n\n/***/ }),\n\n/***/ \"8062\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Drawing = __webpack_require__(\"83d1\");\nvar Color = __webpack_require__(\"d115\");\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\nvar barStyle = __webpack_require__(\"2df3\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\nvar styleTextPoints = barStyle.styleTextPoints;\n\nfunction style(gd, cd, sel) {\n var s = sel ? sel : d3.select(gd).selectAll('g.funnellayer').selectAll('g.trace');\n resizeText(gd, s, 'funnel');\n\n s.style('opacity', function(d) { return d[0].trace.opacity; });\n\n s.each(function(d) {\n var gTrace = d3.select(this);\n var trace = d[0].trace;\n\n gTrace.selectAll('.point > path').each(function(di) {\n if(!di.isBlank) {\n var cont = trace.marker;\n\n d3.select(this)\n .call(Color.fill, di.mc || cont.color)\n .call(Color.stroke, di.mlc || cont.line.color)\n .call(Drawing.dashLine, cont.line.dash, di.mlw || cont.line.width)\n .style('opacity', trace.selectedpoints && !di.selected ? DESELECTDIM : 1);\n }\n });\n\n styleTextPoints(gTrace, trace, gd);\n\n gTrace.selectAll('.regions').each(function() {\n d3.select(this).selectAll('path').style('stroke-width', 0).call(Color.fill, trace.connector.fillcolor);\n });\n\n gTrace.selectAll('.lines').each(function() {\n var cont = trace.connector.line;\n\n Drawing.lineGroupStyle(\n d3.select(this).selectAll('path'),\n cont.width,\n cont.color,\n cont.dash\n );\n });\n });\n}\n\nmodule.exports = {\n style: style\n};\n\n\n/***/ }),\n\n/***/ \"806e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar subTypes = __webpack_require__(\"de81\");\nvar helpers = __webpack_require__(\"2969f\");\n\nmodule.exports = function select(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var trace = cd[0].trace;\n var stash = cd[0].t;\n var scene = searchInfo.scene;\n var cdata = scene.matrixOptions.cdata;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var selection = [];\n\n if(!scene) return selection;\n\n var hasOnlyLines = (!subTypes.hasMarkers(trace) && !subTypes.hasText(trace));\n if(trace.visible !== true || hasOnlyLines) return selection;\n\n var xi = helpers.getDimIndex(trace, xa);\n var yi = helpers.getDimIndex(trace, ya);\n if(xi === false || yi === false) return selection;\n\n var xpx = stash.xpx[xi];\n var ypx = stash.ypx[yi];\n var x = cdata[xi];\n var y = cdata[yi];\n var els = [];\n var unels = [];\n\n // degenerate polygon does not enable selection\n // filter out points by visible scatter ones\n if(selectionTester !== false && !selectionTester.degenerate) {\n for(var i = 0; i < x.length; i++) {\n if(selectionTester.contains([xpx[i], ypx[i]], null, i, searchInfo)) {\n els.push(i);\n selection.push({\n pointNumber: i,\n x: x[i],\n y: y[i]\n });\n } else {\n unels.push(i);\n }\n }\n }\n\n var matrixOpts = scene.matrixOptions;\n\n if(!els.length && !unels.length) {\n scene.matrix.update(matrixOpts, null);\n } else if(!scene.selectBatch.length && !scene.unselectBatch.length) {\n scene.matrix.update(\n scene.unselectedOptions,\n Lib.extendFlat({}, matrixOpts, scene.selectedOptions, scene.viewOpts)\n );\n }\n\n scene.selectBatch = els;\n scene.unselectBatch = unels;\n\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"8173\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function handleSampleDefaults(traceIn, traceOut, coerce, layout) {\n var x = coerce('x');\n var y = coerce('y');\n var xlen = Lib.minRowLength(x);\n var ylen = Lib.minRowLength(y);\n\n // we could try to accept x0 and dx, etc...\n // but that's a pretty weird use case.\n // for now require both x and y explicitly specified.\n if(!xlen || !ylen) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = Math.min(xlen, ylen);\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y'], layout);\n\n // if marker.color is an array, we can use it in aggregation instead of z\n var hasAggregationData = coerce('z') || coerce('marker.color');\n\n if(hasAggregationData) coerce('histfunc');\n coerce('histnorm');\n\n // Note: bin defaults are now handled in Histogram2D.crossTraceDefaults\n // autobin(x|y) are only included here to appease Plotly.validate\n coerce('autobinx');\n coerce('autobiny');\n};\n\n\n/***/ }),\n\n/***/ \"81f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\n/**\n * Make a xy domain attribute group\n *\n * @param {object} opts\n * @param {string}\n * opts.name: name to be inserted in the default description\n * @param {boolean}\n * opts.trace: set to true for trace containers\n * @param {string}\n * opts.editType: editType for all pieces\n * @param {boolean}\n * opts.noGridCell: set to true to omit `row` and `column`\n *\n * @param {object} extra\n * @param {string}\n * extra.description: extra description. N.B we use\n * a separate extra container to make it compatible with\n * the compress_attributes transform.\n *\n * @return {object} attributes object containing {x,y} as specified\n */\nexports.attributes = function(opts, extra) {\n opts = opts || {};\n extra = extra || {};\n\n var base = {\n valType: 'info_array',\n \n editType: opts.editType,\n items: [\n {valType: 'number', min: 0, max: 1, editType: opts.editType},\n {valType: 'number', min: 0, max: 1, editType: opts.editType}\n ],\n dflt: [0, 1]\n };\n\n var namePart = opts.name ? opts.name + ' ' : '';\n var contPart = opts.trace ? 'trace ' : 'subplot ';\n var descPart = extra.description ? ' ' + extra.description : '';\n\n var out = {\n x: extendFlat({}, base, {\n \n }),\n y: extendFlat({}, base, {\n \n }),\n editType: opts.editType\n };\n\n if(!opts.noGridCell) {\n out.row = {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: opts.editType,\n \n };\n out.column = {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: opts.editType,\n \n };\n }\n\n return out;\n};\n\nexports.defaults = function(containerOut, layout, coerce, dfltDomains) {\n var dfltX = (dfltDomains && dfltDomains.x) || [0, 1];\n var dfltY = (dfltDomains && dfltDomains.y) || [0, 1];\n\n var grid = layout.grid;\n if(grid) {\n var column = coerce('domain.column');\n if(column !== undefined) {\n if(column < grid.columns) dfltX = grid._domains.x[column];\n else delete containerOut.domain.column;\n }\n\n var row = coerce('domain.row');\n if(row !== undefined) {\n if(row < grid.rows) dfltY = grid._domains.y[row];\n else delete containerOut.domain.row;\n }\n }\n\n var x = coerce('domain.x', dfltX);\n var y = coerce('domain.y', dfltY);\n\n // don't accept bad input data\n if(!(x[0] < x[1])) containerOut.domain.x = dfltX.slice();\n if(!(y[0] < y[1])) containerOut.domain.y = dfltY.slice();\n};\n\n\n/***/ }),\n\n/***/ \"821b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * Clear gl frame (if any). This is a common pattern as\n * we usually set `preserveDrawingBuffer: true` during\n * gl context creation (e.g. via `reglUtils.prepare`).\n *\n * @param {DOM node or object} gd : graph div object\n */\nmodule.exports = function clearGlCanvases(gd) {\n var fullLayout = gd._fullLayout;\n\n if(fullLayout._glcanvas && fullLayout._glcanvas.size()) {\n fullLayout._glcanvas.each(function(d) {\n if(d.regl) d.regl.clear({color: true, depth: true});\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"824b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar calcMarkerColorscale = __webpack_require__(\"09bd\");\nvar arraysToCalcdata = __webpack_require__(\"106b\");\nvar calcSelection = __webpack_require__(\"4136\");\n\nvar _ = __webpack_require__(\"fc26\")._;\n\nfunction isNonBlankString(v) {\n return v && typeof v === 'string';\n}\n\nmodule.exports = function calc(gd, trace) {\n var hasLocationData = Array.isArray(trace.locations);\n var len = hasLocationData ? trace.locations.length : trace._length;\n var calcTrace = new Array(len);\n\n var isValidLoc;\n if(trace.geojson) {\n isValidLoc = function(v) { return isNonBlankString(v) || isNumeric(v); };\n } else {\n isValidLoc = isNonBlankString;\n }\n\n for(var i = 0; i < len; i++) {\n var calcPt = calcTrace[i] = {};\n\n if(hasLocationData) {\n var loc = trace.locations[i];\n calcPt.loc = isValidLoc(loc) ? loc : null;\n } else {\n var lon = trace.lon[i];\n var lat = trace.lat[i];\n\n if(isNumeric(lon) && isNumeric(lat)) calcPt.lonlat = [+lon, +lat];\n else calcPt.lonlat = [BADNUM, BADNUM];\n }\n }\n\n arraysToCalcdata(calcTrace, trace);\n calcMarkerColorscale(gd, trace);\n calcSelection(calcTrace, trace);\n\n if(len) {\n calcTrace[0].t = {\n labels: {\n lat: _(gd, 'lat:') + ' ',\n lon: _(gd, 'lon:') + ' '\n }\n };\n }\n\n return calcTrace;\n};\n\n\n/***/ }),\n\n/***/ \"825a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\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/***/ \"8260\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterPlot = __webpack_require__(\"f118\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function plot(gd, subplot, moduleCalcData) {\n var mlayer = subplot.layers.frontplot.select('g.scatterlayer');\n\n var plotinfo = {\n xaxis: subplot.xaxis,\n yaxis: subplot.yaxis,\n plot: subplot.framework,\n layerClipId: subplot._hasClipOnAxisFalse ? subplot.clipIds.forTraces : null\n };\n\n var radialAxis = subplot.radialAxis;\n var angularAxis = subplot.angularAxis;\n\n // convert:\n // 'c' (r,theta) -> 'geometric' (r,theta) -> (x,y)\n for(var i = 0; i < moduleCalcData.length; i++) {\n var cdi = moduleCalcData[i];\n\n for(var j = 0; j < cdi.length; j++) {\n var cd = cdi[j];\n var r = cd.r;\n\n if(r === BADNUM) {\n cd.x = cd.y = BADNUM;\n } else {\n var rg = radialAxis.c2g(r);\n var thetag = angularAxis.c2g(cd.theta);\n cd.x = rg * Math.cos(thetag);\n cd.y = rg * Math.sin(thetag);\n }\n }\n }\n\n scatterPlot(gd, plotinfo, moduleCalcData, mlayer);\n};\n\n\n/***/ }),\n\n/***/ \"8298\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\n\nvar boxPlot = __webpack_require__(\"d34f\");\nvar linePoints = __webpack_require__(\"9cf1\");\nvar helpers = __webpack_require__(\"0681\");\n\nmodule.exports = function plot(gd, plotinfo, cdViolins, violinLayer) {\n var fullLayout = gd._fullLayout;\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n function makePath(pts) {\n var segments = linePoints(pts, {\n xaxis: xa,\n yaxis: ya,\n connectGaps: true,\n baseTolerance: 0.75,\n shape: 'spline',\n simplify: true,\n linearized: true\n });\n return Drawing.smoothopen(segments[0], 1);\n }\n\n Lib.makeTraceGroups(violinLayer, cdViolins, 'trace violins').each(function(cd) {\n var plotGroup = d3.select(this);\n var cd0 = cd[0];\n var t = cd0.t;\n var trace = cd0.trace;\n\n if(trace.visible !== true || t.empty) {\n plotGroup.remove();\n return;\n }\n\n var bPos = t.bPos;\n var bdPos = t.bdPos;\n var valAxis = plotinfo[t.valLetter + 'axis'];\n var posAxis = plotinfo[t.posLetter + 'axis'];\n var hasBothSides = trace.side === 'both';\n var hasPositiveSide = hasBothSides || trace.side === 'positive';\n var hasNegativeSide = hasBothSides || trace.side === 'negative';\n\n var violins = plotGroup.selectAll('path.violin').data(Lib.identity);\n\n violins.enter().append('path')\n .style('vector-effect', 'non-scaling-stroke')\n .attr('class', 'violin');\n\n violins.exit().remove();\n\n violins.each(function(d) {\n var pathSel = d3.select(this);\n var density = d.density;\n var len = density.length;\n var posCenter = posAxis.c2l(d.pos + bPos, true);\n var posCenterPx = posAxis.l2p(posCenter);\n\n var scale;\n if(trace.width) {\n scale = t.maxKDE / bdPos;\n } else {\n var groupStats = fullLayout._violinScaleGroupStats[trace.scalegroup];\n scale = trace.scalemode === 'count' ?\n (groupStats.maxKDE / bdPos) * (groupStats.maxCount / d.pts.length) :\n groupStats.maxKDE / bdPos;\n }\n\n var pathPos, pathNeg, path;\n var i, k, pts, pt;\n\n if(hasPositiveSide) {\n pts = new Array(len);\n for(i = 0; i < len; i++) {\n pt = pts[i] = {};\n pt[t.posLetter] = posCenter + (density[i].v / scale);\n pt[t.valLetter] = valAxis.c2l(density[i].t, true);\n }\n pathPos = makePath(pts);\n }\n\n if(hasNegativeSide) {\n pts = new Array(len);\n for(k = 0, i = len - 1; k < len; k++, i--) {\n pt = pts[k] = {};\n pt[t.posLetter] = posCenter - (density[i].v / scale);\n pt[t.valLetter] = valAxis.c2l(density[i].t, true);\n }\n pathNeg = makePath(pts);\n }\n\n if(hasBothSides) {\n path = pathPos + 'L' + pathNeg.substr(1) + 'Z';\n } else {\n var startPt = [posCenterPx, valAxis.c2p(density[0].t)];\n var endPt = [posCenterPx, valAxis.c2p(density[len - 1].t)];\n\n if(trace.orientation === 'h') {\n startPt.reverse();\n endPt.reverse();\n }\n\n if(hasPositiveSide) {\n path = 'M' + startPt + 'L' + pathPos.substr(1) + 'L' + endPt;\n } else {\n path = 'M' + endPt + 'L' + pathNeg.substr(1) + 'L' + startPt;\n }\n }\n pathSel.attr('d', path);\n\n // save a few things used in getPositionOnKdePath, getKdeValue\n // on hover and for meanline draw block below\n d.posCenterPx = posCenterPx;\n d.posDensityScale = scale * bdPos;\n d.path = pathSel.node();\n d.pathLength = d.path.getTotalLength() / (hasBothSides ? 2 : 1);\n });\n\n var boxAttrs = trace.box;\n var boxWidth = boxAttrs.width;\n var boxLineWidth = (boxAttrs.line || {}).width;\n var bdPosScaled;\n var bPosPxOffset;\n\n if(hasBothSides) {\n bdPosScaled = bdPos * boxWidth;\n bPosPxOffset = 0;\n } else if(hasPositiveSide) {\n bdPosScaled = [0, bdPos * boxWidth / 2];\n bPosPxOffset = boxLineWidth * {x: 1, y: -1}[t.posLetter];\n } else {\n bdPosScaled = [bdPos * boxWidth / 2, 0];\n bPosPxOffset = boxLineWidth * {x: -1, y: 1}[t.posLetter];\n }\n\n // inner box\n boxPlot.plotBoxAndWhiskers(plotGroup, {pos: posAxis, val: valAxis}, trace, {\n bPos: bPos,\n bdPos: bdPosScaled,\n bPosPxOffset: bPosPxOffset\n });\n\n // meanline insider box\n boxPlot.plotBoxMean(plotGroup, {pos: posAxis, val: valAxis}, trace, {\n bPos: bPos,\n bdPos: bdPosScaled,\n bPosPxOffset: bPosPxOffset\n });\n\n var fn;\n if(!trace.box.visible && trace.meanline.visible) {\n fn = Lib.identity;\n }\n\n // N.B. use different class name than boxPlot.plotBoxMean,\n // to avoid selectAll conflict\n var meanPaths = plotGroup.selectAll('path.meanline').data(fn || []);\n meanPaths.enter().append('path')\n .attr('class', 'meanline')\n .style('fill', 'none')\n .style('vector-effect', 'non-scaling-stroke');\n meanPaths.exit().remove();\n meanPaths.each(function(d) {\n var v = valAxis.c2p(d.mean, true);\n var p = helpers.getPositionOnKdePath(d, trace, v);\n\n d3.select(this).attr('d',\n trace.orientation === 'h' ?\n 'M' + v + ',' + p[0] + 'V' + p[1] :\n 'M' + p[0] + ',' + v + 'H' + p[1]\n );\n });\n\n boxPlot.plotPoints(plotGroup, {x: xa, y: ya}, trace, t);\n });\n};\n\n\n/***/ }),\n\n/***/ \"82a5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nmodule.exports = function calc(gd) {\n var calcdata = gd.calcdata;\n var fullLayout = gd._fullLayout;\n\n function makeCoerceHoverInfo(trace) {\n return function(val) {\n return Lib.coerceHoverinfo({hoverinfo: val}, {_module: trace._module}, fullLayout);\n };\n }\n\n for(var i = 0; i < calcdata.length; i++) {\n var cd = calcdata[i];\n var trace = cd[0].trace;\n\n // don't include hover calc fields for pie traces\n // as calcdata items might be sorted by value and\n // won't match the data array order.\n if(Registry.traceIs(trace, 'pie-like')) continue;\n\n var fillFn = Registry.traceIs(trace, '2dMap') ? paste : Lib.fillArray;\n\n fillFn(trace.hoverinfo, cd, 'hi', makeCoerceHoverInfo(trace));\n\n if(trace.hovertemplate) fillFn(trace.hovertemplate, cd, 'ht');\n\n if(!trace.hoverlabel) continue;\n\n fillFn(trace.hoverlabel.bgcolor, cd, 'hbg');\n fillFn(trace.hoverlabel.bordercolor, cd, 'hbc');\n fillFn(trace.hoverlabel.font.size, cd, 'hts');\n fillFn(trace.hoverlabel.font.color, cd, 'htc');\n fillFn(trace.hoverlabel.font.family, cd, 'htf');\n fillFn(trace.hoverlabel.namelength, cd, 'hnl');\n fillFn(trace.hoverlabel.align, cd, 'hta');\n }\n};\n\nfunction paste(traceAttr, cd, cdAttr, fn) {\n fn = fn || Lib.identity;\n\n if(Array.isArray(traceAttr)) {\n cd[0][cdAttr] = fn(traceAttr);\n }\n}\n\n\n/***/ }),\n\n/***/ \"82b5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * Creates a set of padding attributes.\n *\n * @param {object} opts\n * @param {string} editType:\n * the editType for all pieces of this padding definition\n *\n * @return {object} attributes object containing {t, r, b, l} as specified\n */\nmodule.exports = function(opts) {\n var editType = opts.editType;\n return {\n t: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n r: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n b: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n l: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n editType: editType\n };\n};\n\n\n/***/ }),\n\n/***/ \"82d4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar attributes = __webpack_require__(\"be2a\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var u = coerce('u');\n var v = coerce('v');\n var w = coerce('w');\n\n var x = coerce('x');\n var y = coerce('y');\n var z = coerce('z');\n\n if(\n !u || !u.length || !v || !v.length || !w || !w.length ||\n !x || !x.length || !y || !y.length || !z || !z.length\n ) {\n traceOut.visible = false;\n return;\n }\n\n coerce('starts.x');\n coerce('starts.y');\n coerce('starts.z');\n\n coerce('maxdisplayed');\n coerce('sizeref');\n\n coerce('lighting.ambient');\n coerce('lighting.diffuse');\n coerce('lighting.specular');\n coerce('lighting.roughness');\n coerce('lighting.fresnel');\n coerce('lightposition.x');\n coerce('lightposition.y');\n coerce('lightposition.z');\n\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'c'});\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n // disable 1D transforms (for now)\n // x/y/z and u/v/w have matching lengths,\n // but they don't have to match with starts.(x|y|z)\n traceOut._length = null;\n};\n\n\n/***/ }),\n\n/***/ \"82d7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar fontAttrs = __webpack_require__(\"9845\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar fxAttrs = __webpack_require__(\"a462\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar colorAttributes = __webpack_require__(\"f4e9\");\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar attrs = module.exports = overrideAll({\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: [],\n arrayOk: false,\n \n }),\n hoverlabel: fxAttrs.hoverlabel,\n domain: domainAttrs({name: 'sankey', trace: true}),\n\n orientation: {\n valType: 'enumerated',\n values: ['v', 'h'],\n dflt: 'h',\n \n \n },\n\n valueformat: {\n valType: 'string',\n dflt: '.3s',\n \n \n },\n\n valuesuffix: {\n valType: 'string',\n dflt: '',\n \n \n },\n\n arrangement: {\n valType: 'enumerated',\n values: ['snap', 'perpendicular', 'freeform', 'fixed'],\n dflt: 'snap',\n \n \n },\n\n textfont: fontAttrs({\n \n }),\n\n node: {\n label: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n groups: {\n valType: 'info_array',\n impliedEdits: {'x': [], 'y': []},\n dimensions: 2,\n freeLength: true,\n dflt: [],\n items: {valType: 'number', editType: 'calc'},\n \n \n },\n x: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n y: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n color: {\n valType: 'color',\n \n arrayOk: true,\n \n },\n line: {\n color: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n arrayOk: true,\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 0.5,\n arrayOk: true,\n \n }\n },\n pad: {\n valType: 'number',\n arrayOk: false,\n min: 0,\n dflt: 20,\n \n \n },\n thickness: {\n valType: 'number',\n arrayOk: false,\n min: 1,\n dflt: 20,\n \n \n },\n hoverinfo: {\n valType: 'enumerated',\n values: ['all', 'none', 'skip'],\n dflt: 'all',\n \n \n },\n hoverlabel: fxAttrs.hoverlabel, // needs editType override,\n hovertemplate: hovertemplateAttrs({}, {\n \n keys: ['value', 'label']\n }),\n \n },\n\n link: {\n label: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n color: {\n valType: 'color',\n \n arrayOk: true,\n \n },\n line: {\n color: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n arrayOk: true,\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 0,\n arrayOk: true,\n \n }\n },\n source: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n target: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n value: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n hoverinfo: {\n valType: 'enumerated',\n values: ['all', 'none', 'skip'],\n dflt: 'all',\n \n \n },\n hoverlabel: fxAttrs.hoverlabel, // needs editType override,\n hovertemplate: hovertemplateAttrs({}, {\n \n keys: ['value', 'label']\n }),\n colorscales: templatedArray('concentrationscales', {\n editType: 'calc',\n label: {\n valType: 'string',\n \n editType: 'calc',\n \n dflt: ''\n },\n cmax: {\n valType: 'number',\n \n editType: 'calc',\n dflt: 1,\n \n },\n cmin: {\n valType: 'number',\n \n editType: 'calc',\n dflt: 0,\n \n },\n colorscale: extendFlat(colorAttributes().colorscale, {dflt: [[0, 'white'], [1, 'black']]})\n }),\n \n \n }\n}, 'calc', 'nested');\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"82e4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"f90d\");\n\n\n/***/ }),\n\n/***/ \"831f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"0382\");\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Template = __webpack_require__(\"a651\");\nvar basePlotLayoutAttributes = __webpack_require__(\"a685\");\n\nvar layoutAttributes = __webpack_require__(\"d798\");\nvar handleTypeDefaults = __webpack_require__(\"b5e2\");\nvar handleAxisDefaults = __webpack_require__(\"7118\");\nvar handleConstraintDefaults = __webpack_require__(\"6add\").handleConstraintDefaults;\nvar handlePositionDefaults = __webpack_require__(\"f3a2\");\n\nvar axisIds = __webpack_require__(\"3c1c\");\nvar id2name = axisIds.id2name;\nvar name2id = axisIds.name2id;\n\nvar Registry = __webpack_require__(\"371e\");\nvar traceIs = Registry.traceIs;\nvar getComponentMethod = Registry.getComponentMethod;\n\nfunction appendList(cont, k, item) {\n if(Array.isArray(cont[k])) cont[k].push(item);\n else cont[k] = [item];\n}\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {\n var ax2traces = {};\n var xaMayHide = {};\n var yaMayHide = {};\n var xaMustDisplay = {};\n var yaMustDisplay = {};\n var yaMustNotReverse = {};\n var yaMayReverse = {};\n var axHasImage = {};\n var outerTicks = {};\n var noGrids = {};\n var i, j;\n\n // look for axes in the data\n for(i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n if(!traceIs(trace, 'cartesian') && !traceIs(trace, 'gl2d')) continue;\n\n var xaName;\n if(trace.xaxis) {\n xaName = id2name(trace.xaxis);\n appendList(ax2traces, xaName, trace);\n } else if(trace.xaxes) {\n for(j = 0; j < trace.xaxes.length; j++) {\n appendList(ax2traces, id2name(trace.xaxes[j]), trace);\n }\n }\n\n var yaName;\n if(trace.yaxis) {\n yaName = id2name(trace.yaxis);\n appendList(ax2traces, yaName, trace);\n } else if(trace.yaxes) {\n for(j = 0; j < trace.yaxes.length; j++) {\n appendList(ax2traces, id2name(trace.yaxes[j]), trace);\n }\n }\n\n // logic for funnels\n if(trace.type === 'funnel') {\n if(trace.orientation === 'h') {\n if(xaName) xaMayHide[xaName] = true;\n if(yaName) yaMayReverse[yaName] = true;\n } else {\n if(yaName) yaMayHide[yaName] = true;\n }\n } else if(trace.type === 'image') {\n if(yaName) axHasImage[yaName] = true;\n if(xaName) axHasImage[xaName] = true;\n } else {\n if(yaName) {\n yaMustDisplay[yaName] = true;\n yaMustNotReverse[yaName] = true;\n }\n\n if(!traceIs(trace, 'carpet') || (trace.type === 'carpet' && !trace._cheater)) {\n if(xaName) xaMustDisplay[xaName] = true;\n }\n }\n\n // Two things trigger axis visibility:\n // 1. is not carpet\n // 2. carpet that's not cheater\n\n // The above check for definitely-not-cheater is not adequate. This\n // second list tracks which axes *could* be a cheater so that the\n // full condition triggering hiding is:\n // *could* be a cheater and *is not definitely visible*\n if(trace.type === 'carpet' && trace._cheater) {\n if(xaName) xaMayHide[xaName] = true;\n }\n\n // check for default formatting tweaks\n if(traceIs(trace, '2dMap')) {\n outerTicks[xaName] = true;\n outerTicks[yaName] = true;\n }\n\n if(traceIs(trace, 'oriented')) {\n var positionAxis = trace.orientation === 'h' ? yaName : xaName;\n noGrids[positionAxis] = true;\n }\n }\n\n var subplots = layoutOut._subplots;\n var xIds = subplots.xaxis;\n var yIds = subplots.yaxis;\n var xNames = Lib.simpleMap(xIds, id2name);\n var yNames = Lib.simpleMap(yIds, id2name);\n var axNames = xNames.concat(yNames);\n\n // plot_bgcolor only makes sense if there's a (2D) plot!\n // TODO: bgcolor for each subplot, to inherit from the main one\n var plotBgColor = Color.background;\n if(xIds.length && yIds.length) {\n plotBgColor = Lib.coerce(layoutIn, layoutOut, basePlotLayoutAttributes, 'plot_bgcolor');\n }\n\n var bgColor = Color.combine(plotBgColor, layoutOut.paper_bgcolor);\n\n var axName, axLetter, axLayoutIn, axLayoutOut;\n\n function coerce(attr, dflt) {\n return Lib.coerce(axLayoutIn, axLayoutOut, layoutAttributes, attr, dflt);\n }\n\n function coerce2(attr, dflt) {\n return Lib.coerce2(axLayoutIn, axLayoutOut, layoutAttributes, attr, dflt);\n }\n\n function getCounterAxes(axLetter) {\n return (axLetter === 'x') ? yIds : xIds;\n }\n\n var counterAxes = {x: getCounterAxes('x'), y: getCounterAxes('y')};\n var allAxisIds = counterAxes.x.concat(counterAxes.y);\n\n function getOverlayableAxes(axLetter, axName) {\n var list = (axLetter === 'x') ? xNames : yNames;\n var out = [];\n\n for(var j = 0; j < list.length; j++) {\n var axName2 = list[j];\n\n if(axName2 !== axName && !(layoutIn[axName2] || {}).overlaying) {\n out.push(name2id(axName2));\n }\n }\n\n return out;\n }\n\n // first pass creates the containers, determines types, and handles most of the settings\n for(i = 0; i < axNames.length; i++) {\n axName = axNames[i];\n axLetter = axName.charAt(0);\n\n if(!Lib.isPlainObject(layoutIn[axName])) {\n layoutIn[axName] = {};\n }\n\n axLayoutIn = layoutIn[axName];\n axLayoutOut = Template.newContainer(layoutOut, axName, axLetter + 'axis');\n\n var traces = ax2traces[axName] || [];\n axLayoutOut._traceIndices = traces.map(function(t) { return t._expandedIndex; });\n axLayoutOut._annIndices = [];\n axLayoutOut._shapeIndices = [];\n axLayoutOut._imgIndices = [];\n axLayoutOut._subplotsWith = [];\n axLayoutOut._counterAxes = [];\n\n // set up some private properties\n axLayoutOut._name = axLayoutOut._attr = axName;\n var id = axLayoutOut._id = name2id(axName);\n\n var overlayableAxes = getOverlayableAxes(axLetter, axName);\n\n var visibleDflt =\n (axLetter === 'x' && !xaMustDisplay[axName] && xaMayHide[axName]) ||\n (axLetter === 'y' && !yaMustDisplay[axName] && yaMayHide[axName]);\n\n var reverseDflt =\n (axLetter === 'y' &&\n (\n (!yaMustNotReverse[axName] && yaMayReverse[axName]) ||\n axHasImage[axName]\n ));\n\n var defaultOptions = {\n letter: axLetter,\n font: layoutOut.font,\n outerTicks: outerTicks[axName],\n showGrid: !noGrids[axName],\n data: traces,\n bgColor: bgColor,\n calendar: layoutOut.calendar,\n automargin: true,\n visibleDflt: visibleDflt,\n reverseDflt: reverseDflt,\n splomStash: ((layoutOut._splomAxes || {})[axLetter] || {})[id]\n };\n\n coerce('uirevision', layoutOut.uirevision);\n\n handleTypeDefaults(axLayoutIn, axLayoutOut, coerce, defaultOptions);\n handleAxisDefaults(axLayoutIn, axLayoutOut, coerce, defaultOptions, layoutOut);\n\n var spikecolor = coerce2('spikecolor');\n var spikethickness = coerce2('spikethickness');\n var spikedash = coerce2('spikedash');\n var spikemode = coerce2('spikemode');\n var spikesnap = coerce2('spikesnap');\n var showSpikes = coerce('showspikes', !!spikecolor || !!spikethickness || !!spikedash || !!spikemode || !!spikesnap);\n\n if(!showSpikes) {\n delete axLayoutOut.spikecolor;\n delete axLayoutOut.spikethickness;\n delete axLayoutOut.spikedash;\n delete axLayoutOut.spikemode;\n delete axLayoutOut.spikesnap;\n }\n\n handlePositionDefaults(axLayoutIn, axLayoutOut, coerce, {\n letter: axLetter,\n counterAxes: counterAxes[axLetter],\n overlayableAxes: overlayableAxes,\n grid: layoutOut.grid\n });\n\n coerce('title.standoff');\n\n axLayoutOut._input = axLayoutIn;\n }\n\n // quick second pass for range slider and selector defaults\n var rangeSliderDefaults = getComponentMethod('rangeslider', 'handleDefaults');\n var rangeSelectorDefaults = getComponentMethod('rangeselector', 'handleDefaults');\n\n for(i = 0; i < xNames.length; i++) {\n axName = xNames[i];\n axLayoutIn = layoutIn[axName];\n axLayoutOut = layoutOut[axName];\n\n rangeSliderDefaults(layoutIn, layoutOut, axName);\n\n if(axLayoutOut.type === 'date') {\n rangeSelectorDefaults(\n axLayoutIn,\n axLayoutOut,\n layoutOut,\n yNames,\n axLayoutOut.calendar\n );\n }\n\n coerce('fixedrange');\n }\n\n for(i = 0; i < yNames.length; i++) {\n axName = yNames[i];\n axLayoutIn = layoutIn[axName];\n axLayoutOut = layoutOut[axName];\n\n var anchoredAxis = layoutOut[id2name(axLayoutOut.anchor)];\n\n var fixedRangeDflt = getComponentMethod('rangeslider', 'isVisible')(anchoredAxis);\n\n coerce('fixedrange', fixedRangeDflt);\n }\n\n // Finally, handle scale constraints and matching axes.\n //\n // We need to do this after all axes have coerced both `type`\n // (so we link only axes of the same type) and\n // `fixedrange` (so we can avoid linking from OR TO a fixed axis).\n\n // sets of axes linked by `scaleanchor` along with the scaleratios compounded\n // together, populated in handleConstraintDefaults\n var constraintGroups = layoutOut._axisConstraintGroups = [];\n // similar to _axisConstraintGroups, but for matching axes\n var matchGroups = layoutOut._axisMatchGroups = [];\n\n for(i = 0; i < axNames.length; i++) {\n axName = axNames[i];\n axLetter = axName.charAt(0);\n axLayoutIn = layoutIn[axName];\n axLayoutOut = layoutOut[axName];\n\n var scaleanchorDflt;\n if(axLetter === 'y' && !axLayoutIn.hasOwnProperty('scaleanchor') && axHasImage[axName]) {\n scaleanchorDflt = axLayoutOut.anchor;\n } else {scaleanchorDflt = undefined;}\n\n var constrainDflt;\n if(!axLayoutIn.hasOwnProperty('constrain') && axHasImage[axName]) {\n constrainDflt = 'domain';\n } else {constrainDflt = undefined;}\n\n handleConstraintDefaults(axLayoutIn, axLayoutOut, coerce, {\n allAxisIds: allAxisIds,\n layoutOut: layoutOut,\n scaleanchorDflt: scaleanchorDflt,\n constrainDflt: constrainDflt\n });\n }\n\n for(i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n var rng = null;\n var autorange = null;\n var axId;\n\n // find 'matching' range attrs\n for(axId in group) {\n axLayoutOut = layoutOut[id2name(axId)];\n if(!axLayoutOut.matches) {\n rng = axLayoutOut.range;\n autorange = axLayoutOut.autorange;\n }\n }\n // if `ax.matches` values are reciprocal,\n // pick values of first axis in group\n if(rng === null || autorange === null) {\n for(axId in group) {\n axLayoutOut = layoutOut[id2name(axId)];\n rng = axLayoutOut.range;\n autorange = axLayoutOut.autorange;\n break;\n }\n }\n // apply matching range attrs\n for(axId in group) {\n axLayoutOut = layoutOut[id2name(axId)];\n if(axLayoutOut.matches) {\n axLayoutOut.range = rng.slice();\n axLayoutOut.autorange = autorange;\n }\n axLayoutOut._matchGroup = group;\n }\n\n // remove matching axis from scaleanchor constraint groups (for now)\n if(constraintGroups.length) {\n for(axId in group) {\n for(j = 0; j < constraintGroups.length; j++) {\n var group2 = constraintGroups[j];\n for(var axId2 in group2) {\n if(axId === axId2) {\n Lib.warn('Axis ' + axId2 + ' is set with both ' +\n 'a *scaleanchor* and *matches* constraint; ' +\n 'ignoring the scale constraint.');\n\n delete group2[axId2];\n if(Object.keys(group2).length < 2) {\n constraintGroups.splice(j, 1);\n }\n }\n }\n }\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"838d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"1590\"),\n supplyDefaults: __webpack_require__(\"2513\"),\n crossTraceDefaults: __webpack_require__(\"722f\"),\n calc: __webpack_require__(\"0625\"),\n plot: __webpack_require__(\"fa8a\"),\n layerName: 'heatmaplayer',\n colorbar: __webpack_require__(\"fcb3\"),\n style: __webpack_require__(\"c437\"),\n hoverPoints: __webpack_require__(\"9236\"),\n eventData: __webpack_require__(\"6f09\"),\n\n moduleType: 'trace',\n name: 'histogram2d',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', '2dMap', 'histogram', 'showLegend'],\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"83ab\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n\n/***/ \"83c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Fx = __webpack_require__(\"a5c4\");\nvar Lib = __webpack_require__(\"fc26\");\nvar getTraceColor = __webpack_require__(\"feed\");\nvar fillText = Lib.fillText;\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function hoverPoints(pointData, xval, yval) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var xa = pointData.xa;\n var ya = pointData.ya;\n var subplot = pointData.subplot;\n\n // compute winding number about [-180, 180] globe\n var winding = (xval >= 0) ?\n Math.floor((xval + 180) / 360) :\n Math.ceil((xval - 180) / 360);\n\n // shift longitude to [-180, 180] to determine closest point\n var lonShift = winding * 360;\n var xval2 = xval - lonShift;\n\n function distFn(d) {\n var lonlat = d.lonlat;\n if(lonlat[0] === BADNUM) return Infinity;\n\n var lon = Lib.modHalf(lonlat[0], 360);\n var lat = lonlat[1];\n var pt = subplot.project([lon, lat]);\n var dx = pt.x - xa.c2p([xval2, lat]);\n var dy = pt.y - ya.c2p([lon, yval]);\n var rad = Math.max(3, d.mrc || 0);\n\n return Math.max(Math.sqrt(dx * dx + dy * dy) - rad, 1 - 3 / rad);\n }\n\n Fx.getClosest(cd, distFn, pointData);\n\n // skip the rest (for this trace) if we didn't find a close point\n if(pointData.index === false) return;\n\n var di = cd[pointData.index];\n var lonlat = di.lonlat;\n var lonlatShifted = [Lib.modHalf(lonlat[0], 360) + lonShift, lonlat[1]];\n\n // shift labels back to original winded globe\n var xc = xa.c2p(lonlatShifted);\n var yc = ya.c2p(lonlatShifted);\n var rad = di.mrc || 1;\n\n pointData.x0 = xc - rad;\n pointData.x1 = xc + rad;\n pointData.y0 = yc - rad;\n pointData.y1 = yc + rad;\n\n var fullLayout = {};\n fullLayout[trace.subplot] = {_subplot: subplot};\n var labels = trace._module.formatLabels(di, trace, fullLayout);\n pointData.lonLabel = labels.lonLabel;\n pointData.latLabel = labels.latLabel;\n\n pointData.color = getTraceColor(trace, di);\n pointData.extraText = getExtraText(trace, di, cd[0].t.labels);\n pointData.hovertemplate = trace.hovertemplate;\n\n return [pointData];\n};\n\nfunction getExtraText(trace, di, labels) {\n if(trace.hovertemplate) return;\n\n var hoverinfo = di.hi || trace.hoverinfo;\n var parts = hoverinfo.split('+');\n var isAll = parts.indexOf('all') !== -1;\n var hasLon = parts.indexOf('lon') !== -1;\n var hasLat = parts.indexOf('lat') !== -1;\n var lonlat = di.lonlat;\n var text = [];\n\n // TODO should we use a mock axis to format hover?\n // If so, we'll need to make precision be zoom-level dependent\n function format(v) {\n return v + '\\u00B0';\n }\n\n if(isAll || (hasLon && hasLat)) {\n text.push('(' + format(lonlat[0]) + ', ' + format(lonlat[1]) + ')');\n } else if(hasLon) {\n text.push(labels.lon + format(lonlat[0]));\n } else if(hasLat) {\n text.push(labels.lat + format(lonlat[1]));\n }\n\n if(isAll || parts.indexOf('text') !== -1) {\n fillText(di, trace, text);\n }\n\n return text.join('
');\n}\n\n\n/***/ }),\n\n/***/ \"83d1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Color = __webpack_require__(\"d115\");\nvar Colorscale = __webpack_require__(\"c258\");\nvar Lib = __webpack_require__(\"fc26\");\nvar svgTextUtils = __webpack_require__(\"0379\");\n\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar alignment = __webpack_require__(\"63dc\");\nvar LINE_SPACING = alignment.LINE_SPACING;\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\n\nvar subTypes = __webpack_require__(\"de81\");\nvar makeBubbleSizeFn = __webpack_require__(\"1978\");\nvar appendArrayPointValue = __webpack_require__(\"c4c7\").appendArrayPointValue;\n\nvar drawing = module.exports = {};\n\n// -----------------------------------------------------\n// styling functions for plot elements\n// -----------------------------------------------------\n\ndrawing.font = function(s, family, size, color) {\n // also allow the form font(s, {family, size, color})\n if(Lib.isPlainObject(family)) {\n color = family.color;\n size = family.size;\n family = family.family;\n }\n if(family) s.style('font-family', family);\n if(size + 1) s.style('font-size', size + 'px');\n if(color) s.call(Color.fill, color);\n};\n\n/*\n * Positioning helpers\n * Note: do not use `setPosition` with nodes modified by\n * `svgTextUtils.convertToTspans`. Use `svgTextUtils.positionText`\n * instead, so that elements get updated to match.\n */\ndrawing.setPosition = function(s, x, y) { s.attr('x', x).attr('y', y); };\ndrawing.setSize = function(s, w, h) { s.attr('width', w).attr('height', h); };\ndrawing.setRect = function(s, x, y, w, h) {\n s.call(drawing.setPosition, x, y).call(drawing.setSize, w, h);\n};\n\n/** Translate node\n *\n * @param {object} d : calcdata point item\n * @param {sel} sel : d3 selction of node to translate\n * @param {object} xa : corresponding full xaxis object\n * @param {object} ya : corresponding full yaxis object\n *\n * @return {boolean} :\n * true if selection got translated\n * false if selection could not get translated\n */\ndrawing.translatePoint = function(d, sel, xa, ya) {\n var x = xa.c2p(d.x);\n var y = ya.c2p(d.y);\n\n if(isNumeric(x) && isNumeric(y) && sel.node()) {\n // for multiline text this works better\n if(sel.node().nodeName === 'text') {\n sel.attr('x', x).attr('y', y);\n } else {\n sel.attr('transform', 'translate(' + x + ',' + y + ')');\n }\n } else {\n return false;\n }\n\n return true;\n};\n\ndrawing.translatePoints = function(s, xa, ya) {\n s.each(function(d) {\n var sel = d3.select(this);\n drawing.translatePoint(d, sel, xa, ya);\n });\n};\n\ndrawing.hideOutsideRangePoint = function(d, sel, xa, ya, xcalendar, ycalendar) {\n sel.attr(\n 'display',\n (xa.isPtWithinRange(d, xcalendar) && ya.isPtWithinRange(d, ycalendar)) ? null : 'none'\n );\n};\n\ndrawing.hideOutsideRangePoints = function(traceGroups, subplot) {\n if(!subplot._hasClipOnAxisFalse) return;\n\n var xa = subplot.xaxis;\n var ya = subplot.yaxis;\n\n traceGroups.each(function(d) {\n var trace = d[0].trace;\n var xcalendar = trace.xcalendar;\n var ycalendar = trace.ycalendar;\n var selector = Registry.traceIs(trace, 'bar-like') ? '.bartext' : '.point,.textpoint';\n\n traceGroups.selectAll(selector).each(function(d) {\n drawing.hideOutsideRangePoint(d, d3.select(this), xa, ya, xcalendar, ycalendar);\n });\n });\n};\n\ndrawing.crispRound = function(gd, lineWidth, dflt) {\n // for lines that disable antialiasing we want to\n // make sure the width is an integer, and at least 1 if it's nonzero\n\n if(!lineWidth || !isNumeric(lineWidth)) return dflt || 0;\n\n // but not for static plots - these don't get antialiased anyway.\n if(gd._context.staticPlot) return lineWidth;\n\n if(lineWidth < 1) return 1;\n return Math.round(lineWidth);\n};\n\ndrawing.singleLineStyle = function(d, s, lw, lc, ld) {\n s.style('fill', 'none');\n var line = (((d || [])[0] || {}).trace || {}).line || {};\n var lw1 = lw || line.width || 0;\n var dash = ld || line.dash || '';\n\n Color.stroke(s, lc || line.color);\n drawing.dashLine(s, dash, lw1);\n};\n\ndrawing.lineGroupStyle = function(s, lw, lc, ld) {\n s.style('fill', 'none')\n .each(function(d) {\n var line = (((d || [])[0] || {}).trace || {}).line || {};\n var lw1 = lw || line.width || 0;\n var dash = ld || line.dash || '';\n\n d3.select(this)\n .call(Color.stroke, lc || line.color)\n .call(drawing.dashLine, dash, lw1);\n });\n};\n\ndrawing.dashLine = function(s, dash, lineWidth) {\n lineWidth = +lineWidth || 0;\n\n dash = drawing.dashStyle(dash, lineWidth);\n\n s.style({\n 'stroke-dasharray': dash,\n 'stroke-width': lineWidth + 'px'\n });\n};\n\ndrawing.dashStyle = function(dash, lineWidth) {\n lineWidth = +lineWidth || 1;\n var dlw = Math.max(lineWidth, 3);\n\n if(dash === 'solid') dash = '';\n else if(dash === 'dot') dash = dlw + 'px,' + dlw + 'px';\n else if(dash === 'dash') dash = (3 * dlw) + 'px,' + (3 * dlw) + 'px';\n else if(dash === 'longdash') dash = (5 * dlw) + 'px,' + (5 * dlw) + 'px';\n else if(dash === 'dashdot') {\n dash = (3 * dlw) + 'px,' + dlw + 'px,' + dlw + 'px,' + dlw + 'px';\n } else if(dash === 'longdashdot') {\n dash = (5 * dlw) + 'px,' + (2 * dlw) + 'px,' + dlw + 'px,' + (2 * dlw) + 'px';\n }\n // otherwise user wrote the dasharray themselves - leave it be\n\n return dash;\n};\n\n// Same as fillGroupStyle, except in this case the selection may be a transition\ndrawing.singleFillStyle = function(sel) {\n var node = d3.select(sel.node());\n var data = node.data();\n var fillcolor = (((data[0] || [])[0] || {}).trace || {}).fillcolor;\n if(fillcolor) {\n sel.call(Color.fill, fillcolor);\n }\n};\n\ndrawing.fillGroupStyle = function(s) {\n s.style('stroke-width', 0)\n .each(function(d) {\n var shape = d3.select(this);\n // N.B. 'd' won't be a calcdata item when\n // fill !== 'none' on a segment-less and marker-less trace\n if(d[0].trace) {\n shape.call(Color.fill, d[0].trace.fillcolor);\n }\n });\n};\n\nvar SYMBOLDEFS = __webpack_require__(\"3350\");\n\ndrawing.symbolNames = [];\ndrawing.symbolFuncs = [];\ndrawing.symbolNeedLines = {};\ndrawing.symbolNoDot = {};\ndrawing.symbolNoFill = {};\ndrawing.symbolList = [];\n\nObject.keys(SYMBOLDEFS).forEach(function(k) {\n var symDef = SYMBOLDEFS[k];\n var n = symDef.n;\n drawing.symbolList.push(\n n,\n k,\n n + 100,\n k + '-open'\n );\n drawing.symbolNames[n] = k;\n drawing.symbolFuncs[n] = symDef.f;\n\n if(symDef.needLine) {\n drawing.symbolNeedLines[n] = true;\n }\n if(symDef.noDot) {\n drawing.symbolNoDot[n] = true;\n } else {\n drawing.symbolList.push(\n n + 200,\n k + '-dot',\n n + 300,\n k + '-open-dot'\n );\n }\n if(symDef.noFill) {\n drawing.symbolNoFill[n] = true;\n }\n});\n\nvar MAXSYMBOL = drawing.symbolNames.length;\n// add a dot in the middle of the symbol\nvar DOTPATH = 'M0,0.5L0.5,0L0,-0.5L-0.5,0Z';\n\ndrawing.symbolNumber = function(v) {\n if(typeof v === 'string') {\n var vbase = 0;\n if(v.indexOf('-open') > 0) {\n vbase = 100;\n v = v.replace('-open', '');\n }\n if(v.indexOf('-dot') > 0) {\n vbase += 200;\n v = v.replace('-dot', '');\n }\n v = drawing.symbolNames.indexOf(v);\n if(v >= 0) { v += vbase; }\n }\n\n return (v % 100 >= MAXSYMBOL || v >= 400) ?\n 0 : Math.floor(Math.max(v, 0));\n};\n\nfunction makePointPath(symbolNumber, r) {\n var base = symbolNumber % 100;\n return drawing.symbolFuncs[base](r) + (symbolNumber >= 200 ? DOTPATH : '');\n}\n\nvar HORZGRADIENT = {x1: 1, x2: 0, y1: 0, y2: 0};\nvar VERTGRADIENT = {x1: 0, x2: 0, y1: 1, y2: 0};\nvar stopFormatter = d3.format('~.1f');\nvar gradientInfo = {\n radial: {node: 'radialGradient'},\n radialreversed: {node: 'radialGradient', reversed: true},\n horizontal: {node: 'linearGradient', attrs: HORZGRADIENT},\n horizontalreversed: {node: 'linearGradient', attrs: HORZGRADIENT, reversed: true},\n vertical: {node: 'linearGradient', attrs: VERTGRADIENT},\n verticalreversed: {node: 'linearGradient', attrs: VERTGRADIENT, reversed: true}\n};\n\n/**\n * gradient: create and apply a gradient fill\n *\n * @param {object} sel: d3 selection to apply this gradient to\n * You can use `selection.call(Drawing.gradient, ...)`\n * @param {DOM element} gd: the graph div `sel` is part of\n * @param {string} gradientID: a unique (within this plot) identifier\n * for this gradient, so that we don't create unnecessary definitions\n * @param {string} type: 'radial', 'horizontal', or 'vertical', optionally with\n * 'reversed' at the end. Normally radial goes center to edge,\n * horizontal goes right to left, and vertical goes bottom to top\n * @param {array} colorscale: as in attribute values, [[fraction, color], ...]\n * @param {string} prop: the property to apply to, 'fill' or 'stroke'\n */\ndrawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) {\n var len = colorscale.length;\n var info = gradientInfo[type];\n var colorStops = new Array(len);\n for(var i = 0; i < len; i++) {\n if(info.reversed) {\n colorStops[len - 1 - i] = [stopFormatter((1 - colorscale[i][0]) * 100), colorscale[i][1]];\n } else {\n colorStops[i] = [stopFormatter(colorscale[i][0] * 100), colorscale[i][1]];\n }\n }\n\n var fullLayout = gd._fullLayout;\n var fullID = 'g' + fullLayout._uid + '-' + gradientID;\n\n var gradient = fullLayout._defs.select('.gradients')\n .selectAll('#' + fullID)\n .data([type + colorStops.join(';')], Lib.identity);\n\n gradient.exit().remove();\n\n gradient.enter()\n .append(info.node)\n .each(function() {\n var el = d3.select(this);\n if(info.attrs) el.attr(info.attrs);\n\n el.attr('id', fullID);\n\n var stops = el.selectAll('stop')\n .data(colorStops);\n stops.exit().remove();\n stops.enter().append('stop');\n\n stops.each(function(d) {\n var tc = tinycolor(d[1]);\n d3.select(this).attr({\n offset: d[0] + '%',\n 'stop-color': Color.tinyRGB(tc),\n 'stop-opacity': tc.getAlpha()\n });\n });\n });\n\n sel.style(prop, getFullUrl(fullID, gd))\n .style(prop + '-opacity', null);\n\n var className2query = function(s) {\n return '.' + s.attr('class').replace(/\\s/g, '.');\n };\n var k = className2query(d3.select(sel.node().parentNode)) +\n '>' + className2query(sel);\n fullLayout._gradientUrlQueryParts[k] = 1;\n};\n\n/*\n * Make the gradients container and clear out any previous gradients.\n * We never collect all the gradients we need in one place,\n * so we can't ever remove gradients that have stopped being useful,\n * except all at once before a full redraw.\n * The upside of this is arbitrary points can share gradient defs\n */\ndrawing.initGradients = function(gd) {\n var fullLayout = gd._fullLayout;\n\n var gradientsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'gradients');\n gradientsGroup.selectAll('linearGradient,radialGradient').remove();\n\n // initialize stash of query parts filled in Drawing.gradient,\n // used to fix URL strings during image exports\n fullLayout._gradientUrlQueryParts = {};\n};\n\n\ndrawing.pointStyle = function(s, trace, gd) {\n if(!s.size()) return;\n\n var fns = drawing.makePointStyleFns(trace);\n\n s.each(function(d) {\n drawing.singlePointStyle(d, d3.select(this), trace, fns, gd);\n });\n};\n\ndrawing.singlePointStyle = function(d, sel, trace, fns, gd) {\n var marker = trace.marker;\n var markerLine = marker.line;\n\n sel.style('opacity',\n fns.selectedOpacityFn ? fns.selectedOpacityFn(d) :\n (d.mo === undefined ? marker.opacity : d.mo)\n );\n\n if(fns.ms2mrc) {\n var r;\n\n // handle multi-trace graph edit case\n if(d.ms === 'various' || marker.size === 'various') {\n r = 3;\n } else {\n r = fns.ms2mrc(d.ms);\n }\n\n // store the calculated size so hover can use it\n d.mrc = r;\n\n if(fns.selectedSizeFn) {\n r = d.mrc = fns.selectedSizeFn(d);\n }\n\n // turn the symbol into a sanitized number\n var x = drawing.symbolNumber(d.mx || marker.symbol) || 0;\n\n // save if this marker is open\n // because that impacts how to handle colors\n d.om = x % 200 >= 100;\n\n sel.attr('d', makePointPath(x, r));\n }\n\n var perPointGradient = false;\n var fillColor, lineColor, lineWidth;\n\n // 'so' is suspected outliers, for box plots\n if(d.so) {\n lineWidth = markerLine.outlierwidth;\n lineColor = markerLine.outliercolor;\n fillColor = marker.outliercolor;\n } else {\n var markerLineWidth = (markerLine || {}).width;\n\n lineWidth = (\n d.mlw + 1 ||\n markerLineWidth + 1 ||\n // TODO: we need the latter for legends... can we get rid of it?\n (d.trace ? (d.trace.marker.line || {}).width : 0) + 1\n ) - 1 || 0;\n\n if('mlc' in d) lineColor = d.mlcc = fns.lineScale(d.mlc);\n // weird case: array wasn't long enough to apply to every point\n else if(Lib.isArrayOrTypedArray(markerLine.color)) lineColor = Color.defaultLine;\n else lineColor = markerLine.color;\n\n if(Lib.isArrayOrTypedArray(marker.color)) {\n fillColor = Color.defaultLine;\n perPointGradient = true;\n }\n\n if('mc' in d) {\n fillColor = d.mcc = fns.markerScale(d.mc);\n } else {\n fillColor = marker.color || 'rgba(0,0,0,0)';\n }\n\n if(fns.selectedColorFn) {\n fillColor = fns.selectedColorFn(d);\n }\n }\n\n if(d.om) {\n // open markers can't have zero linewidth, default to 1px,\n // and use fill color as stroke color\n sel.call(Color.stroke, fillColor)\n .style({\n 'stroke-width': (lineWidth || 1) + 'px',\n fill: 'none'\n });\n } else {\n sel.style('stroke-width', (d.isBlank ? 0 : lineWidth) + 'px');\n\n var markerGradient = marker.gradient;\n\n var gradientType = d.mgt;\n if(gradientType) perPointGradient = true;\n else gradientType = markerGradient && markerGradient.type;\n\n // for legend - arrays will propagate through here, but we don't need\n // to treat it as per-point.\n if(Array.isArray(gradientType)) {\n gradientType = gradientType[0];\n if(!gradientInfo[gradientType]) gradientType = 0;\n }\n\n if(gradientType && gradientType !== 'none') {\n var gradientColor = d.mgc;\n if(gradientColor) perPointGradient = true;\n else gradientColor = markerGradient.color;\n\n var gradientID = trace.uid;\n if(perPointGradient) gradientID += '-' + d.i;\n\n drawing.gradient(sel, gd, gradientID, gradientType,\n [[0, gradientColor], [1, fillColor]], 'fill');\n } else {\n Color.fill(sel, fillColor);\n }\n\n if(lineWidth) {\n Color.stroke(sel, lineColor);\n }\n }\n};\n\ndrawing.makePointStyleFns = function(trace) {\n var out = {};\n var marker = trace.marker;\n\n // allow array marker and marker line colors to be\n // scaled by given max and min to colorscales\n out.markerScale = drawing.tryColorscale(marker, '');\n out.lineScale = drawing.tryColorscale(marker, 'line');\n\n if(Registry.traceIs(trace, 'symbols')) {\n out.ms2mrc = subTypes.isBubble(trace) ?\n makeBubbleSizeFn(trace) :\n function() { return (marker.size || 6) / 2; };\n }\n\n if(trace.selectedpoints) {\n Lib.extendFlat(out, drawing.makeSelectedPointStyleFns(trace));\n }\n\n return out;\n};\n\ndrawing.makeSelectedPointStyleFns = function(trace) {\n var out = {};\n\n var selectedAttrs = trace.selected || {};\n var unselectedAttrs = trace.unselected || {};\n\n var marker = trace.marker || {};\n var selectedMarker = selectedAttrs.marker || {};\n var unselectedMarker = unselectedAttrs.marker || {};\n\n var mo = marker.opacity;\n var smo = selectedMarker.opacity;\n var usmo = unselectedMarker.opacity;\n var smoIsDefined = smo !== undefined;\n var usmoIsDefined = usmo !== undefined;\n\n if(Lib.isArrayOrTypedArray(mo) || smoIsDefined || usmoIsDefined) {\n out.selectedOpacityFn = function(d) {\n var base = d.mo === undefined ? marker.opacity : d.mo;\n\n if(d.selected) {\n return smoIsDefined ? smo : base;\n } else {\n return usmoIsDefined ? usmo : DESELECTDIM * base;\n }\n };\n }\n\n var mc = marker.color;\n var smc = selectedMarker.color;\n var usmc = unselectedMarker.color;\n\n if(smc || usmc) {\n out.selectedColorFn = function(d) {\n var base = d.mcc || mc;\n\n if(d.selected) {\n return smc || base;\n } else {\n return usmc || base;\n }\n };\n }\n\n var ms = marker.size;\n var sms = selectedMarker.size;\n var usms = unselectedMarker.size;\n var smsIsDefined = sms !== undefined;\n var usmsIsDefined = usms !== undefined;\n\n if(Registry.traceIs(trace, 'symbols') && (smsIsDefined || usmsIsDefined)) {\n out.selectedSizeFn = function(d) {\n var base = d.mrc || ms / 2;\n\n if(d.selected) {\n return smsIsDefined ? sms / 2 : base;\n } else {\n return usmsIsDefined ? usms / 2 : base;\n }\n };\n }\n\n return out;\n};\n\ndrawing.makeSelectedTextStyleFns = function(trace) {\n var out = {};\n\n var selectedAttrs = trace.selected || {};\n var unselectedAttrs = trace.unselected || {};\n\n var textFont = trace.textfont || {};\n var selectedTextFont = selectedAttrs.textfont || {};\n var unselectedTextFont = unselectedAttrs.textfont || {};\n\n var tc = textFont.color;\n var stc = selectedTextFont.color;\n var utc = unselectedTextFont.color;\n\n out.selectedTextColorFn = function(d) {\n var base = d.tc || tc;\n\n if(d.selected) {\n return stc || base;\n } else {\n if(utc) return utc;\n else return stc ? base : Color.addOpacity(base, DESELECTDIM);\n }\n };\n\n return out;\n};\n\ndrawing.selectedPointStyle = function(s, trace) {\n if(!s.size() || !trace.selectedpoints) return;\n\n var fns = drawing.makeSelectedPointStyleFns(trace);\n var marker = trace.marker || {};\n var seq = [];\n\n if(fns.selectedOpacityFn) {\n seq.push(function(pt, d) {\n pt.style('opacity', fns.selectedOpacityFn(d));\n });\n }\n\n if(fns.selectedColorFn) {\n seq.push(function(pt, d) {\n Color.fill(pt, fns.selectedColorFn(d));\n });\n }\n\n if(fns.selectedSizeFn) {\n seq.push(function(pt, d) {\n var mx = d.mx || marker.symbol || 0;\n var mrc2 = fns.selectedSizeFn(d);\n\n pt.attr('d', makePointPath(drawing.symbolNumber(mx), mrc2));\n\n // save for Drawing.selectedTextStyle\n d.mrc2 = mrc2;\n });\n }\n\n if(seq.length) {\n s.each(function(d) {\n var pt = d3.select(this);\n for(var i = 0; i < seq.length; i++) {\n seq[i](pt, d);\n }\n });\n }\n};\n\ndrawing.tryColorscale = function(marker, prefix) {\n var cont = prefix ? Lib.nestedProperty(marker, prefix).get() : marker;\n\n if(cont) {\n var colorArray = cont.color;\n if((cont.colorscale || cont._colorAx) && Lib.isArrayOrTypedArray(colorArray)) {\n return Colorscale.makeColorScaleFuncFromTrace(cont);\n }\n }\n return Lib.identity;\n};\n\nvar TEXTOFFSETSIGN = {\n start: 1, end: -1, middle: 0, bottom: 1, top: -1\n};\n\nfunction textPointPosition(s, textPosition, fontSize, markerRadius) {\n var group = d3.select(s.node().parentNode);\n\n var v = textPosition.indexOf('top') !== -1 ?\n 'top' :\n textPosition.indexOf('bottom') !== -1 ? 'bottom' : 'middle';\n var h = textPosition.indexOf('left') !== -1 ?\n 'end' :\n textPosition.indexOf('right') !== -1 ? 'start' : 'middle';\n\n // if markers are shown, offset a little more than\n // the nominal marker size\n // ie 2/1.6 * nominal, bcs some markers are a bit bigger\n var r = markerRadius ? markerRadius / 0.8 + 1 : 0;\n\n var numLines = (svgTextUtils.lineCount(s) - 1) * LINE_SPACING + 1;\n var dx = TEXTOFFSETSIGN[h] * r;\n var dy = fontSize * 0.75 + TEXTOFFSETSIGN[v] * r +\n (TEXTOFFSETSIGN[v] - 1) * numLines * fontSize / 2;\n\n // fix the overall text group position\n s.attr('text-anchor', h);\n group.attr('transform', 'translate(' + dx + ',' + dy + ')');\n}\n\nfunction extracTextFontSize(d, trace) {\n var fontSize = d.ts || trace.textfont.size;\n return (isNumeric(fontSize) && fontSize > 0) ? fontSize : 0;\n}\n\n// draw text at points\ndrawing.textPointStyle = function(s, trace, gd) {\n if(!s.size()) return;\n\n var selectedTextColorFn;\n if(trace.selectedpoints) {\n var fns = drawing.makeSelectedTextStyleFns(trace);\n selectedTextColorFn = fns.selectedTextColorFn;\n }\n\n var texttemplate = trace.texttemplate;\n var fullLayout = gd._fullLayout;\n\n s.each(function(d) {\n var p = d3.select(this);\n\n var text = texttemplate ?\n Lib.extractOption(d, trace, 'txt', 'texttemplate') :\n Lib.extractOption(d, trace, 'tx', 'text');\n\n if(!text && text !== 0) {\n p.remove();\n return;\n }\n\n if(texttemplate) {\n var labels = trace._module.formatLabels ? trace._module.formatLabels(d, trace, fullLayout) : {};\n var pointValues = {};\n appendArrayPointValue(pointValues, trace, d.i);\n var meta = trace._meta || {};\n text = Lib.texttemplateString(text, labels, fullLayout._d3locale, pointValues, d, meta);\n }\n\n var pos = d.tp || trace.textposition;\n var fontSize = extracTextFontSize(d, trace);\n var fontColor = selectedTextColorFn ?\n selectedTextColorFn(d) :\n (d.tc || trace.textfont.color);\n\n p.call(drawing.font,\n d.tf || trace.textfont.family,\n fontSize,\n fontColor)\n .text(text)\n .call(svgTextUtils.convertToTspans, gd)\n .call(textPointPosition, pos, fontSize, d.mrc);\n });\n};\n\ndrawing.selectedTextStyle = function(s, trace) {\n if(!s.size() || !trace.selectedpoints) return;\n\n var fns = drawing.makeSelectedTextStyleFns(trace);\n\n s.each(function(d) {\n var tx = d3.select(this);\n var tc = fns.selectedTextColorFn(d);\n var tp = d.tp || trace.textposition;\n var fontSize = extracTextFontSize(d, trace);\n\n Color.fill(tx, tc);\n textPointPosition(tx, tp, fontSize, d.mrc2 || d.mrc);\n });\n};\n\n// generalized Catmull-Rom splines, per\n// http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf\nvar CatmullRomExp = 0.5;\ndrawing.smoothopen = function(pts, smoothness) {\n if(pts.length < 3) { return 'M' + pts.join('L');}\n var path = 'M' + pts[0];\n var tangents = [];\n var i;\n for(i = 1; i < pts.length - 1; i++) {\n tangents.push(makeTangent(pts[i - 1], pts[i], pts[i + 1], smoothness));\n }\n path += 'Q' + tangents[0][0] + ' ' + pts[1];\n for(i = 2; i < pts.length - 1; i++) {\n path += 'C' + tangents[i - 2][1] + ' ' + tangents[i - 1][0] + ' ' + pts[i];\n }\n path += 'Q' + tangents[pts.length - 3][1] + ' ' + pts[pts.length - 1];\n return path;\n};\n\ndrawing.smoothclosed = function(pts, smoothness) {\n if(pts.length < 3) { return 'M' + pts.join('L') + 'Z'; }\n var path = 'M' + pts[0];\n var pLast = pts.length - 1;\n var tangents = [makeTangent(pts[pLast], pts[0], pts[1], smoothness)];\n var i;\n for(i = 1; i < pLast; i++) {\n tangents.push(makeTangent(pts[i - 1], pts[i], pts[i + 1], smoothness));\n }\n tangents.push(\n makeTangent(pts[pLast - 1], pts[pLast], pts[0], smoothness)\n );\n\n for(i = 1; i <= pLast; i++) {\n path += 'C' + tangents[i - 1][1] + ' ' + tangents[i][0] + ' ' + pts[i];\n }\n path += 'C' + tangents[pLast][1] + ' ' + tangents[0][0] + ' ' + pts[0] + 'Z';\n return path;\n};\n\nfunction makeTangent(prevpt, thispt, nextpt, smoothness) {\n var d1x = prevpt[0] - thispt[0];\n var d1y = prevpt[1] - thispt[1];\n var d2x = nextpt[0] - thispt[0];\n var d2y = nextpt[1] - thispt[1];\n var d1a = Math.pow(d1x * d1x + d1y * d1y, CatmullRomExp / 2);\n var d2a = Math.pow(d2x * d2x + d2y * d2y, CatmullRomExp / 2);\n var numx = (d2a * d2a * d1x - d1a * d1a * d2x) * smoothness;\n var numy = (d2a * d2a * d1y - d1a * d1a * d2y) * smoothness;\n var denom1 = 3 * d2a * (d1a + d2a);\n var denom2 = 3 * d1a * (d1a + d2a);\n return [\n [\n d3.round(thispt[0] + (denom1 && numx / denom1), 2),\n d3.round(thispt[1] + (denom1 && numy / denom1), 2)\n ], [\n d3.round(thispt[0] - (denom2 && numx / denom2), 2),\n d3.round(thispt[1] - (denom2 && numy / denom2), 2)\n ]\n ];\n}\n\n// step paths - returns a generator function for paths\n// with the given step shape\nvar STEPPATH = {\n hv: function(p0, p1) {\n return 'H' + d3.round(p1[0], 2) + 'V' + d3.round(p1[1], 2);\n },\n vh: function(p0, p1) {\n return 'V' + d3.round(p1[1], 2) + 'H' + d3.round(p1[0], 2);\n },\n hvh: function(p0, p1) {\n return 'H' + d3.round((p0[0] + p1[0]) / 2, 2) + 'V' +\n d3.round(p1[1], 2) + 'H' + d3.round(p1[0], 2);\n },\n vhv: function(p0, p1) {\n return 'V' + d3.round((p0[1] + p1[1]) / 2, 2) + 'H' +\n d3.round(p1[0], 2) + 'V' + d3.round(p1[1], 2);\n }\n};\nvar STEPLINEAR = function(p0, p1) {\n return 'L' + d3.round(p1[0], 2) + ',' + d3.round(p1[1], 2);\n};\ndrawing.steps = function(shape) {\n var onestep = STEPPATH[shape] || STEPLINEAR;\n return function(pts) {\n var path = 'M' + d3.round(pts[0][0], 2) + ',' + d3.round(pts[0][1], 2);\n for(var i = 1; i < pts.length; i++) {\n path += onestep(pts[i - 1], pts[i]);\n }\n return path;\n };\n};\n\n// off-screen svg render testing element, shared by the whole page\n// uses the id 'js-plotly-tester' and stores it in drawing.tester\ndrawing.makeTester = function() {\n var tester = Lib.ensureSingleById(d3.select('body'), 'svg', 'js-plotly-tester', function(s) {\n s.attr(xmlnsNamespaces.svgAttrs)\n .style({\n position: 'absolute',\n left: '-10000px',\n top: '-10000px',\n width: '9000px',\n height: '9000px',\n 'z-index': '1'\n });\n });\n\n // browsers differ on how they describe the bounding rect of\n // the svg if its contents spill over... so make a 1x1px\n // reference point we can measure off of.\n var testref = Lib.ensureSingle(tester, 'path', 'js-reference-point', function(s) {\n s.attr('d', 'M0,0H1V1H0Z')\n .style({\n 'stroke-width': 0,\n fill: 'black'\n });\n });\n\n drawing.tester = tester;\n drawing.testref = testref;\n};\n\n/*\n * use our offscreen tester to get a clientRect for an element,\n * in a reference frame where it isn't translated (or transformed) and\n * its anchor point is at (0,0)\n * always returns a copy of the bbox, so the caller can modify it safely\n *\n * @param {SVGElement} node: the element to measure. If possible this should be\n * a or MathJax element that's already passed through\n * `convertToTspans` because in that case we can cache the results, but it's\n * possible to pass in any svg element.\n *\n * @param {boolean} inTester: is this element already in `drawing.tester`?\n * If you are measuring a dummy element, rather than one you really intend\n * to use on the plot, making it in `drawing.tester` in the first place\n * allows us to test faster because it cuts out cloning and appending it.\n *\n * @param {string} hash: for internal use only, if we already know the cache key\n * for this element beforehand.\n *\n * @return {object}: a plain object containing the width, height, left, right,\n * top, and bottom of `node`\n */\ndrawing.savedBBoxes = {};\nvar savedBBoxesCount = 0;\nvar maxSavedBBoxes = 10000;\n\ndrawing.bBox = function(node, inTester, hash) {\n /*\n * Cache elements we've already measured so we don't have to\n * remeasure the same thing many times\n * We have a few bBox callers though who pass a node larger than\n * a or a MathJax , such as an axis group containing many labels.\n * These will not generate a hash (unless we figure out an appropriate\n * hash key for them) and thus we will not hash them.\n */\n if(!hash) hash = nodeHash(node);\n var out;\n if(hash) {\n out = drawing.savedBBoxes[hash];\n if(out) return Lib.extendFlat({}, out);\n } else if(node.childNodes.length === 1) {\n /*\n * If we have only one child element, which is itself hashable, make\n * a new hash from this element plus its x,y,transform\n * These bounding boxes *include* x,y,transform - mostly for use by\n * callers trying to avoid overlaps (ie titles)\n */\n var innerNode = node.childNodes[0];\n\n hash = nodeHash(innerNode);\n if(hash) {\n var x = +innerNode.getAttribute('x') || 0;\n var y = +innerNode.getAttribute('y') || 0;\n var transform = innerNode.getAttribute('transform');\n\n if(!transform) {\n // in this case, just varying x and y, don't bother caching\n // the final bBox because the alteration is quick.\n var innerBB = drawing.bBox(innerNode, false, hash);\n if(x) {\n innerBB.left += x;\n innerBB.right += x;\n }\n if(y) {\n innerBB.top += y;\n innerBB.bottom += y;\n }\n return innerBB;\n }\n /*\n * else we have a transform - rather than make a complicated\n * (and error-prone and probably slow) transform parser/calculator,\n * just continue on calculating the boundingClientRect of the group\n * and use the new composite hash to cache it.\n * That said, `innerNode.transform.baseVal` is an array of\n * `SVGTransform` objects, that *do* seem to have a nice matrix\n * multiplication interface that we could use to avoid making\n * another getBoundingClientRect call...\n */\n hash += '~' + x + '~' + y + '~' + transform;\n\n out = drawing.savedBBoxes[hash];\n if(out) return Lib.extendFlat({}, out);\n }\n }\n var testNode, tester;\n if(inTester) {\n testNode = node;\n } else {\n tester = drawing.tester.node();\n\n // copy the node to test into the tester\n testNode = node.cloneNode(true);\n tester.appendChild(testNode);\n }\n\n // standardize its position (and newline tspans if any)\n d3.select(testNode)\n .attr('transform', null)\n .call(svgTextUtils.positionText, 0, 0);\n\n var testRect = testNode.getBoundingClientRect();\n var refRect = drawing.testref\n .node()\n .getBoundingClientRect();\n\n if(!inTester) tester.removeChild(testNode);\n\n var bb = {\n height: testRect.height,\n width: testRect.width,\n left: testRect.left - refRect.left,\n top: testRect.top - refRect.top,\n right: testRect.right - refRect.left,\n bottom: testRect.bottom - refRect.top\n };\n\n // make sure we don't have too many saved boxes,\n // or a long session could overload on memory\n // by saving boxes for long-gone elements\n if(savedBBoxesCount >= maxSavedBBoxes) {\n drawing.savedBBoxes = {};\n savedBBoxesCount = 0;\n }\n\n // cache this bbox\n if(hash) drawing.savedBBoxes[hash] = bb;\n savedBBoxesCount++;\n\n return Lib.extendFlat({}, bb);\n};\n\n// capture everything about a node (at least in our usage) that\n// impacts its bounding box, given that bBox clears x, y, and transform\nfunction nodeHash(node) {\n var inputText = node.getAttribute('data-unformatted');\n if(inputText === null) return;\n return inputText +\n node.getAttribute('data-math') +\n node.getAttribute('text-anchor') +\n node.getAttribute('style');\n}\n\n/**\n * Set clipPath URL in a way that work for all situations.\n *\n * In details, graphs on pages with HTML tags need to prepend\n * the clip path ids with the page's base url EXCEPT during toImage exports.\n *\n * @param {d3 selection} s : node to add clip-path attribute\n * @param {string} localId : local clip-path (w/o base url) id\n * @param {DOM element || object} gd\n * - context._baseUrl {string}\n * - context._exportedPlot {boolean}\n */\ndrawing.setClipUrl = function(s, localId, gd) {\n s.attr('clip-path', getFullUrl(localId, gd));\n};\n\nfunction getFullUrl(localId, gd) {\n if(!localId) return null;\n\n var context = gd._context;\n var baseUrl = context._exportedPlot ? '' : (context._baseUrl || '');\n return 'url(\\'' + baseUrl + '#' + localId + '\\')';\n}\n\ndrawing.getTranslate = function(element) {\n // Note the separator [^\\d] between x and y in this regex\n // We generally use ',' but IE will convert it to ' '\n var re = /.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var transform = element[getter]('transform') || '';\n\n var translate = transform.replace(re, function(match, p1, p2) {\n return [p1, p2].join(' ');\n })\n .split(' ');\n\n return {\n x: +translate[0] || 0,\n y: +translate[1] || 0\n };\n};\n\ndrawing.setTranslate = function(element, x, y) {\n var re = /(\\btranslate\\(.*?\\);?)/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var setter = element.attr ? 'attr' : 'setAttribute';\n var transform = element[getter]('transform') || '';\n\n x = x || 0;\n y = y || 0;\n\n transform = transform.replace(re, '').trim();\n transform += ' translate(' + x + ', ' + y + ')';\n transform = transform.trim();\n\n element[setter]('transform', transform);\n\n return transform;\n};\n\ndrawing.getScale = function(element) {\n var re = /.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var transform = element[getter]('transform') || '';\n\n var translate = transform.replace(re, function(match, p1, p2) {\n return [p1, p2].join(' ');\n })\n .split(' ');\n\n return {\n x: +translate[0] || 1,\n y: +translate[1] || 1\n };\n};\n\ndrawing.setScale = function(element, x, y) {\n var re = /(\\bscale\\(.*?\\);?)/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var setter = element.attr ? 'attr' : 'setAttribute';\n var transform = element[getter]('transform') || '';\n\n x = x || 1;\n y = y || 1;\n\n transform = transform.replace(re, '').trim();\n transform += ' scale(' + x + ', ' + y + ')';\n transform = transform.trim();\n\n element[setter]('transform', transform);\n\n return transform;\n};\n\nvar SCALE_RE = /\\s*sc.*/;\n\ndrawing.setPointGroupScale = function(selection, xScale, yScale) {\n xScale = xScale || 1;\n yScale = yScale || 1;\n\n if(!selection) return;\n\n // The same scale transform for every point:\n var scale = (xScale === 1 && yScale === 1) ?\n '' :\n ' scale(' + xScale + ',' + yScale + ')';\n\n selection.each(function() {\n var t = (this.getAttribute('transform') || '').replace(SCALE_RE, '');\n t += scale;\n t = t.trim();\n this.setAttribute('transform', t);\n });\n};\n\nvar TEXT_POINT_LAST_TRANSLATION_RE = /translate\\([^)]*\\)\\s*$/;\n\ndrawing.setTextPointsScale = function(selection, xScale, yScale) {\n if(!selection) return;\n\n selection.each(function() {\n var transforms;\n var el = d3.select(this);\n var text = el.select('text');\n\n if(!text.node()) return;\n\n var x = parseFloat(text.attr('x') || 0);\n var y = parseFloat(text.attr('y') || 0);\n\n var existingTransform = (el.attr('transform') || '').match(TEXT_POINT_LAST_TRANSLATION_RE);\n\n if(xScale === 1 && yScale === 1) {\n transforms = [];\n } else {\n transforms = [\n 'translate(' + x + ',' + y + ')',\n 'scale(' + xScale + ',' + yScale + ')',\n 'translate(' + (-x) + ',' + (-y) + ')',\n ];\n }\n\n if(existingTransform) {\n transforms.push(existingTransform);\n }\n\n el.attr('transform', transforms.join(' '));\n });\n};\n\n\n/***/ }),\n\n/***/ \"8418\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\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/***/ \"849d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// The contour extraction is great, except it totally fails for constraints because we\n// need weird range loops and flipped contours instead of the usual format. This function\n// does some weird manipulation of the extracted pathinfo data such that it magically\n// draws contours correctly *as* constraints.\n//\n// ** I do not know which \"weird range loops\" the comment above is referring to.\nmodule.exports = function(pathinfo, operation) {\n var i, pi0, pi1;\n\n var op0 = function(arr) { return arr.reverse(); };\n var op1 = function(arr) { return arr; };\n\n switch(operation) {\n case '=':\n case '<':\n return pathinfo;\n case '>':\n if(pathinfo.length !== 1) {\n Lib.warn('Contour data invalid for the specified inequality operation.');\n }\n\n // In this case there should be exactly one contour levels in pathinfo.\n // We flip all of the data. This will draw the contour as closed.\n pi0 = pathinfo[0];\n\n for(i = 0; i < pi0.edgepaths.length; i++) {\n pi0.edgepaths[i] = op0(pi0.edgepaths[i]);\n }\n for(i = 0; i < pi0.paths.length; i++) {\n pi0.paths[i] = op0(pi0.paths[i]);\n }\n for(i = 0; i < pi0.starts.length; i++) {\n pi0.starts[i] = op0(pi0.starts[i]);\n }\n\n return pathinfo;\n case '][':\n var tmp = op0;\n op0 = op1;\n op1 = tmp;\n // It's a nice rule, except this definitely *is* what's intended here.\n /* eslint-disable: no-fallthrough */\n case '[]':\n /* eslint-enable: no-fallthrough */\n if(pathinfo.length !== 2) {\n Lib.warn('Contour data invalid for the specified inequality range operation.');\n }\n\n // In this case there should be exactly two contour levels in pathinfo.\n // - We concatenate the info into one pathinfo.\n // - We must also flip all of the data in the `[]` case.\n // This will draw the contours as closed.\n pi0 = copyPathinfo(pathinfo[0]);\n pi1 = copyPathinfo(pathinfo[1]);\n\n for(i = 0; i < pi0.edgepaths.length; i++) {\n pi0.edgepaths[i] = op0(pi0.edgepaths[i]);\n }\n for(i = 0; i < pi0.paths.length; i++) {\n pi0.paths[i] = op0(pi0.paths[i]);\n }\n for(i = 0; i < pi0.starts.length; i++) {\n pi0.starts[i] = op0(pi0.starts[i]);\n }\n\n while(pi1.edgepaths.length) {\n pi0.edgepaths.push(op1(pi1.edgepaths.shift()));\n }\n while(pi1.paths.length) {\n pi0.paths.push(op1(pi1.paths.shift()));\n }\n while(pi1.starts.length) {\n pi0.starts.push(op1(pi1.starts.shift()));\n }\n\n return [pi0];\n }\n};\n\nfunction copyPathinfo(pi) {\n return Lib.extendFlat({}, pi, {\n edgepaths: Lib.extendDeep([], pi.edgepaths),\n paths: Lib.extendDeep([], pi.paths),\n starts: Lib.extendDeep([], pi.starts)\n });\n}\n\n\n/***/ }),\n\n/***/ \"84a1\":\n/***/ (function(module, exports) {\n\nmodule.exports = function () {\n for (var i = 0; i < arguments.length; i++) {\n if (arguments[i] !== undefined) return arguments[i];\n }\n};\n\n\n/***/ }),\n\n/***/ \"84af\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction dupe_array(count, value, i) {\n var c = count[i]|0\n if(c <= 0) {\n return []\n }\n var result = new Array(c), j\n if(i === count.length-1) {\n for(j=0; j 0) {\n return dupe_number(count|0, value)\n }\n break\n case \"object\":\n if(typeof (count.length) === \"number\") {\n return dupe_array(count, value, 0)\n }\n break\n }\n return []\n}\n\nmodule.exports = dupe\n\n/***/ }),\n\n/***/ \"84d3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"936a\")\n , isObject = __webpack_require__(\"5edd\")\n , stringCoerce = __webpack_require__(\"eae0\")\n , toShortString = __webpack_require__(\"7d88\");\n\nvar resolveMessage = function (message, value) {\n\treturn message.replace(\"%v\", toShortString(value));\n};\n\nmodule.exports = function (value, defaultMessage, inputOptions) {\n\tif (!isObject(inputOptions)) throw new TypeError(resolveMessage(defaultMessage, value));\n\tif (!isValue(value)) {\n\t\tif (\"default\" in inputOptions) return inputOptions[\"default\"];\n\t\tif (inputOptions.isOptional) return null;\n\t}\n\tvar errorMessage = stringCoerce(inputOptions.errorMessage);\n\tif (!isValue(errorMessage)) errorMessage = defaultMessage;\n\tthrow new TypeError(resolveMessage(errorMessage, value));\n};\n\n\n/***/ }),\n\n/***/ \"84df\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar SHOWISOLATETIP = true;\n\nmodule.exports = function handleClick(g, gd, numClicks) {\n var fullLayout = gd._fullLayout;\n\n if(gd._dragged || gd._editing) return;\n\n var itemClick = fullLayout.legend.itemclick;\n var itemDoubleClick = fullLayout.legend.itemdoubleclick;\n\n if(numClicks === 1 && itemClick === 'toggle' && itemDoubleClick === 'toggleothers' &&\n SHOWISOLATETIP && gd.data && gd._context.showTips\n ) {\n Lib.notifier(Lib._(gd, 'Double-click on legend to isolate one trace'), 'long');\n SHOWISOLATETIP = false;\n } else {\n SHOWISOLATETIP = false;\n }\n\n var mode;\n if(numClicks === 1) mode = itemClick;\n else if(numClicks === 2) mode = itemDoubleClick;\n if(!mode) return;\n\n var hiddenSlices = fullLayout.hiddenlabels ?\n fullLayout.hiddenlabels.slice() :\n [];\n\n var legendItem = g.data()[0][0];\n var fullData = gd._fullData;\n var fullTrace = legendItem.trace;\n var legendgroup = fullTrace.legendgroup;\n\n var i, j, kcont, key, keys, val;\n var attrUpdate = {};\n var attrIndices = [];\n var carrs = [];\n var carrIdx = [];\n\n function insertUpdate(traceIndex, key, value) {\n var attrIndex = attrIndices.indexOf(traceIndex);\n var valueArray = attrUpdate[key];\n if(!valueArray) {\n valueArray = attrUpdate[key] = [];\n }\n\n if(attrIndices.indexOf(traceIndex) === -1) {\n attrIndices.push(traceIndex);\n attrIndex = attrIndices.length - 1;\n }\n\n valueArray[attrIndex] = value;\n\n return attrIndex;\n }\n\n function setVisibility(fullTrace, visibility) {\n var fullInput = fullTrace._fullInput;\n if(Registry.hasTransform(fullInput, 'groupby')) {\n var kcont = carrs[fullInput.index];\n if(!kcont) {\n var groupbyIndices = Registry.getTransformIndices(fullInput, 'groupby');\n var lastGroupbyIndex = groupbyIndices[groupbyIndices.length - 1];\n kcont = Lib.keyedContainer(fullInput, 'transforms[' + lastGroupbyIndex + '].styles', 'target', 'value.visible');\n carrs[fullInput.index] = kcont;\n }\n\n var curState = kcont.get(fullTrace._group);\n\n // If not specified, assume visible. This happens if there are other style\n // properties set for a group but not the visibility. There are many similar\n // ways to do this (e.g. why not just `curState = fullTrace.visible`??? The\n // answer is: because it breaks other things like groupby trace names in\n // subtle ways.)\n if(curState === undefined) {\n curState = true;\n }\n\n if(curState !== false) {\n // true -> legendonly. All others toggle to true:\n kcont.set(fullTrace._group, visibility);\n }\n carrIdx[fullInput.index] = insertUpdate(fullInput.index, 'visible', fullInput.visible === false ? false : true);\n } else {\n // false -> false (not possible since will not be visible in legend)\n // true -> legendonly\n // legendonly -> true\n var nextVisibility = fullInput.visible === false ? false : visibility;\n\n insertUpdate(fullInput.index, 'visible', nextVisibility);\n }\n }\n\n if(Registry.traceIs(fullTrace, 'pie-like')) {\n var thisLabel = legendItem.label;\n var thisLabelIndex = hiddenSlices.indexOf(thisLabel);\n\n if(mode === 'toggle') {\n if(thisLabelIndex === -1) hiddenSlices.push(thisLabel);\n else hiddenSlices.splice(thisLabelIndex, 1);\n } else if(mode === 'toggleothers') {\n hiddenSlices = [];\n gd.calcdata[0].forEach(function(d) {\n if(thisLabel !== d.label) {\n hiddenSlices.push(d.label);\n }\n });\n if(gd._fullLayout.hiddenlabels && gd._fullLayout.hiddenlabels.length === hiddenSlices.length && thisLabelIndex === -1) {\n hiddenSlices = [];\n }\n }\n\n Registry.call('_guiRelayout', gd, 'hiddenlabels', hiddenSlices);\n } else {\n var hasLegendgroup = legendgroup && legendgroup.length;\n var traceIndicesInGroup = [];\n var tracei;\n if(hasLegendgroup) {\n for(i = 0; i < fullData.length; i++) {\n tracei = fullData[i];\n if(!tracei.visible) continue;\n if(tracei.legendgroup === legendgroup) {\n traceIndicesInGroup.push(i);\n }\n }\n }\n\n if(mode === 'toggle') {\n var nextVisibility;\n\n switch(fullTrace.visible) {\n case true:\n nextVisibility = 'legendonly';\n break;\n case false:\n nextVisibility = false;\n break;\n case 'legendonly':\n nextVisibility = true;\n break;\n }\n\n if(hasLegendgroup) {\n for(i = 0; i < fullData.length; i++) {\n if(fullData[i].visible !== false && fullData[i].legendgroup === legendgroup) {\n setVisibility(fullData[i], nextVisibility);\n }\n }\n } else {\n setVisibility(fullTrace, nextVisibility);\n }\n } else if(mode === 'toggleothers') {\n // Compute the clicked index. expandedIndex does what we want for expanded traces\n // but also culls hidden traces. That means we have some work to do.\n var isClicked, isInGroup, notInLegend, otherState;\n var isIsolated = true;\n for(i = 0; i < fullData.length; i++) {\n isClicked = fullData[i] === fullTrace;\n notInLegend = fullData[i].showlegend !== true;\n if(isClicked || notInLegend) continue;\n\n isInGroup = (hasLegendgroup && fullData[i].legendgroup === legendgroup);\n\n if(!isInGroup && fullData[i].visible === true && !Registry.traceIs(fullData[i], 'notLegendIsolatable')) {\n isIsolated = false;\n break;\n }\n }\n\n for(i = 0; i < fullData.length; i++) {\n // False is sticky; we don't change it.\n if(fullData[i].visible === false) continue;\n\n if(Registry.traceIs(fullData[i], 'notLegendIsolatable')) {\n continue;\n }\n\n switch(fullTrace.visible) {\n case 'legendonly':\n setVisibility(fullData[i], true);\n break;\n case true:\n otherState = isIsolated ? true : 'legendonly';\n isClicked = fullData[i] === fullTrace;\n // N.B. consider traces that have a set legendgroup as toggleable\n notInLegend = (fullData[i].showlegend !== true && !fullData[i].legendgroup);\n isInGroup = isClicked || (hasLegendgroup && fullData[i].legendgroup === legendgroup);\n setVisibility(fullData[i], (isInGroup || notInLegend) ? true : otherState);\n break;\n }\n }\n }\n\n for(i = 0; i < carrs.length; i++) {\n kcont = carrs[i];\n if(!kcont) continue;\n var update = kcont.constructUpdate();\n\n var updateKeys = Object.keys(update);\n for(j = 0; j < updateKeys.length; j++) {\n key = updateKeys[j];\n val = attrUpdate[key] = attrUpdate[key] || [];\n val[carrIdx[i]] = update[key];\n }\n }\n\n // The length of the value arrays should be equal and any unspecified\n // values should be explicitly undefined for them to get properly culled\n // as updates and not accidentally reset to the default value. This fills\n // out sparse arrays with the required number of undefined values:\n keys = Object.keys(attrUpdate);\n for(i = 0; i < keys.length; i++) {\n key = keys[i];\n for(j = 0; j < attrIndices.length; j++) {\n // Use hasOwnPropety to protect against falsey values:\n if(!attrUpdate[key].hasOwnProperty(j)) {\n attrUpdate[key][j] = undefined;\n }\n }\n }\n\n Registry.call('_guiRestyle', gd, attrUpdate, attrIndices);\n }\n};\n\n\n/***/ }),\n\n/***/ \"850f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt) {\n out.lon = pt.lon;\n out.lat = pt.lat;\n out.z = pt.z;\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"855b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Events = __webpack_require__(\"8741\");\nvar throttle = __webpack_require__(\"7df2\");\nvar getGraphDiv = __webpack_require__(\"1b88\").getGraphDiv;\n\nvar hoverConstants = __webpack_require__(\"7fb7\");\n\nvar unhover = module.exports = {};\n\nunhover.wrapped = function(gd, evt, subplot) {\n gd = getGraphDiv(gd);\n\n // Important, clear any queued hovers\n if(gd._fullLayout) {\n throttle.clear(gd._fullLayout._uid + hoverConstants.HOVERID);\n }\n\n unhover.raw(gd, evt, subplot);\n};\n\n\n// remove hover effects on mouse out, and emit unhover event\nunhover.raw = function raw(gd, evt) {\n var fullLayout = gd._fullLayout;\n var oldhoverdata = gd._hoverdata;\n\n if(!evt) evt = {};\n if(evt.target &&\n Events.triggerHandler(gd, 'plotly_beforehover', evt) === false) {\n return;\n }\n\n fullLayout._hoverlayer.selectAll('g').remove();\n fullLayout._hoverlayer.selectAll('line').remove();\n fullLayout._hoverlayer.selectAll('circle').remove();\n gd._hoverdata = undefined;\n\n if(evt.target && oldhoverdata) {\n gd.emit('plotly_unhover', {\n event: evt,\n points: oldhoverdata\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"8568\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar calcCommon = __webpack_require__(\"bb14\").calcCommon;\n\nmodule.exports = function(gd, trace) {\n var fullLayout = gd._fullLayout;\n var xa = Axes.getFromId(gd, trace.xaxis);\n var ya = Axes.getFromId(gd, trace.yaxis);\n\n var x = xa.makeCalcdata(trace, 'x');\n\n var cd = calcCommon(gd, trace, x, ya, ptFunc);\n\n if(cd.length) {\n Lib.extendFlat(cd[0].t, {\n num: fullLayout._numBoxes,\n dPos: Lib.distinctVals(x).minDiff / 2,\n posLetter: 'x',\n valLetter: 'y',\n });\n\n fullLayout._numBoxes++;\n return cd;\n } else {\n return [{t: {empty: true}}];\n }\n};\n\nfunction ptFunc(o, h, l, c) {\n return {\n min: l,\n q1: Math.min(o, c),\n med: c,\n q3: Math.max(o, c),\n max: h,\n };\n}\n\n\n/***/ }),\n\n/***/ \"8586\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = tokenize\r\n\r\nvar literals100 = __webpack_require__(\"1936\")\r\n , operators = __webpack_require__(\"6a25\")\r\n , builtins100 = __webpack_require__(\"5ecd\")\r\n , literals300es = __webpack_require__(\"f5f2\")\r\n , builtins300es = __webpack_require__(\"0648\")\r\n\r\nvar NORMAL = 999 // <-- never emitted\r\n , TOKEN = 9999 // <-- never emitted\r\n , BLOCK_COMMENT = 0\r\n , LINE_COMMENT = 1\r\n , PREPROCESSOR = 2\r\n , OPERATOR = 3\r\n , INTEGER = 4\r\n , FLOAT = 5\r\n , IDENT = 6\r\n , BUILTIN = 7\r\n , KEYWORD = 8\r\n , WHITESPACE = 9\r\n , EOF = 10\r\n , HEX = 11\r\n\r\nvar map = [\r\n 'block-comment'\r\n , 'line-comment'\r\n , 'preprocessor'\r\n , 'operator'\r\n , 'integer'\r\n , 'float'\r\n , 'ident'\r\n , 'builtin'\r\n , 'keyword'\r\n , 'whitespace'\r\n , 'eof'\r\n , 'integer'\r\n]\r\n\r\nfunction tokenize(opt) {\r\n var i = 0\r\n , total = 0\r\n , mode = NORMAL\r\n , c\r\n , last\r\n , content = []\r\n , tokens = []\r\n , token_idx = 0\r\n , token_offs = 0\r\n , line = 1\r\n , col = 0\r\n , start = 0\r\n , isnum = false\r\n , isoperator = false\r\n , input = ''\r\n , len\r\n\r\n opt = opt || {}\r\n var allBuiltins = builtins100\r\n var allLiterals = literals100\r\n if (opt.version === '300 es') {\r\n allBuiltins = builtins300es\r\n allLiterals = literals300es\r\n }\r\n\r\n // cache by name\r\n var builtinsDict = {}, literalsDict = {}\r\n for (var i = 0; i < allBuiltins.length; i++) {\r\n builtinsDict[allBuiltins[i]] = true\r\n }\r\n for (var i = 0; i < allLiterals.length; i++) {\r\n literalsDict[allLiterals[i]] = true\r\n }\r\n\r\n return function(data) {\r\n tokens = []\r\n if (data !== null) return write(data)\r\n return end()\r\n }\r\n\r\n function token(data) {\r\n if (data.length) {\r\n tokens.push({\r\n type: map[mode]\r\n , data: data\r\n , position: start\r\n , line: line\r\n , column: col\r\n })\r\n }\r\n }\r\n\r\n function write(chunk) {\r\n i = 0\r\n\r\n if (chunk.toString) chunk = chunk.toString()\r\n\r\n input += chunk.replace(/\\r\\n/g, '\\n')\r\n len = input.length\r\n\r\n\r\n var last\r\n\r\n while(c = input[i], i < len) {\r\n last = i\r\n\r\n switch(mode) {\r\n case BLOCK_COMMENT: i = block_comment(); break\r\n case LINE_COMMENT: i = line_comment(); break\r\n case PREPROCESSOR: i = preprocessor(); break\r\n case OPERATOR: i = operator(); break\r\n case INTEGER: i = integer(); break\r\n case HEX: i = hex(); break\r\n case FLOAT: i = decimal(); break\r\n case TOKEN: i = readtoken(); break\r\n case WHITESPACE: i = whitespace(); break\r\n case NORMAL: i = normal(); break\r\n }\r\n\r\n if(last !== i) {\r\n switch(input[last]) {\r\n case '\\n': col = 0; ++line; break\r\n default: ++col; break\r\n }\r\n }\r\n }\r\n\r\n total += i\r\n input = input.slice(i)\r\n return tokens\r\n }\r\n\r\n function end(chunk) {\r\n if(content.length) {\r\n token(content.join(''))\r\n }\r\n\r\n mode = EOF\r\n token('(eof)')\r\n return tokens\r\n }\r\n\r\n function normal() {\r\n content = content.length ? [] : content\r\n\r\n if(last === '/' && c === '*') {\r\n start = total + i - 1\r\n mode = BLOCK_COMMENT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(last === '/' && c === '/') {\r\n start = total + i - 1\r\n mode = LINE_COMMENT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(c === '#') {\r\n mode = PREPROCESSOR\r\n start = total + i\r\n return i\r\n }\r\n\r\n if(/\\s/.test(c)) {\r\n mode = WHITESPACE\r\n start = total + i\r\n return i\r\n }\r\n\r\n isnum = /\\d/.test(c)\r\n isoperator = /[^\\w_]/.test(c)\r\n\r\n start = total + i\r\n mode = isnum ? INTEGER : isoperator ? OPERATOR : TOKEN\r\n return i\r\n }\r\n\r\n function whitespace() {\r\n if(/[^\\s]/g.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function preprocessor() {\r\n if((c === '\\r' || c === '\\n') && last !== '\\\\') {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function line_comment() {\r\n return preprocessor()\r\n }\r\n\r\n function block_comment() {\r\n if(c === '/' && last === '*') {\r\n content.push(c)\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i + 1\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function operator() {\r\n if(last === '.' && /\\d/.test(c)) {\r\n mode = FLOAT\r\n return i\r\n }\r\n\r\n if(last === '/' && c === '*') {\r\n mode = BLOCK_COMMENT\r\n return i\r\n }\r\n\r\n if(last === '/' && c === '/') {\r\n mode = LINE_COMMENT\r\n return i\r\n }\r\n\r\n if(c === '.' && content.length) {\r\n while(determine_operator(content));\r\n\r\n mode = FLOAT\r\n return i\r\n }\r\n\r\n if(c === ';' || c === ')' || c === '(') {\r\n if(content.length) while(determine_operator(content));\r\n token(c)\r\n mode = NORMAL\r\n return i + 1\r\n }\r\n\r\n var is_composite_operator = content.length === 2 && c !== '='\r\n if(/[\\w_\\d\\s]/.test(c) || is_composite_operator) {\r\n while(determine_operator(content));\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function determine_operator(buf) {\r\n var j = 0\r\n , idx\r\n , res\r\n\r\n do {\r\n idx = operators.indexOf(buf.slice(0, buf.length + j).join(''))\r\n res = operators[idx]\r\n\r\n if(idx === -1) {\r\n if(j-- + buf.length > 0) continue\r\n res = buf.slice(0, 1).join('')\r\n }\r\n\r\n token(res)\r\n\r\n start += res.length\r\n content = content.slice(res.length)\r\n return content.length\r\n } while(1)\r\n }\r\n\r\n function hex() {\r\n if(/[^a-fA-F0-9]/.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function integer() {\r\n if(c === '.') {\r\n content.push(c)\r\n mode = FLOAT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(/[eE]/.test(c)) {\r\n content.push(c)\r\n mode = FLOAT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(c === 'x' && content.length === 1 && content[0] === '0') {\r\n mode = HEX\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(/[^\\d]/.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function decimal() {\r\n if(c === 'f') {\r\n content.push(c)\r\n last = c\r\n i += 1\r\n }\r\n\r\n if(/[eE]/.test(c)) {\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if ((c === '-' || c === '+') && /[eE]/.test(last)) {\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(/[^\\d]/.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function readtoken() {\r\n if(/[^\\d\\w_]/.test(c)) {\r\n var contentstr = content.join('')\r\n if(literalsDict[contentstr]) {\r\n mode = KEYWORD\r\n } else if(builtinsDict[contentstr]) {\r\n mode = BUILTIN\r\n } else {\r\n mode = IDENT\r\n }\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n}\r\n\n\n/***/ }),\n\n/***/ \"860b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mapboxgl = __webpack_require__(\"e192\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar getSubplotCalcData = __webpack_require__(\"ad62\").getSubplotCalcData;\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar d3 = __webpack_require__(\"6e58\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar svgTextUtils = __webpack_require__(\"0379\");\n\nvar Mapbox = __webpack_require__(\"3fca\");\n\nvar MAPBOX = 'mapbox';\n\nvar constants = exports.constants = __webpack_require__(\"b5e4\");\n\nexports.name = MAPBOX;\n\nexports.attr = 'subplot';\n\nexports.idRoot = MAPBOX;\n\nexports.idRegex = exports.attrRegex = Lib.counterRegex(MAPBOX);\n\nexports.attributes = {\n subplot: {\n valType: 'subplotid',\n \n dflt: 'mapbox',\n editType: 'calc',\n \n }\n};\n\nexports.layoutAttributes = __webpack_require__(\"f7e9\");\n\nexports.supplyLayoutDefaults = __webpack_require__(\"f518\");\n\nexports.plot = function plot(gd) {\n var fullLayout = gd._fullLayout;\n var calcData = gd.calcdata;\n var mapboxIds = fullLayout._subplots[MAPBOX];\n\n if(mapboxgl.version !== constants.requiredVersion) {\n throw new Error(constants.wrongVersionErrorMsg);\n }\n\n var accessToken = findAccessToken(gd, mapboxIds);\n mapboxgl.accessToken = accessToken;\n\n for(var i = 0; i < mapboxIds.length; i++) {\n var id = mapboxIds[i];\n var subplotCalcData = getSubplotCalcData(calcData, MAPBOX, id);\n var opts = fullLayout[id];\n var mapbox = opts._subplot;\n\n if(!mapbox) {\n mapbox = new Mapbox(gd, id);\n fullLayout[id]._subplot = mapbox;\n }\n\n if(!mapbox.viewInitial) {\n mapbox.viewInitial = {\n center: Lib.extendFlat({}, opts.center),\n zoom: opts.zoom,\n bearing: opts.bearing,\n pitch: opts.pitch\n };\n }\n\n mapbox.plot(subplotCalcData, fullLayout, gd._promises);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var oldMapboxKeys = oldFullLayout._subplots[MAPBOX] || [];\n\n for(var i = 0; i < oldMapboxKeys.length; i++) {\n var oldMapboxKey = oldMapboxKeys[i];\n\n if(!newFullLayout[oldMapboxKey] && !!oldFullLayout[oldMapboxKey]._subplot) {\n oldFullLayout[oldMapboxKey]._subplot.destroy();\n }\n }\n};\n\nexports.toSVG = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[MAPBOX];\n var size = fullLayout._size;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var opts = fullLayout[subplotIds[i]];\n var domain = opts.domain;\n var mapbox = opts._subplot;\n\n var imageData = mapbox.toImage('png');\n var image = fullLayout._glimages.append('svg:image');\n\n image.attr({\n xmlns: xmlnsNamespaces.svg,\n 'xlink:href': imageData,\n x: size.l + size.w * domain.x[0],\n y: size.t + size.h * (1 - domain.y[1]),\n width: size.w * (domain.x[1] - domain.x[0]),\n height: size.h * (domain.y[1] - domain.y[0]),\n preserveAspectRatio: 'none'\n });\n\n var subplotDiv = d3.select(opts._subplot.div);\n\n // Append logo if visible\n var hidden = subplotDiv.select('.mapboxgl-ctrl-logo').node().offsetParent === null;\n if(!hidden) {\n var logo = fullLayout._glimages.append('g');\n logo.attr('transform', 'translate(' + (size.l + size.w * domain.x[0] + 10) + ', ' + (size.t + size.h * (1 - domain.y[0]) - 31) + ')');\n logo.append('path')\n .attr('d', constants.mapboxLogo.path0)\n .style({\n opacity: 0.9,\n fill: '#ffffff',\n 'enable-background': 'new'\n });\n\n logo.append('path')\n .attr('d', constants.mapboxLogo.path1)\n .style('opacity', 0.35)\n .style('enable-background', 'new');\n\n logo.append('path')\n .attr('d', constants.mapboxLogo.path2)\n .style('opacity', 0.35)\n .style('enable-background', 'new');\n\n logo.append('polygon')\n .attr('points', constants.mapboxLogo.polygon)\n .style({\n opacity: 0.9,\n fill: '#ffffff',\n 'enable-background': 'new'\n });\n }\n\n // Add attributions\n var attributions = subplotDiv\n .select('.mapboxgl-ctrl-attrib').text()\n .replace('Improve this map', '');\n\n var attributionGroup = fullLayout._glimages.append('g');\n\n var attributionText = attributionGroup.append('text');\n attributionText\n .text(attributions)\n .classed('static-attribution', true)\n .attr({\n 'font-size': 12,\n 'font-family': 'Arial',\n 'color': 'rgba(0, 0, 0, 0.75)',\n 'text-anchor': 'end',\n 'data-unformatted': attributions\n });\n\n var bBox = Drawing.bBox(attributionText.node());\n\n // Break into multiple lines twice larger than domain\n var maxWidth = size.w * (domain.x[1] - domain.x[0]);\n if((bBox.width > maxWidth / 2)) {\n var multilineAttributions = attributions.split('|').join('
');\n attributionText\n .text(multilineAttributions)\n .attr('data-unformatted', multilineAttributions)\n .call(svgTextUtils.convertToTspans, gd);\n\n bBox = Drawing.bBox(attributionText.node());\n }\n attributionText.attr('transform', 'translate(-3, ' + (-bBox.height + 8) + ')');\n\n // Draw white rectangle behind text\n attributionGroup\n .insert('rect', '.static-attribution')\n .attr({\n x: -bBox.width - 6,\n y: -bBox.height - 3,\n width: bBox.width + 6,\n height: bBox.height + 3,\n fill: 'rgba(255, 255, 255, 0.75)'\n });\n\n // Scale down if larger than domain\n var scaleRatio = 1;\n if((bBox.width + 6) > maxWidth) scaleRatio = maxWidth / (bBox.width + 6);\n\n var offset = [(size.l + size.w * domain.x[1]), (size.t + size.h * (1 - domain.y[0]))];\n attributionGroup.attr('transform', 'translate(' + offset[0] + ',' + offset[1] + ') scale(' + scaleRatio + ')');\n }\n};\n\n// N.B. mapbox-gl only allows one accessToken to be set per page:\n// https://github.com/mapbox/mapbox-gl-js/issues/6331\nfunction findAccessToken(gd, mapboxIds) {\n var fullLayout = gd._fullLayout;\n var context = gd._context;\n\n // special case for Mapbox Atlas users\n if(context.mapboxAccessToken === '') return '';\n\n var tokensUseful = [];\n var tokensListed = [];\n var hasOneSetMapboxStyle = false;\n var wontWork = false;\n\n // Take the first token we find in a mapbox subplot.\n // These default to the context value but may be overridden.\n for(var i = 0; i < mapboxIds.length; i++) {\n var opts = fullLayout[mapboxIds[i]];\n var token = opts.accesstoken;\n\n if(isMapboxStyle(opts.style)) {\n if(token) {\n Lib.pushUnique(tokensUseful, token);\n } else {\n if(isMapboxStyle(opts._input.style)) {\n Lib.error('Uses Mapbox map style, but did not set an access token.');\n hasOneSetMapboxStyle = true;\n }\n wontWork = true;\n }\n }\n\n if(token) {\n Lib.pushUnique(tokensListed, token);\n }\n }\n\n if(wontWork) {\n var msg = hasOneSetMapboxStyle ?\n constants.noAccessTokenErrorMsg :\n constants.missingStyleErrorMsg;\n Lib.error(msg);\n throw new Error(msg);\n }\n\n if(tokensUseful.length) {\n if(tokensUseful.length > 1) {\n Lib.warn(constants.multipleTokensErrorMsg);\n }\n return tokensUseful[0];\n } else {\n if(tokensListed.length) {\n Lib.log([\n 'Listed mapbox access token(s)', tokensListed.join(','),\n 'but did not use a Mapbox map style, ignoring token(s).'\n ].join(' '));\n }\n return '';\n }\n}\n\nfunction isMapboxStyle(s) {\n return typeof s === 'string' && (\n constants.styleValuesMapbox.indexOf(s) !== -1 ||\n s.indexOf('mapbox://') === 0\n );\n}\n\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[MAPBOX];\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotObj = fullLayout[subplotIds[i]]._subplot;\n subplotObj.updateFx(fullLayout);\n }\n};\n\n\n/***/ }),\n\n/***/ \"861d\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"865d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar getModuleCalcData = __webpack_require__(\"ad62\").getModuleCalcData;\nvar plot = __webpack_require__(\"c9ce\");\nvar fxAttrs = __webpack_require__(\"927d\");\n\nvar setCursor = __webpack_require__(\"0f37\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar SANKEY = 'sankey';\n\nexports.name = SANKEY;\n\nexports.baseLayoutAttrOverrides = overrideAll({\n hoverlabel: fxAttrs.hoverlabel\n}, 'plot', 'nested');\n\nexports.plot = function(gd) {\n var calcData = getModuleCalcData(gd.calcdata, SANKEY)[0];\n plot(gd, calcData);\n exports.updateFx(gd);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var hadPlot = (oldFullLayout._has && oldFullLayout._has(SANKEY));\n var hasPlot = (newFullLayout._has && newFullLayout._has(SANKEY));\n\n if(hadPlot && !hasPlot) {\n oldFullLayout._paperdiv.selectAll('.sankey').remove();\n oldFullLayout._paperdiv.selectAll('.bgsankey').remove();\n }\n};\n\nexports.updateFx = function(gd) {\n for(var i = 0; i < gd._fullData.length; i++) {\n subplotUpdateFx(gd, i);\n }\n};\n\nfunction subplotUpdateFx(gd, index) {\n var trace = gd._fullData[index];\n var fullLayout = gd._fullLayout;\n\n var dragMode = fullLayout.dragmode;\n var cursor = fullLayout.dragmode === 'pan' ? 'move' : 'crosshair';\n var bgRect = trace._bgRect;\n\n if(dragMode === 'pan' || dragMode === 'zoom') return;\n\n setCursor(bgRect, cursor);\n\n var xaxis = {\n _id: 'x',\n c2p: Lib.identity,\n _offset: trace._sankey.translateX,\n _length: trace._sankey.width\n };\n var yaxis = {\n _id: 'y',\n c2p: Lib.identity,\n _offset: trace._sankey.translateY,\n _length: trace._sankey.height\n };\n\n // Note: dragOptions is needed to be declared for all dragmodes because\n // it's the object that holds persistent selection state.\n var dragOptions = {\n gd: gd,\n element: bgRect.node(),\n plotinfo: {\n id: index,\n xaxis: xaxis,\n yaxis: yaxis,\n fillRangeItems: Lib.noop\n },\n subplot: index,\n // create mock x/y axes for hover routine\n xaxes: [xaxis],\n yaxes: [yaxis],\n doneFnCompleted: function(selection) {\n var traceNow = gd._fullData[index];\n var newGroups;\n var oldGroups = traceNow.node.groups.slice();\n var newGroup = [];\n\n function findNode(pt) {\n var nodes = traceNow._sankey.graph.nodes;\n for(var i = 0; i < nodes.length; i++) {\n if(nodes[i].pointNumber === pt) return nodes[i];\n }\n }\n\n for(var j = 0; j < selection.length; j++) {\n var node = findNode(selection[j].pointNumber);\n if(!node) continue;\n\n // If the node represents a group\n if(node.group) {\n // Add all its children to the current selection\n for(var k = 0; k < node.childrenNodes.length; k++) {\n newGroup.push(node.childrenNodes[k].pointNumber);\n }\n // Flag group for removal from existing list of groups\n oldGroups[node.pointNumber - traceNow.node._count] = false;\n } else {\n newGroup.push(node.pointNumber);\n }\n }\n\n newGroups = oldGroups\n .filter(Boolean)\n .concat([newGroup]);\n\n Registry.call('_guiRestyle', gd, {\n 'node.groups': [ newGroups ]\n }, index);\n }\n };\n\n dragOptions.prepFn = function(e, startX, startY) {\n prepSelect(e, startX, startY, dragOptions, dragMode);\n };\n\n dragElement.init(dragOptions);\n}\n\n\n/***/ }),\n\n/***/ \"8662\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = circumradius\n\nvar circumcenter = __webpack_require__(\"fe94\")\n\nfunction circumradius(points) {\n var center = circumcenter(points)\n var avgDist = 0.0\n for(var i=0; i