{"version":3,"sources":["../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/prop-types/index.js","../node_modules/classnames/index.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/Row.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormFileInput.js","../node_modules/react-bootstrap/esm/FormFileLabel.js","../node_modules/react-bootstrap/esm/FormFile.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/Card.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/chart.js/dist/chunks/helpers.segment.js","../node_modules/chart.js/dist/chart.esm.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/react-bootstrap/esm/Container.js","../node_modules/react-bootstrap/esm/SelectableContext.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/dom-helpers/esm/isWindow.js","../node_modules/dom-helpers/esm/isDocument.js","../node_modules/react-overlays/esm/isOverflowing.js","../node_modules/react-overlays/esm/manageAriaHidden.js","../node_modules/react-overlays/esm/ModalManager.js","../node_modules/react-overlays/esm/Modal.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-dom/index.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/react-bootstrap/esm/TabContent.js","../node_modules/react-bootstrap/esm/TabPane.js","../node_modules/react-bootstrap/esm/Tab.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/@fortawesome/free-solid-svg-icons/index.es.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/@fortawesome/fontawesome-svg-core/index.es.js","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/react-bootstrap/esm/Alert.js","../node_modules/warning/warning.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/TabContext.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/react-bootstrap/esm/SafeAnchor.js","../node_modules/react-device-detect/main.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/Table.js","../node_modules/webpack/buildin/global.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/react-overlays/esm/useWaitForDOMRef.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/react-bootstrap/esm/CardContext.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/react-overlays/esm/safeFindDOMNode.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/react-overlays/esm/popper.js","../node_modules/react-overlays/esm/usePopper.js","../node_modules/react-overlays/esm/useRootClose.js","../node_modules/react-overlays/esm/ownerDocument.js","../node_modules/react-overlays/esm/mergeOptionsWithPopperConfig.js","../node_modules/react-overlays/esm/Overlay.js","../node_modules/react-bootstrap/esm/usePopperMarginModifiers.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/invariant/browser.js","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/react-bootstrap/esm/Navbar.js","../node_modules/object-assign/index.js","../node_modules/jszip/dist/jszip.min.js","../../src/FileSaver.js","../node_modules/react-bootstrap/esm/Spinner.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types-extra/lib/isRequiredForA11y.js","../node_modules/ua-parser-js/dist/ua-parser.min.js","../node_modules/webpack/buildin/amd-options.js","../node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/timers-browserify/main.js","../node_modules/setimmediate/setImmediate.js","../node_modules/process/browser.js","../node_modules/react-bootstrap/esm/NavContext.js","../node_modules/react-bootstrap/esm/AbstractNav.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/AbstractNavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js"],"names":["module","exports","require","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","hasOwn","classNames","classes","arg","argType","push","Array","isArray","inner","toString","join","default","ThemeContext","React","createContext","Consumer","Provider","useBootstrapPrefix","prefix","defaultPrefix","prefixes","useContext","_excluded","DEVICE_SIZES","Col","forwardRef","_ref","ref","bsPrefix","className","_ref$as","as","Component","props","spans","forEach","brkPoint","span","offset","order","propValue","_propValue$span","infix","createElement","concat","displayName","Row","noGutters","decoratedBsPrefix","sizePrefix","cols","defaultProps","propTypes","type","PropTypes","string","tooltip","bool","elementType","Feedback","_ref$type","_ref$tooltip","FormContext","controlId","undefined","FormCheckInput","id","bsCustomPrefix","_ref$isValid","isValid","_ref$isInvalid","isInvalid","isStatic","_useContext","_ref2","custom","FormCheckLabel","htmlFor","FormCheck","_ref$inline","inline","_ref$disabled","disabled","_ref$feedbackTooltip","feedbackTooltip","feedback","style","_ref$title","title","label","children","propCustom","innerFormContext","useMemo","hasLabel","input","value","Fragment","Input","Label","FormFileInput","lang","FormFileLabel","FormFile","dataBrowse","_ref$inputAs","inputAs","FormControl","_classes","size","htmlSize","plaintext","readOnly","_classes2","_classes3","_classes4","_classes5","FormGroup","context","FormLabel","column","srOnly","columnClass","FormText","muted","Switch","FormRow","createWithBsPrefix","FormImpl","validated","Group","Control","Check","File","Text","CardImg","variant","DivStyledAsH5","divWithClassName","DivStyledAsH6","CardBody","CardTitle","CardSubtitle","CardLink","CardText","CardHeader","CardFooter","CardImgOverlay","Card","bg","text","border","body","cardContext","cardHeaderBsPrefix","CardContext","Img","Title","Subtitle","Body","Link","Header","Footer","ImgOverlay","rHyphen","pascalCase","str","toUpperCase","replace","_","chr","slice","_temp","_ref$displayName","BsComponent","_ref2$as","Tag","resolvedPrefix","requestAnimFrame","window","callback","requestAnimationFrame","throttled","fn","thisArg","updateFn","updateArgs","args","ticking","_len","rest","_key","_toLeftRightCenter","align","_alignStartEnd","start","end","noop","uid","isNullOrUndef","substr","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toDimension","dimension","endsWith","parseFloat","each","loopable","reverse","len","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","map","create","klen","k","isValidKey","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","indexOfDotOrLength","idx","resolveObjectKey","obj","pos","_capitalize","charAt","defined","isFunction","setsEqual","a","b","item","has","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","isNumber","n","isNaN","x","y","epsilon","abs","_setMinAndMaxByKey","array","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","e","p","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","s","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","atEdge","t","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","c","f","hex","h1","h2","eq","hexString","v","r","g","isShort","lim","l","h","p2b","n2b","b2n","n2p","RGB_RE","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","calln","hsl2rgb","hue","hueParse","exec","p1","p2","hwb2rgb","hsv2rgb","map$1","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names$1","nameParse","unpacked","tkeys","j","ok","nk","parseInt","unpack","transparent","toLowerCase","modHSL","ratio","tmp","clone","proto","fromObject","functionParse","rgbParse","Color","constructor","ret","hexParse","_rgb","_valid","rgbString","hslString","mix","color","weight","me","c1","c2","w2","w1","alpha","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg","index_esm","isPatternOrGradient","CanvasGradient","CanvasPattern","getHoverColor","overrides","descriptors","getScope$1","node","split","set","root","scope","values","defaults","_descriptors","animation","backgroundColor","borderColor","datasets","devicePixelRatio","chart","platform","getDevicePixelRatio","elements","events","font","family","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","maintainAspectRatio","onHover","onClick","parsing","plugins","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","get","override","route","name","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","enumerable","local","_scriptable","startsWith","_indexable","_fallback","_measureText","data","gc","longest","textWidth","measureText","width","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","splice","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","height","drawPoint","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","arc","closePath","moveTo","lineTo","SQRT1_2","rect","fill","borderWidth","stroke","_isPointInArea","point","area","margin","left","right","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","opts","lines","strokeWidth","strokeColor","line","setRenderOpts","strokeStyle","lineWidth","strokeText","maxWidth","fillText","decorateText","translation","fillStyle","textAlign","textBaseline","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","RegExp","FONT_STYLE","toLineHeight","matches","match","_readValueToProps","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","parentContext","_lookup","table","cmp","mid","hi","lo","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","_arrayUnique","items","Set","add","from","_createResolver","scopes","rootScopes","getTarget","_resolve","Symbol","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","proxy","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","isScriptable","Error","delete","needsSubResolver","createSubResolver","_resolveScriptable","isIndexable","arr","filter","resolver","_resolveArray","_resolveWithContext","allKeys","configurable","scriptable","indexable","_allKeys","readKey","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","EPSILON","getPoint","points","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","next","d01","d12","s01","s12","fa","fb","monotoneAdjust","deltaK","mK","pointsLen","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointAfter","monotoneCompute","valueAxis","delta","pointBefore","iPixel","vPixel","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","slopeDelta","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","document","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","result","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","box","native","touches","offsetX","offsetY","useOffsetPos","shadowRoot","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","maxHeight","containerSize","container","containerStyle","containerBorder","containerPadding","clientWidth","clientHeight","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","count","_boundSegment","segment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","shouldStart","shouldStop","_boundSegments","segments","sub","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","styleChanged","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","date","callbacks","numSteps","duration","initial","currentStep","_refresh","_update","Date","now","remaining","running","draw","_active","_total","tick","pop","_getAnims","charts","complete","progress","listen","event","cb","reduce","acc","cur","_duration","stop","cancel","remove","interpolators","boolean","to","factor","c0","valid","number","Animation","cfg","currentValue","_fn","_easing","easing","_start","delay","_loop","_target","_prop","_from","_to","_promises","active","update","elapsed","remain","wait","promises","Promise","res","rej","resolved","method","animationOptions","colors","properties","numbers","resize","show","animations","visible","hide","Animations","config","_properties","configure","animatedProps","getOwnPropertyNames","option","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","all","awaitAll","then","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","stack","dsIndex","singleMode","otherValue","isStacked","meta","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","parsed","_cachedMeta","_stacks","iScale","iAxis","axis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","shift","clearStacks","_parsed","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_parsing","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","xScale","getScaleForId","yScale","rScale","getDatasetMeta","scaleID","_getOtherScale","reset","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","defineProperty","base","_len3","_key3","object","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","parse","sorted","_sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","labels","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","createStack","hidden","NEGATIVE_INFINITY","otherMin","otherMax","minDefined","maxDefined","getUserBounds","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","transition","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","updateElement","updateSharedOptions","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","sort","getAllScaleValues","curr","_length","updateMinAndPrev","getPixelForValue","ticks","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","BarController","iAxisKey","vAxisKey","super","bars","getBasePixel","isHorizontal","ruler","_getRuler","firstOpts","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","last","grouped","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","halfGrid","getLineWidthForValue","skipNull","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","grid","_value_","beginAtZero","BubbleController","getPixelForDecimal","DoughnutController","innerRadius","outerRadius","getter","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","toPercentage","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","LineController","_dataset","animationsDisabled","pointCount","getStartAndCountOfVisiblePoints","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","scaleRangesChanged","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","lastPoint","updateControlPoints","PolarAreaController","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","display","circular","pointLabels","PieController","RadarController","_fullLoop","pointPosition","getPointPositionForValue","ScatterController","abstract","DateAdapter","formats","timestamp","amount","unit","diff","startOf","weekday","endOf","members","adapters","_date","getRelativePosition$1","binarySearch","metaset","lookupMethod","_reversePixels","getRange","optimizedEvaluateItems","position","handler","getSortedVisibleDatasetMetas","getIntersectItems","useFinalPosition","_minPadding","inRange","getNearestCartesianItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","getProps","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","evaluateAllVisibleItems","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","params","wrap","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","layout","fullSize","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","getPadding","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","padding","autoPadding","addBox","_layers","z","removeBox","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","updatePos","change","handleMaxPadding","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","passive","removeListener","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","entries","trigger","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","fromNativeEvent","addListener","DomPlatform","renderHeight","getAttribute","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","attach","detach","isConnected","Element","tooltipPosition","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","major","enabled","getMajorIndices","numMajorIndices","first","newTicks","ceil","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","grace","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","Scale","_margins","paddingTop","paddingBottom","paddingLeft","paddingRight","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","init","suggestedMin","suggestedMax","metas","getTicks","xLabels","yLabels","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","beforeFit","fit","afterFit","afterUpdate","startPixel","endPixel","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","step","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","labelPadding","_computeLabelArea","drawBackground","fillRect","findIndex","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","tz","gz","axisID","_maxDigits","fontSize","TypedRegistry","isForType","isPrototypeOf","register","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","parts","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","_len2","_key2","addControllers","_len4","_key4","addPlugins","_len5","_key5","addScales","_len6","_key6","getController","_get","getElement","getPlugin","getScale","removeControllers","_len7","_key7","removeElements","_len8","_key8","removePlugins","_len9","_key9","removeScales","_len10","_key10","typedRegistry","reg","_getRegistryForType","_exec","itemReg","component","camelMethod","PluginService","_init","notify","hook","_createDescriptors","descriptor","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","error","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","Chart","userConfig","initialCanvas","existingChart","OffscreenCanvas","_detectPlatform","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","timeout","clearTimeout","setTimeout","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","render","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","destroy","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","o","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","lineJoin","fullCircles","drawFullCircleBorders","version","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","path","_path","strokePathWithCache","segmentMethod","strokePathDirect","LineElement","_points","_segments","_pointsUpdated","findStartAndEnd","solidSegments","_computeSegments","interpolate","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","PointElement","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","skipX","skipY","addNormalRectPath","inflateRect","refRect","BarElement","addRectPath","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","itemsEqual","plugin_legend","_element","_args","afterEvent","ci","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","String","createTooltipItem","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","before","after","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","Tooltip","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","hasTooltipContent","globalAlpha","_ref4","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","findOrAddLabel","addedLabels","addIfString","unshift","lastIndexOf","CategoryScale","_startValue","_valueRange","_addedLabels","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","relativeLabelSize","_ref5","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","stepSize","computeTickLimit","LinearScale","isMajor","tickVal","LogarithmicScale","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","useCommittedRef","useRef","useEffect","useEventCallback","useCallback","Container","fluid","SelectableContext","makeEventKey","eventKey","href","psuedoElement","doc","ownerDocument","defaultView","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","css","transforms","test","isTransform","removeProperty","cssText","scrollbarSize","recalc","canUseDOM","scrollDiv","overflow","appendChild","offsetWidth","removeChild","activeElement","nodeName","addClass","classList","hasClass","baseVal","replaceClassName","origClass","classToRemove","removeClass","isWindow","nodeType","DOCUMENT_NODE","isOverflowing","tagName","win","innerWidth","bodyIsOverflowing","scrollHeight","BLACKLIST","siblings","exclude","isHidable","ariaHidden","manager","ModalManager","_ref$hideSiblingNodes","hideSiblingNodes","_ref$handleContainerO","handleContainerOverflow","modals","containers","getScrollbarSize","_proto","isContainerOverflowing","modal","containerIndexFromModal","overflowing","findIndexOf","setContainerStyle","containerState","removeContainerStyle","modalIdx","containerIdx","dialog","hideSiblings","bind","_ref3","showSiblings","_data$modals","isTopModal","useModalManager","provided","modalManager","setDialogRef","setBackdropRef","Modal","_ref$show","_ref$role","role","_ref$backdrop","_ref$keyboard","keyboard","onBackdropClick","onEscapeKeyDown","backdropTransition","_ref$autoFocus","autoFocus","_ref$enforceFocus","enforceFocus","_ref$restoreFocus","restoreFocus","restoreFocusOptions","renderDialog","_ref$renderBackdrop","renderBackdrop","providedManager","containerRef","containerClassName","onShow","_ref$onHide","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered","useWaitForDOMRef","isMounted","useMounted","prevShow","usePrevious","_useState","useState","exited","setExited","lastFocusRef","useImperativeHandle","handleShow","removeKeydownListenerRef","handleDocumentKeyDown","removeFocusListenerRef","handleEnforceFocus","currentActiveElement","focus","handleHide","_lastFocusRef$current","useWillUnmount","handleBackdropClick","currentTarget","keyCode","defaultPrevented","Transition","dialogProps","tabIndex","cloneElement","appear","unmountOnExit","backdropElement","BackdropTransition","ReactDOM","createPortal","any","func","oneOfType","oneOf","shape","preventScroll","instanceOf","Manager","Selector","BootstrapModalManager","_ModalManager","_inheritsLoose","adjustAndStore","adjust","_css","actual","_css2","_this","qsa","_this2","ModalContext","ModalDialog","contentClassName","centered","scrollable","dialogClass","ModalHeader","closeLabel","closeButton","handleClick","CloseButton","DivStyledAsH4","dialogAs","DialogTransition","Fade","dialogClassName","Dialog","ariaLabelledby","backdropClassName","propsManager","modalStyle","_useState2","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","_useCallbackRef","useCallbackRef","setModalRef","modalContext","getModalManager","updateDialogStyle","containerIsOverflowing","modalIsOverflowing","documentElement","handleWindowResize","handleDialogMouseDown","handleMouseUp","handleStaticModalAnimation","transitionEnd","handleStaticBackdropClick","backdropProps","baseModalStyle","BaseModal","preventDefault","isAppearing","onMouseUp","onMouseDown","ModalBody","ModalTitle","ModalFooter","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","process","err","Button","block","SafeAnchor","_fadeStyles","fadeStyles","ENTERING","ENTERED","handleEnter","triggerBrowserReflow","addEndListener","transitionEndListener","status","innerProps","in","mountOnEnter","eventName","defaultKey","_toPropertyKey","hint","prim","toPrimitive","TypeError","_toPrimitive","useUncontrolledProp","wasPropRef","stateValue","setState","isProp","wasProp","useUncontrolled","fieldName","_extends2","Utils","propsValue","handlerName","_useUncontrolledProp","componentWillMount","state","getDerivedStateFromProps","componentWillReceiveProps","nextProps","prevState","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","__suppressDeprecationWarning","_setPrototypeOf","setPrototypeOf","__proto__","subClass","superClass","EXITED","EXITING","_React$Component","initialStatus","isMounting","enter","appearStatus","nextCallback","componentDidMount","updateStatus","componentDidUpdate","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","appearing","nodeRef","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","setNextCallback","_this4","doesNotHaveTimeoutOrListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","Children","only","contextType","UNMOUNTED","toArray","Function","selector","querySelectorAll","TabContainer","_useUncontrolled","activeKey","generateCustomChildId","generateChildId","onSelect","tabContext","getControlledId","getControllerId","TabContext","TabContent","_excluded2","TabPane","_useTabContext","shouldTransition","useTabContext","_useTabContext$as","pane","Tab","Content","Pane","faInfoCircle","iconName","icon","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","_typeof","iterator","_defineProperties","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","done","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","minLen","arr2","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","performance","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","RESERVED_CLASSES","FontAwesomeConfig","querySelector","attr","coerce","getAttrConfig","familyPrefix","styleDefault","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_onChangeCb","meaninglessTransform","flipX","flipY","nextUniqueId","random","classArray","htmlEscape","joinStyles","styleName","trim","transformIsMeaningful","transform","drc","fp","rc","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","innerHTML","headChildren","childNodes","beforeChild","child","insertBefore","insertCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","shims","namespace","functions","loaded","domready","toHtml","abstractNodes","tag","_abstractNodes$attrib","attributes","_abstractNodes$childr","attributeName","joinAttributes","iconFromMapping","mapping","doScroll","readyState","subject","initialValue","thisContext","bindInternal4","toHex","unicode","decoded","output","counter","charCodeAt","ucs2decode","normalizeIcons","icons","defineIcons","_params$skipHooks","skipHooks","addPack","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","cls","build","lookup","reducer","alias","aliases","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","unicodes","getCanonicalPrefix","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","styleOrPrefix","getCanonicalIcon","_params$skipLookups","skipLookups","givenPrefix","canonical","aliasIconName","Library","instance","Constructor","_classCallCheck","definitions","protoProps","staticProps","additions","_pullDefinitions","longPrefix","definition","_normalized$key","_hooks","providers","defaultProviderKeys","chainHooks","accumulator","hookFns","hookFn","callHooks","callProvided","findIconDefinition","iconLookup","library","i2svg","reject","watch","autoReplaceSvgRoot","autoReplace","api","noAuto","_icon","canonicalIcon","_prefix","_params$autoReplaceSv","domVariants","abstractCreator","html","makeInlineSvgAbstract","_params$icons","main","mask","symbol","maskId","titleId","_params$watchable","watchable","found","isUploadedIcon","attrClass","content","uploadedIconWidthStyle","asSymbol","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styleString","class","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","findIcon","maybeNotifyMissing","noop$1","perf","noop$2","isWatched","createElementNS","mutators","mutation","convertSVG","abstractObj","_params$ceFn","ceFn","createTextNode","comment","createComment","outerHTML","nodeAsComment","replaceChild","nest","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","frame","mutator","disableObservation","enableObservation","mo","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","hasPrefixAndIcon","_getCanonicalIcon","characterData","styleParser","classParser","ligature","existingPrefix","existingIconName","innerText","attributesParser","extraAttributes","parseMeta","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","onTree","htmlClassList","hclAdd","hclRemove","prefixesDomQuery","candidates","resolvedMutations","catch","onNode","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","LayersText","generateLayersText","computedFontSize","boundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","fontWeight","_content","_hexValueFromContent","cleaned","codePoint","codePointAt","isPrependTen","isDoubled","isSecondary","hexValueFromContent","hexValue","isV4","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","firstChild","processable","operations","_unwatched","parseTransformString","transformString","ALL_SPACE","fillBlack","force","nextPlugins","mixoutsTo","tk","sk","registerPlugins","pseudoElements2svg","unwatch","bootstrap","parseNodeAttributes","generateAbstractTransformGrouping","innerTranslate","innerScale","innerRotate","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","reduceMotion","matchMedia","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","symbolData","parse$1","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","camelize","_excluded$1","styleToObject","pair","normalizeIconArgs","objectWithKey","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","beat","fade","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","listItem","pull","swapOpacity","renderedIcon","_console","log","extraProps","convertCurry","convert","mixins","attrs","_extraProps$style","existingStyle","createChainedFunction","funcs","InputGroupAppend","InputGroupPrepend","InputGroupText","InputGroup","hasValidation","Radio","Checkbox","Append","Prepend","AlertHeading","AlertLink","Alert","uncontrolledProps","onClose","dismissible","handleClose","alert","Heading","warning","compareDocumentPosition","mounted","isTrivialHref","onKeyDown","stopPropagation","ex","React__default","UA","browser","getBrowser","device","getCPU","getDevice","engine","getEngine","os","getOS","ua","getUA","setDefaults","getNavigatorInstance","isIOS13Check","nav","maxTouchPoints","MSStream","_getPrototypeOf","_assertThisInitialized","self","ReferenceError","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","initialData","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","mobilePayload","vendor","model","osVersion","checkType","isEdgeChromiumType","isBrowserType","isEdgeType","getIPad13","isMobileSafari","isChromium","isMobileAndTabletType","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","getIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isElectronType","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","AndroidView","renderWithFragment","viewClassName","BrowserView","ConsoleView","_ref10","CustomView","_ref12","condition","IEView","IOSView","MobileOnlyView","_ref8","MobileView","SmartTVView","_ref9","TabletView","_ref6","WearableView","_ref11","WinPhoneView","_ref7","deviceDetect","browserMajorVersion","browserFullVersion","broPayload","stvPayload","consolePayload","wearPayload","withOrientationChange","WrappedComponent","_class","_possibleConstructorReturn","isEventListenerAdded","handleOrientationChange","onOrientationChange","onPageLoad","isLandscape","isPortrait","_inherits","orientation","innerHeight","onUnmount","valueRef","useUpdatedRef","Table","striped","bordered","borderless","responsiveClass","capture","__once","resolveContainerRef","onResolved","resolvedRef","setRef","earlyRef","nextRef","validators","allPropTypes","validator","_createChainableTypeChecker2","_createChainableTypeChecker","__esModule","offsetHeight","parseDuration","mult","optionsSupported","onceSupported","once","wrappedHandler","onceHandler","toFnRef","useMergedRefs","refA","refB","mergeRefs","placement","arrowProps","popper","primaryPlacement","isRequired","MAX_DELAY_MS","useTimeout","handleRef","delayMs","setChainedTimeout","timeoutAtMs","safeFindDOMNode","componentOrElement","basePlacements","variationPlacements","placements","modifierPhases","useSafeState","getBasePlacement","getWindow","isElement","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","includeScale","scaleX","scaleY","getLayoutRect","clientRect","offsetTop","rootNode","getRootNode","isSameNode","getNodeName","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","currentNode","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","phase","_state$modifiersData$","arrowElement","arrow","popperOffsets","modifiersData","basePlacement","toPaddingObject","arrowRect","minProp","maxProp","endDiff","reference","startDiff","arrowOffsetParent","clientSize","centerToReference","axisProp","centerOffset","effect","_options$element","requires","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","visualViewport","_Object$assign","commonStyles","roundOffsetsByDPR","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","strategy","_options$scroll","scroll","_options$resize","scrollParents","scrollParent","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","overflowY","listScrollParents","list","_element$ownerDocumen","getScrollParent","isBody","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","fittingPlacement","find","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","modifiers","visited","modifier","dep","depModifier","pending","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","orderModifiers","merged","existing","mergeByName","_ref3$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","createPopper","computeStyles","eventListeners","initialPopperStyles","pointerEvents","disabledApplyStylesModifier","ariaDescribedByModifier","ids","_popper$getAttribute","_state$elements2","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","_ref3$enabled","_ref3$placement","_ref3$strategy","_ref3$modifiers","popperInstanceRef","_popperInstanceRef$cu","_popperInstanceRef$cu2","_useSafeState","popperState","updateModifier","getRefTarget","useRootClose","onRootClose","_ref$clickTrigger","clickTrigger","preventMouseRootCloseRef","handleMouseCapture","metaKey","altKey","ctrlKey","shiftKey","button","isLeftClickEvent","handleMouse","handleKeyUp","currentEvent","removeMouseCaptureListener","removeMouseListener","removeKeyupListener","mobileSafariHackListeners","mergeOptionsWithPopperConfig","_modifiers$preventOve","_modifiers$preventOve2","_modifiers$offset","_modifiers$arrow","enableEvents","fixed","_ref$popperConfig","popperConfig","toModifierMap","Overlay","outerRef","_props$containerPaddi","_props$popperConfig","rootElement","attachRef","_useCallbackRef2","attachArrowRef","mergedRef","_usePopper","mountOverlay","rootClose","rootCloseDisabled","rootCloseEvent","_PropTypes$func","marginTop","marginRight","marginBottom","marginLeft","overlay","outerProps","popperRef","_usePopperMarginModif","overlayRef","arrowMargins","popoverClass","dropdownMenuClass","_margins$current","_arrowMargins$current","_getMargins","usePopperMarginModifiers","marginModifiers","actualTransition","BaseOverlay","overlayProps","aRef","__wrapped","wrapRefs","scheduleUpdate","outOfBoundaries","RefHolder","handleMouseOverOut","relatedNative","related","relatedTarget","nativeEvent","OverlayTrigger","propsShow","_ref$defaultShow","defaultShow","onToggle","propsDelay","_ref$flip","triggerNodeRef","hoverStateRef","setShow","normalizeDelay","onFocus","onBlur","handleFocus","handleBlur","handleMouseOver","handleMouseOut","triggers","triggerProps","onMouseOver","onMouseOut","emulateTransitionEnd","called","handle","bubbles","createEvent","initEvent","dispatchEvent","triggerEvent","removeEmulate","argIndex","framesToPop","NavbarBrand","_collapseStyles","MARGINS","getDefaultDimensionValue","elem","collapseStyles","getDimensionValue","Collapse","_ref$dimension","_ref$getDimensionValu","computedDimension","handleEntering","handleEntered","handleExit","handleExiting","NavbarCollapse","NavbarContext","expanded","NavbarToggle","NavbarText","Navbar","initialBsPrefix","expand","sticky","_useUncontrolled$as","_onToggle","collapseOnSelect","controlledProps","handleCollapse","expandClass","navbarContext","Brand","Toggle","propIsEnumerable","toObject","test1","test2","fromCharCode","test3","letter","shouldUseNative","u","code","encode","getTypeOf","decode","uint8array","Uint8Array","compressedSize","uncompressedSize","crc32","compression","compressedContent","getContentWorker","pipe","uncompressWorker","on","streamInfo","data_length","getCompressedWorker","withStreamInfo","createWorkerFrom","compressWorker","STORE","magic","DEFLATE","base64","binary","createFolders","compressionOptions","unixPermissions","dosPermissions","lie","Uint16Array","Uint32Array","_pako","_pakoAction","_pakoOptions","inherits","processChunk","_createPako","transformTo","flush","cleanUp","level","onData","pako","file","utf8encode","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCFullYear","getUTCMonth","getUTCDate","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","bytesWritten","zipComment","zipPlatform","encodeFileName","streamFiles","accumulate","contentBuffer","dirRecords","currentSourceOffset","entriesCount","currentFile","_sources","openedSource","closedSource","DATA_DESCRIPTOR","CENTRAL_DIRECTORY_END","prepareNextSource","isPaused","pause","resume","registerPrevious","generatedError","lock","generateWorker","_compressWorker","10","files","loadAsync","support","11","decompressed","extend","checkCRC32","optimizedBinaryString","decodeFileName","utf8decode","isNode","isStream","prepareContent","load","fileNameStr","fileCommentStr","12","_upstreamEnded","_bindStream","_stream","13","Readable","_helper","emit","_read","14","Buffer","newBufferFrom","allocBuffer","alloc","isBuffer","15","substring","folder","generateInternalStream","mimeType","checkSupport","generateAsync","generateNodeStream","toNodejsStream","16","stream","17","byteAt","zero","lastIndexOfSignature","readAndCheckSignature","readData","checkOffset","18","checkIndex","setIndex","readInt","readString","readDate","UTC","19","20","21","subarray","22","23","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","24","destType","25","26","propName","27","dataIsReady","_tickScheduled","_tickAndRepeat","isFinished","_tick","28","extraStreamInfo","isLocked","mergeStreamInfo","29","nodestream","_internalType","_outputType","_mimeType","_worker","newBlob","objectMode","30","arraybuffer","ArrayBuffer","nodebuffer","blob","Blob","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","append","getBlob","31","leftOver","applyFromCharCode","Utf8DecodeWorker","Utf8EncodeWorker","32","stringifyByChunk","stringifyByChar","applyCanBeUsed","buffer","byteLength","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","FileReader","onload","onerror","readAsArrayBuffer","33","loadOptions","checkSignature","reader","isSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","zip64ExtensibleData","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","processAttributes","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","34","isEncrypted","bitFlag","useUTF8","fileNameLength","fileName","compressionMethod","versionMadeBy","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","fileComment","extraFields","findExtraFieldUnicodePath","findExtraFieldUnicodeComment","35","_dataBinary","internalStream","_decompressWorker","async","nodeStream","36","WebKitMutationObserver","setImmediate","MessageChannel","onreadystatechange","port1","onmessage","port2","postMessage","global","37","queue","outcome","promise","onFulfilled","callFulfilled","otherCallFulfilled","onRejected","callRejected","otherCallRejected","finally","race","immediate","38","39","chunkSize","windowBits","memLevel","gzip","msg","ended","chunks","strm","avail_out","deflateInit2","header","deflateSetHeader","dictionary","string2buf","deflateSetDictionary","_dict_set","next_in","avail_in","Buf8","next_out","deflate","onEnd","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","Deflate","deflateRaw","40","inflateInit2","Z_OK","inflateGetHeader","Z_FINISH","Z_NO_FLUSH","binstring2buf","inflate","Z_NEED_DICT","inflateSetDictionary","Z_BUF_ERROR","Z_STREAM_END","Z_SYNC_FLUSH","utf8border","buf2string","arraySet","inflateEnd","Inflate","inflateRaw","ungzip","41","Int32Array","setTyped","Buf16","Buf32","42","43","44","Z_PARTIAL_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","45","46","pending_buf","pending_out","total_out","_tr_flush_block","block_start","strstart","max_chain_length","prev_length","nice_match","w_size","w_mask","good_match","lookahead","match_start","window_size","hash_size","adler","total_in","insert","ins_h","hash_shift","hash_mask","match_length","_tr_tally","max_lazy_match","last_lit","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","data_type","_tr_init","deflateInit","deflateReset","deflateResetKeep","hcrc","_tr_align","_tr_stored_block","deflateInfo","47","xflags","extra_len","48","dmax","wsize","whave","wnext","hold","bits","lencode","distcode","lenbits","distbits","sane","49","havedict","flags","wbits","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","back","was","inflateReset","inflateReset2","inflateResetKeep","inflateInit","inflateInfo","50","51","52","static_tree","extra_bits","extra_base","elems","max_length","has_stree","dyn_tree","max_code","stat_desc","q","53","54","XMLHttpRequest","open","responseType","response","send","MouseEvent","initMouseEvent","saveAs","HTMLAnchorElement","URL","webkitURL","download","rel","origin","location","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","safari","onloadend","readAsDataURL","Spinner","bsSpinnerPrefix","for","encodeURIComponent","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isReactComponent","isPureReactComponent","__self","__source","$$typeof","_owner","keyPrefix","escape","aa","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","createRef","isValidElement","lazy","_ctor","_status","_result","memo","useDebugValue","useLayoutEffect","useReducer","onError","da","ea","ha","ia","ja","la","ma","na","oa","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","Xa","Sa","Ta","Ra","setAttributeNS","Ya","Za","$a","ab","bb","db","eb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","lineNumber","return","rb","sb","xb","_valueTracker","getValue","setValue","stopTracking","tb","yb","checked","zb","defaultChecked","_wrapperState","initialChecked","Ab","controlled","Bb","Cb","Db","Eb","Gb","Fb","Hb","selected","defaultSelected","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","valueOf","Rb","lastChild","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","sibling","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","targetInst","ancestors","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","kd","ld","md","nd","menuitem","br","embed","hr","img","keygen","link","param","track","wbr","od","pd","is","qd","rd","sd","td","ud","vd","nextSibling","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Dd","Ed","Fd","Gd","__html","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","cancelBubble","persist","eventPhase","timeStamp","isTrusted","ge","he","ie","je","ke","documentMode","le","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","re","detail","se","ve","which","te","char","ue","we","email","password","search","tel","url","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Meta","Shift","Pe","getModifierState","Re","Se","Te","Ue","Ve","screenX","screenY","pageX","pageY","buttons","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","parentWindow","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","vg","wg","suspenseConfig","payload","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","UNSAFE_componentWillReceiveProps","Ng","UNSAFE_componentWillMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","di","ei","fi","UNSAFE_componentWillUpdate","gi","getDerivedStateFromError","pendingContext","ni","pi","qi","ii","retryTime","ji","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onclick","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","WeakSet","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","Ki","Li","Di","Mi","Ni","Oi","Pi","Qi","_reactRootContainer","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","createRange","setStart","removeAllRanges","addRange","setEnd","vb","Uj","Vj","Wj","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","jk","kk","unmount","form","Lj","lk","Events","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","unstable_forceFrameRate","cancelAnimationFrame","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","arrayOf","objectOf","exact","checkPropTypes","validate","componentNameSafe","propFullNameSafe","chainedCheckType","MODEL","NAME","TYPE","VENDOR","VERSION","MOBILE","TABLET","SMARTTV","enumerize","enums","str1","str2","lowerize","rgxMapper","arrays","regex","strMapper","windowsVersionMap","ME","XP","Vista","8.1","RT","regexes","OPERA","FIREFOX","CHROME","1.2","1.3","cpu","APPLE","EDGE","UAParser","extensions","getResult","_ua","_rgxmap","mergedRegexes","_browser","_cpu","_device","_engine","_os","setUA","BROWSER","CPU","DEVICE","ENGINE","OS","define","$","jQuery","Zepto","__webpack_amd_options__","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","byteOffset","fromArrayLike","fromArrayBuffer","encoding","isEncoding","write","fromString","copy","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","foo","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","out","bytes","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","src","dst","b64","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","close","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","nextTick","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","channel","installMessageChannelImplementation","script","installReadyStateChangeImplementation","task","run","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","env","argv","versions","off","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","NavContext","AbstractNav","needsRefocusRef","parentOnSelect","listNode","getNextActiveChild","currentListNode","activeChild","nextIndex","handleSelect","nextActiveChild","rbEventKey","NavItem","AbstractNavItem","navKey","navContext","isActive","contextControllerId","contextControlledId","handleOnclick","NavLink","Nav","_classNames","navbarBsPrefix","justify","navbar","navbarScroll","isNavbar"],"mappings":"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","file":"static/js/2.099aebdd.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useContext, useMemo } from 'react';\nvar ThemeContext = /*#__PURE__*/React.createContext({});\nvar Consumer = ThemeContext.Consumer,\n Provider = ThemeContext.Provider;\n\nfunction ThemeProvider(_ref) {\n var prefixes = _ref.prefixes,\n children = _ref.children;\n var copiedPrefixes = useMemo(function () {\n return _extends({}, prefixes);\n }, [prefixes]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: copiedPrefixes\n }, children);\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n var prefixes = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n var _opts = opts,\n prefix = _opts.prefix,\n _opts$forwardRefAs = _opts.forwardRefAs,\n forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;\n var Wrapped = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var props = _extends({}, _ref2);\n\n props[forwardRefAs] = ref;\n var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n bsPrefix: bsPrefix\n }));\n });\n Wrapped.displayName = \"Bootstrap(\" + (Component.displayName || Component.name) + \")\";\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar Col = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'col');\n var spans = [];\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var span;\n var offset;\n var order;\n\n if (typeof propValue === 'object' && propValue != null) {\n var _propValue$span = propValue.span;\n span = _propValue$span === void 0 ? true : _propValue$span;\n offset = propValue.offset;\n order = propValue.order;\n } else {\n span = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (span) spans.push(span === true ? \"\" + prefix + infix : \"\" + prefix + infix + \"-\" + span);\n if (order != null) classes.push(\"order\" + infix + \"-\" + order);\n if (offset != null) classes.push(\"offset\" + infix + \"-\" + offset);\n });\n\n if (!spans.length) {\n spans.push(prefix); // plain 'col'\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames.apply(void 0, [className].concat(spans, classes))\n }));\n});\nCol.displayName = 'Col';\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"noGutters\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar defaultProps = {\n noGutters: false\n};\nvar Row = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n noGutters = _ref.noGutters,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n var sizePrefix = decoratedBsPrefix + \"-cols\";\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var cols;\n\n if (propValue != null && typeof propValue === 'object') {\n cols = propValue.cols;\n } else {\n cols = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (cols != null) classes.push(\"\" + sizePrefix + infix + \"-\" + cols);\n });\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames.apply(void 0, [className, decoratedBsPrefix, noGutters && 'no-gutters'].concat(classes))\n }));\n});\nRow.displayName = 'Row';\nRow.defaultProps = defaultProps;\nexport default Row;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"className\", \"type\", \"tooltip\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nvar propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nvar Feedback = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'valid' : _ref$type,\n _ref$tooltip = _ref.tooltip,\n tooltip = _ref$tooltip === void 0 ? false : _ref$tooltip,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, type + \"-\" + (tooltip ? 'tooltip' : 'feedback'))\n }));\n});\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","import React from 'react'; // TODO\n\nvar FormContext = /*#__PURE__*/React.createContext({\n controlId: undefined\n});\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"className\", \"type\", \"isValid\", \"isInvalid\", \"isStatic\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormCheckInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'checkbox' : _ref$type,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n isStatic = _ref.isStatic,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-control-input'] : [bsPrefix, 'form-check-input'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid', isStatic && 'position-static')\n }));\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"bsCustomPrefix\", \"className\", \"htmlFor\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormCheckLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n htmlFor = _ref.htmlFor,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-control-label'] : [bsPrefix, 'form-check-label'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(\"label\", _extends({}, props, {\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n }));\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"inline\", \"disabled\", \"isValid\", \"isInvalid\", \"feedbackTooltip\", \"feedback\", \"className\", \"style\", \"title\", \"type\", \"label\", \"children\", \"custom\", \"as\"];\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport React, { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormCheck = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n _ref$inline = _ref.inline,\n inline = _ref$inline === void 0 ? false : _ref$inline,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n _ref$feedbackTooltip = _ref.feedbackTooltip,\n feedbackTooltip = _ref$feedbackTooltip === void 0 ? false : _ref$feedbackTooltip,\n feedback = _ref.feedback,\n className = _ref.className,\n style = _ref.style,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? '' : _ref$title,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'checkbox' : _ref$type,\n label = _ref.label,\n children = _ref.children,\n propCustom = _ref.custom,\n _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var custom = type === 'switch' ? true : propCustom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-control'] : [bsPrefix, 'form-check'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n var innerFormContext = useMemo(function () {\n return {\n controlId: id || controlId,\n custom: custom\n };\n }, [controlId, custom, id]);\n var hasLabel = custom || label != null && label !== false && !children;\n var input = /*#__PURE__*/React.createElement(FormCheckInput, _extends({}, props, {\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n isStatic: !hasLabel,\n disabled: disabled,\n as: as\n }));\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: innerFormContext\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: classNames(className, bsPrefix, custom && \"custom-\" + type, inline && bsPrefix + \"-inline\")\n }, children || /*#__PURE__*/React.createElement(React.Fragment, null, input, hasLabel && /*#__PURE__*/React.createElement(FormCheckLabel, {\n title: title\n }, label), (isValid || isInvalid) && /*#__PURE__*/React.createElement(Feedback, {\n type: isValid ? 'valid' : 'invalid',\n tooltip: feedbackTooltip\n }, feedback))));\n});\nFormCheck.displayName = 'FormCheck';\nFormCheck.Input = FormCheckInput;\nFormCheck.Label = FormCheckLabel;\nexport default FormCheck;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"className\", \"isValid\", \"isInvalid\", \"lang\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormFileInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n isValid = _ref.isValid,\n isInvalid = _ref.isInvalid,\n lang = _ref.lang,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var type = 'file';\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-file-input'] : [bsPrefix, 'form-control-file'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n id: id || controlId,\n type: type,\n lang: lang,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n }));\n});\nFormFileInput.displayName = 'FormFileInput';\nexport default FormFileInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"bsCustomPrefix\", \"className\", \"htmlFor\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormFileLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n htmlFor = _ref.htmlFor,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-file-label'] : [bsPrefix, 'form-file-label'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(\"label\", _extends({}, props, {\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix),\n \"data-browse\": props['data-browse']\n }));\n});\nFormFileLabel.displayName = 'FormFileLabel';\nexport default FormFileLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"disabled\", \"isValid\", \"isInvalid\", \"feedbackTooltip\", \"feedback\", \"className\", \"style\", \"label\", \"children\", \"custom\", \"lang\", \"data-browse\", \"as\", \"inputAs\"];\nimport classNames from 'classnames';\nimport React, { useContext, useMemo } from 'react';\nimport all from 'prop-types-extra/lib/all';\nimport Feedback from './Feedback';\nimport FormFileInput from './FormFileInput';\nimport FormFileLabel from './FormFileLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormFile = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n _ref$feedbackTooltip = _ref.feedbackTooltip,\n feedbackTooltip = _ref$feedbackTooltip === void 0 ? false : _ref$feedbackTooltip,\n feedback = _ref.feedback,\n className = _ref.className,\n style = _ref.style,\n label = _ref.label,\n children = _ref.children,\n custom = _ref.custom,\n lang = _ref.lang,\n dataBrowse = _ref['data-browse'],\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$inputAs = _ref.inputAs,\n inputAs = _ref$inputAs === void 0 ? 'input' : _ref$inputAs,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-file'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n var type = 'file';\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n var innerFormContext = useMemo(function () {\n return {\n controlId: id || controlId,\n custom: custom\n };\n }, [controlId, custom, id]);\n var hasLabel = label != null && label !== false && !children;\n var input = /*#__PURE__*/React.createElement(FormFileInput, _extends({}, props, {\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: inputAs,\n lang: lang\n }));\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: innerFormContext\n }, /*#__PURE__*/React.createElement(Component, {\n style: style,\n className: classNames(className, bsPrefix, custom && \"custom-\" + type)\n }, children || /*#__PURE__*/React.createElement(React.Fragment, null, custom ? /*#__PURE__*/React.createElement(React.Fragment, null, input, hasLabel && /*#__PURE__*/React.createElement(FormFileLabel, {\n \"data-browse\": dataBrowse\n }, label)) : /*#__PURE__*/React.createElement(React.Fragment, null, hasLabel && /*#__PURE__*/React.createElement(FormFileLabel, null, label), input), (isValid || isInvalid) && /*#__PURE__*/React.createElement(Feedback, {\n type: isValid ? 'valid' : 'invalid',\n tooltip: feedbackTooltip\n }, feedback))));\n});\nFormFile.displayName = 'FormFile';\nFormFile.Input = FormFileInput;\nFormFile.Label = FormFileLabel;\nexport default FormFile;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"bsCustomPrefix\", \"type\", \"size\", \"htmlSize\", \"id\", \"className\", \"isValid\", \"isInvalid\", \"plaintext\", \"readOnly\", \"custom\", \"as\"];\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport React, { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormControl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n type = _ref.type,\n size = _ref.size,\n htmlSize = _ref.htmlSize,\n id = _ref.id,\n className = _ref.className,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n plaintext = _ref.plaintext,\n readOnly = _ref.readOnly,\n custom = _ref.custom,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-control'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n var classes;\n\n if (plaintext) {\n var _classes;\n\n classes = (_classes = {}, _classes[bsPrefix + \"-plaintext\"] = true, _classes);\n } else if (type === 'file') {\n var _classes2;\n\n classes = (_classes2 = {}, _classes2[bsPrefix + \"-file\"] = true, _classes2);\n } else if (type === 'range') {\n var _classes3;\n\n classes = (_classes3 = {}, _classes3[bsPrefix + \"-range\"] = true, _classes3);\n } else if (Component === 'select' && custom) {\n var _classes4;\n\n classes = (_classes4 = {}, _classes4[bsPrefix + \"-select\"] = true, _classes4[bsPrefix + \"-select-\" + size] = size, _classes4);\n } else {\n var _classes5;\n\n classes = (_classes5 = {}, _classes5[bsPrefix] = true, _classes5[bsPrefix + \"-\" + size] = size, _classes5);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0;\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, classes, isValid && \"is-valid\", isInvalid && \"is-invalid\")\n }));\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback: Feedback\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"children\", \"controlId\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n controlId = _ref.controlId,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-group');\n var context = useMemo(function () {\n return {\n controlId: controlId\n };\n }, [controlId]);\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix)\n }), children));\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"column\", \"srOnly\", \"className\", \"htmlFor\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n column: false,\n srOnly: false\n};\nvar FormLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'label' : _ref$as,\n bsPrefix = _ref.bsPrefix,\n column = _ref.column,\n srOnly = _ref.srOnly,\n className = _ref.className,\n htmlFor = _ref.htmlFor,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n var columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = columnClass + \" \" + columnClass + \"-\" + column;\n var classes = classNames(className, bsPrefix, srOnly && 'sr-only', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/React.createElement(Col, _extends({\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor\n }, props));\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n React.createElement(Component, _extends({\n ref: ref,\n className: classes,\n htmlFor: htmlFor\n }, props))\n );\n});\nFormLabel.displayName = 'FormLabel';\nFormLabel.defaultProps = defaultProps;\nexport default FormLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"as\", \"muted\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormText = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'small' : _ref$as,\n muted = _ref.muted,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n }));\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport FormCheck from './FormCheck';\nvar Switch = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(FormCheck, _extends({}, props, {\n ref: ref,\n type: \"switch\"\n }));\n});\nSwitch.displayName = 'Switch';\nSwitch.Input = FormCheck.Input;\nSwitch.Label = FormCheck.Label;\nexport default Switch;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"inline\", \"className\", \"validated\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport FormCheck from './FormCheck';\nimport FormFile from './FormFile';\nimport FormControl from './FormControl';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nvar FormRow = createWithBsPrefix('form-row');\nvar defaultProps = {\n inline: false\n};\nvar FormImpl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n inline = _ref.inline,\n className = _ref.className,\n validated = _ref.validated,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'form' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, validated && 'was-validated', inline && bsPrefix + \"-inline\")\n }));\n});\nFormImpl.displayName = 'Form';\nFormImpl.defaultProps = defaultProps;\nFormImpl.Row = FormRow;\nFormImpl.Group = FormGroup;\nFormImpl.Control = FormControl;\nFormImpl.Check = FormCheck;\nFormImpl.File = FormFile;\nFormImpl.Switch = Switch;\nFormImpl.Label = FormLabel;\nFormImpl.Text = FormText;\nexport default FormImpl;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"variant\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n variant: null\n};\nvar CardImg = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n variant = _ref.variant,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'img' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'card-img');\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref,\n className: classNames(variant ? prefix + \"-\" + variant : prefix, className)\n }, props));\n});\nCardImg.displayName = 'CardImg';\nCardImg.defaultProps = defaultProps;\nexport default CardImg;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"bg\", \"text\", \"border\", \"body\", \"children\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport divWithClassName from './divWithClassName';\nimport CardContext from './CardContext';\nimport CardImg from './CardImg';\nvar DivStyledAsH5 = divWithClassName('h5');\nvar DivStyledAsH6 = divWithClassName('h6');\nvar CardBody = createWithBsPrefix('card-body');\nvar CardTitle = createWithBsPrefix('card-title', {\n Component: DivStyledAsH5\n});\nvar CardSubtitle = createWithBsPrefix('card-subtitle', {\n Component: DivStyledAsH6\n});\nvar CardLink = createWithBsPrefix('card-link', {\n Component: 'a'\n});\nvar CardText = createWithBsPrefix('card-text', {\n Component: 'p'\n});\nvar CardHeader = createWithBsPrefix('card-header');\nvar CardFooter = createWithBsPrefix('card-footer');\nvar CardImgOverlay = createWithBsPrefix('card-img-overlay');\nvar defaultProps = {\n body: false\n};\nvar Card = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n bg = _ref.bg,\n text = _ref.text,\n border = _ref.border,\n body = _ref.body,\n children = _ref.children,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'card');\n var cardContext = useMemo(function () {\n return {\n cardHeaderBsPrefix: prefix + \"-header\"\n };\n }, [prefix]);\n return /*#__PURE__*/React.createElement(CardContext.Provider, {\n value: cardContext\n }, /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, prefix, bg && \"bg-\" + bg, text && \"text-\" + text, border && \"border-\" + border)\n }), body ?\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(CardBody, null, children) : children));\n});\nCard.displayName = 'Card';\nCard.defaultProps = defaultProps;\nCard.Img = CardImg;\nCard.Title = CardTitle;\nCard.Subtitle = CardSubtitle;\nCard.Body = CardBody;\nCard.Link = CardLink;\nCard.Text = CardText;\nCard.Header = CardHeader;\nCard.Footer = CardFooter;\nCard.ImgOverlay = CardImgOverlay;\nexport default Card;","var rHyphen = /-(.)/g;\nexport default function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"bsPrefix\", \"as\"];\nimport classNames from 'classnames';\nimport camelize from 'dom-helpers/camelize';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\n\nvar pascalCase = function pascalCase(str) {\n return str[0].toUpperCase() + camelize(str).slice(1);\n};\n\n// TODO: emstricten & fix the typing here! `createWithBsPrefix...`\nexport default function createWithBsPrefix(prefix, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? pascalCase(prefix) : _ref$displayName,\n Component = _ref.Component,\n defaultProps = _ref.defaultProps;\n\n var BsComponent = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var className = _ref2.className,\n bsPrefix = _ref2.bsPrefix,\n _ref2$as = _ref2.as,\n Tag = _ref2$as === void 0 ? Component || 'div' : _ref2$as,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: ref,\n className: classNames(className, resolvedPrefix)\n }, props));\n });\n BsComponent.defaultProps = defaultProps;\n BsComponent.displayName = displayName;\n return BsComponent;\n}","/*!\n * Chart.js v3.7.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst emptyString = '';\nconst dot = '.';\nfunction indexOfDotOrLength(key, start) {\n const idx = key.indexOf(dot, start);\n return idx === -1 ? key.length : idx;\n}\nfunction resolveObjectKey(obj, key) {\n if (key === emptyString) {\n return obj;\n }\n let pos = 0;\n let idx = indexOfDotOrLength(key, pos);\n while (obj && idx > pos) {\n obj = obj[key.substr(pos, idx - pos)];\n pos = idx + 1;\n idx = indexOfDotOrLength(key, pos);\n }\n return obj;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.1.9\n * https://github.com/kurkle/color#readme\n * (c) 2020 Jukka Kurkela\n * Released under the MIT License\n */\nconst map = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = '0123456789ABCDEF';\nconst h1 = (b) => hex[b & 0xF];\nconst h2 = (b) => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = (b) => (((b & 0xF0) >> 4) === (b & 0xF));\nfunction isShort(v) {\n\treturn eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\n}\nfunction hexParse(str) {\n\tvar len = str.length;\n\tvar ret;\n\tif (str[0] === '#') {\n\t\tif (len === 4 || len === 5) {\n\t\t\tret = {\n\t\t\t\tr: 255 & map[str[1]] * 17,\n\t\t\t\tg: 255 & map[str[2]] * 17,\n\t\t\t\tb: 255 & map[str[3]] * 17,\n\t\t\t\ta: len === 5 ? map[str[4]] * 17 : 255\n\t\t\t};\n\t\t} else if (len === 7 || len === 9) {\n\t\t\tret = {\n\t\t\t\tr: map[str[1]] << 4 | map[str[2]],\n\t\t\t\tg: map[str[3]] << 4 | map[str[4]],\n\t\t\t\tb: map[str[5]] << 4 | map[str[6]],\n\t\t\t\ta: len === 9 ? (map[str[7]] << 4 | map[str[8]]) : 255\n\t\t\t};\n\t\t}\n\t}\n\treturn ret;\n}\nfunction hexString(v) {\n\tvar f = isShort(v) ? h1 : h2;\n\treturn v\n\t\t? '#' + f(v.r) + f(v.g) + f(v.b) + (v.a < 255 ? f(v.a) : '')\n\t\t: v;\n}\nfunction round(v) {\n\treturn v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n\treturn lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n\treturn lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n\treturn lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n\treturn lim(round(v * 100), 0, 100);\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n\tconst m = RGB_RE.exec(str);\n\tlet a = 255;\n\tlet r, g, b;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[7] !== r) {\n\t\tconst v = +m[7];\n\t\ta = 255 & (m[8] ? p2b(v) : v * 255);\n\t}\n\tr = +m[1];\n\tg = +m[3];\n\tb = +m[5];\n\tr = 255 & (m[2] ? p2b(r) : r);\n\tg = 255 & (m[4] ? p2b(g) : g);\n\tb = 255 & (m[6] ? p2b(b) : b);\n\treturn {\n\t\tr: r,\n\t\tg: g,\n\t\tb: b,\n\t\ta: a\n\t};\n}\nfunction rgbString(v) {\n\treturn v && (\n\t\tv.a < 255\n\t\t\t? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n\t\t\t: `rgb(${v.r}, ${v.g}, ${v.b})`\n\t);\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n\tconst a = s * Math.min(l, 1 - l);\n\tconst f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n\treturn [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n\tconst f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n\treturn [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n\tconst rgb = hsl2rgbn(h, 1, 0.5);\n\tlet i;\n\tif (w + b > 1) {\n\t\ti = 1 / (w + b);\n\t\tw *= i;\n\t\tb *= i;\n\t}\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] *= 1 - w - b;\n\t\trgb[i] += w;\n\t}\n\treturn rgb;\n}\nfunction rgb2hsl(v) {\n\tconst range = 255;\n\tconst r = v.r / range;\n\tconst g = v.g / range;\n\tconst b = v.b / range;\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tconst l = (max + min) / 2;\n\tlet h, s, d;\n\tif (max !== min) {\n\t\td = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\th = max === r\n\t\t\t? ((g - b) / d) + (g < b ? 6 : 0)\n\t\t\t: max === g\n\t\t\t\t? (b - r) / d + 2\n\t\t\t\t: (r - g) / d + 4;\n\t\th = h * 60 + 0.5;\n\t}\n\treturn [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n\treturn (\n\t\tArray.isArray(a)\n\t\t\t? f(a[0], a[1], a[2])\n\t\t\t: f(a, b, c)\n\t).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n\treturn calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n\treturn calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n\treturn calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n\treturn (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n\tconst m = HUE_RE.exec(str);\n\tlet a = 255;\n\tlet v;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[5] !== v) {\n\t\ta = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n\t}\n\tconst h = hue(+m[2]);\n\tconst p1 = +m[3] / 100;\n\tconst p2 = +m[4] / 100;\n\tif (m[1] === 'hwb') {\n\t\tv = hwb2rgb(h, p1, p2);\n\t} else if (m[1] === 'hsv') {\n\t\tv = hsv2rgb(h, p1, p2);\n\t} else {\n\t\tv = hsl2rgb(h, p1, p2);\n\t}\n\treturn {\n\t\tr: v[0],\n\t\tg: v[1],\n\t\tb: v[2],\n\t\ta: a\n\t};\n}\nfunction rotate(v, deg) {\n\tvar h = rgb2hsl(v);\n\th[0] = hue(h[0] + deg);\n\th = hsl2rgb(h);\n\tv.r = h[0];\n\tv.g = h[1];\n\tv.b = h[2];\n}\nfunction hslString(v) {\n\tif (!v) {\n\t\treturn;\n\t}\n\tconst a = rgb2hsl(v);\n\tconst h = a[0];\n\tconst s = n2p(a[1]);\n\tconst l = n2p(a[2]);\n\treturn v.a < 255\n\t\t? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n\t\t: `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map$1 = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n\tconst unpacked = {};\n\tconst keys = Object.keys(names);\n\tconst tkeys = Object.keys(map$1);\n\tlet i, j, k, ok, nk;\n\tfor (i = 0; i < keys.length; i++) {\n\t\tok = nk = keys[i];\n\t\tfor (j = 0; j < tkeys.length; j++) {\n\t\t\tk = tkeys[j];\n\t\t\tnk = nk.replace(k, map$1[k]);\n\t\t}\n\t\tk = parseInt(names[ok], 16);\n\t\tunpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n\t}\n\treturn unpacked;\n}\nlet names$1;\nfunction nameParse(str) {\n\tif (!names$1) {\n\t\tnames$1 = unpack();\n\t\tnames$1.transparent = [0, 0, 0, 0];\n\t}\n\tconst a = names$1[str.toLowerCase()];\n\treturn a && {\n\t\tr: a[0],\n\t\tg: a[1],\n\t\tb: a[2],\n\t\ta: a.length === 4 ? a[3] : 255\n\t};\n}\nfunction modHSL(v, i, ratio) {\n\tif (v) {\n\t\tlet tmp = rgb2hsl(v);\n\t\ttmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n\t\ttmp = hsl2rgb(tmp);\n\t\tv.r = tmp[0];\n\t\tv.g = tmp[1];\n\t\tv.b = tmp[2];\n\t}\n}\nfunction clone(v, proto) {\n\treturn v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n\tvar v = {r: 0, g: 0, b: 0, a: 255};\n\tif (Array.isArray(input)) {\n\t\tif (input.length >= 3) {\n\t\t\tv = {r: input[0], g: input[1], b: input[2], a: 255};\n\t\t\tif (input.length > 3) {\n\t\t\t\tv.a = n2b(input[3]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tv = clone(input, {r: 0, g: 0, b: 0, a: 1});\n\t\tv.a = n2b(v.a);\n\t}\n\treturn v;\n}\nfunction functionParse(str) {\n\tif (str.charAt(0) === 'r') {\n\t\treturn rgbParse(str);\n\t}\n\treturn hueParse(str);\n}\nclass Color {\n\tconstructor(input) {\n\t\tif (input instanceof Color) {\n\t\t\treturn input;\n\t\t}\n\t\tconst type = typeof input;\n\t\tlet v;\n\t\tif (type === 'object') {\n\t\t\tv = fromObject(input);\n\t\t} else if (type === 'string') {\n\t\t\tv = hexParse(input) || nameParse(input) || functionParse(input);\n\t\t}\n\t\tthis._rgb = v;\n\t\tthis._valid = !!v;\n\t}\n\tget valid() {\n\t\treturn this._valid;\n\t}\n\tget rgb() {\n\t\tvar v = clone(this._rgb);\n\t\tif (v) {\n\t\t\tv.a = b2n(v.a);\n\t\t}\n\t\treturn v;\n\t}\n\tset rgb(obj) {\n\t\tthis._rgb = fromObject(obj);\n\t}\n\trgbString() {\n\t\treturn this._valid ? rgbString(this._rgb) : this._rgb;\n\t}\n\thexString() {\n\t\treturn this._valid ? hexString(this._rgb) : this._rgb;\n\t}\n\thslString() {\n\t\treturn this._valid ? hslString(this._rgb) : this._rgb;\n\t}\n\tmix(color, weight) {\n\t\tconst me = this;\n\t\tif (color) {\n\t\t\tconst c1 = me.rgb;\n\t\t\tconst c2 = color.rgb;\n\t\t\tlet w2;\n\t\t\tconst p = weight === w2 ? 0.5 : weight;\n\t\t\tconst w = 2 * p - 1;\n\t\t\tconst a = c1.a - c2.a;\n\t\t\tconst w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\t\tw2 = 1 - w1;\n\t\t\tc1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n\t\t\tc1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n\t\t\tc1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n\t\t\tc1.a = p * c1.a + (1 - p) * c2.a;\n\t\t\tme.rgb = c1;\n\t\t}\n\t\treturn me;\n\t}\n\tclone() {\n\t\treturn new Color(this.rgb);\n\t}\n\talpha(a) {\n\t\tthis._rgb.a = n2b(a);\n\t\treturn this;\n\t}\n\tclearer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 - ratio;\n\t\treturn this;\n\t}\n\tgreyscale() {\n\t\tconst rgb = this._rgb;\n\t\tconst val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n\t\trgb.r = rgb.g = rgb.b = val;\n\t\treturn this;\n\t}\n\topaquer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 + ratio;\n\t\treturn this;\n\t}\n\tnegate() {\n\t\tconst v = this._rgb;\n\t\tv.r = 255 - v.r;\n\t\tv.g = 255 - v.g;\n\t\tv.b = 255 - v.b;\n\t\treturn this;\n\t}\n\tlighten(ratio) {\n\t\tmodHSL(this._rgb, 2, ratio);\n\t\treturn this;\n\t}\n\tdarken(ratio) {\n\t\tmodHSL(this._rgb, 2, -ratio);\n\t\treturn this;\n\t}\n\tsaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, ratio);\n\t\treturn this;\n\t}\n\tdesaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, -ratio);\n\t\treturn this;\n\t}\n\trotate(deg) {\n\t\trotate(this._rgb, deg);\n\t\treturn this;\n\t}\n}\nfunction index_esm(input) {\n\treturn new Color(input);\n}\n\nconst isPatternOrGradient = (value) => value instanceof CanvasGradient || value instanceof CanvasPattern;\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n let type, xOffset, yOffset, size, cornerRadius;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n ctx.arc(x, y, radius, 0, TAU);\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n ctx.rect(x - size, y - size, 2 * size, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(evt, canvas) {\n const e = evt.native || evt;\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _toLeftRightCenter as $, _rlookupByKey as A, getAngleFromPoint as B, toPadding as C, each as D, getMaximumSize as E, _getParentNode as F, readUsedSize as G, HALF_PI as H, throttled as I, supportsEventListenerOptions as J, _isDomSupported as K, log10 as L, _factorize as M, finiteOrDefault as N, callback as O, PI as P, _addGrace as Q, toDegrees as R, _measureText as S, TAU as T, _int16Range as U, _alignPixel as V, clipArea as W, renderText as X, unclipArea as Y, toFont as Z, _arrayUnique as _, resolve as a, _angleDiff as a$, _alignStartEnd as a0, overrides as a1, merge as a2, _capitalize as a3, descriptors as a4, isFunction as a5, _attachContext as a6, _createResolver as a7, _descriptors as a8, mergeIf as a9, restoreTextDirection as aA, noop as aB, distanceBetweenPoints as aC, _setMinAndMaxByKey as aD, niceNum as aE, almostWhole as aF, almostEquals as aG, _decimalPlaces as aH, _longestText as aI, _filterBetween as aJ, _lookup as aK, getHoverColor as aL, clone$1 as aM, _merger as aN, _mergerIf as aO, _deprecated as aP, toFontString as aQ, splineCurve as aR, splineCurveMonotone as aS, getStyle as aT, fontString as aU, toLineHeight as aV, PITAU as aW, INFINITY as aX, RAD_PER_DEG as aY, QUARTER_PI as aZ, TWO_THIRDS_PI as a_, uid as aa, debounce as ab, retinaScale as ac, clearCanvas as ad, setsEqual as ae, _elementsEqual as af, _isClickEvent as ag, _isBetween as ah, _readValueToProps as ai, _updateBezierControlPoints as aj, _computeSegments as ak, _boundSegments as al, _steppedInterpolation as am, _bezierInterpolation as an, _pointInLine as ao, _steppedLineTo as ap, _bezierCurveTo as aq, drawPoint as ar, addRoundedRectPath as as, toTRBL as at, toTRBLCorners as au, _boundSegment as av, _normalizeAngle as aw, getRtlAdapter as ax, overrideTextDirection as ay, _textX as az, isArray as b, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, isNumber as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _limitValue as w, _lookupByKey as x, getRelativePosition as y, _isPointInArea as z };\n","/*!\n * Chart.js v3.7.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as isNumber, w as _limitValue, x as _lookupByKey, y as getRelativePosition$1, z as _isPointInArea, A as _rlookupByKey, B as getAngleFromPoint, C as toPadding, D as each, E as getMaximumSize, F as _getParentNode, G as readUsedSize, I as throttled, J as supportsEventListenerOptions, K as _isDomSupported, L as log10, M as _factorize, N as finiteOrDefault, O as callback, Q as _addGrace, R as toDegrees, S as _measureText, U as _int16Range, V as _alignPixel, W as clipArea, X as renderText, Y as unclipArea, Z as toFont, $ as _toLeftRightCenter, a0 as _alignStartEnd, a1 as overrides, a2 as merge, a3 as _capitalize, a4 as descriptors, a5 as isFunction, a6 as _attachContext, a7 as _createResolver, a8 as _descriptors, a9 as mergeIf, aa as uid, ab as debounce, ac as retinaScale, ad as clearCanvas, ae as setsEqual, af as _elementsEqual, ag as _isClickEvent, ah as _isBetween, ai as _readValueToProps, aj as _updateBezierControlPoints, ak as _computeSegments, al as _boundSegments, am as _steppedInterpolation, an as _bezierInterpolation, ao as _pointInLine, ap as _steppedLineTo, aq as _bezierCurveTo, ar as drawPoint, as as addRoundedRectPath, at as toTRBL, au as toTRBLCorners, av as _boundSegment, aw as _normalizeAngle, ax as getRtlAdapter, ay as overrideTextDirection, az as _textX, aA as restoreTextDirection, aB as noop, aC as distanceBetweenPoints, aD as _setMinAndMaxByKey, aE as niceNum, aF as almostWhole, aG as almostEquals, aH as _decimalPlaces, aI as _longestText, aJ as _filterBetween, aK as _lookup } from './chunks/helpers.segment.js';\nexport { d as defaults } from './chunks/helpers.segment.js';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const metasets = iScale.getMatchingVisibleMetas(this._type);\n const stacked = iScale.options.stacked;\n const ilen = metasets.length;\n const stacks = [];\n let i, item;\n for (i = 0; i < ilen; ++i) {\n item = metasets[i];\n if (!item.controller.options.grouped) {\n continue;\n }\n if (typeof dataIndex !== 'undefined') {\n const val = item.controller.getParsed(dataIndex)[\n item.controller._cachedMeta.vScale.axis\n ];\n if (isNullOrUndef(val) || isNaN(val)) {\n continue;\n }\n }\n if (stacked === false || stacks.indexOf(item.stack) === -1 ||\n\t\t\t\t(stacked === undefined && item.stack === undefined)) {\n stacks.push(item.stack);\n }\n if (item.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\nfunction getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max)).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const dataset = this.getDataset();\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(dataset.data[i]) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const dataset = this.getDataset();\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(dataset.data[index]) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const dataset = this.getDataset();\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass ScatterController extends LineController {\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction getRelativePosition(e, chart) {\n if ('native' in e) {\n return {\n x: e.x,\n y: e.y\n };\n }\n return getRelativePosition$1(e, chart);\n}\nfunction evaluateAllVisibleItems(chart, handler) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n let index, data, element;\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n ({index, data} = metasets[i]);\n for (let j = 0, jlen = data.length; j < jlen; ++j) {\n element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction optimizedEvaluateItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition) {\n const items = [];\n if (!_isPointInArea(position, chart.chartArea, chart._minPadding)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n optimizedEvaluateItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n optimizedEvaluateItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = _isPointInArea(center, chart.chartArea, chart._minPadding);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n optimizedEvaluateItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition) {\n if (!_isPointInArea(position, chart.chartArea, chart._minPadding)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition);\n}\nfunction getAxisItems(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const items = [];\n const axis = options.axis;\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateAllVisibleItems(chart, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n intersectsItem = true;\n }\n });\n if (options.intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition)\n : getNearestItems(chart, position, axis, false, useFinalPosition);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition) :\n getNearestItems(chart, position, axis, false, useFinalPosition);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getIntersectItems(chart, position, axis, useFinalPosition);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition);\n },\n x(chart, e, options, useFinalPosition) {\n return getAxisItems(chart, e, {axis: 'x', intersect: options.intersect}, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n return getAxisItems(chart, e, {axis: 'y', intersect: options.intersect}, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition$1(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = grid.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n if (isHorizontal) {\n x = pixel;\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n }\n }\n return plugins;\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, plugins, options, all) {\n const result = [];\n const context = chart.getContext();\n for (let i = 0; i < plugins.length; i++) {\n const plugin = plugins[i];\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, plugin, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, plugin, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n return config.createResolver(scopes, context, [''], {scriptable: false, indexable: false, allKeys: true});\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.7.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: _isPointInArea(e, this.chartArea, this._minPadding)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (meta.type !== 'line') {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\nfunction decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n if (fill[0] === '-' || fill[0] === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n let target = null;\n let horizontal;\n if (fill === 'start') {\n target = scale.bottom;\n } else if (fill === 'end') {\n target = scale.top;\n } else if (isObject(fill)) {\n target = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n target = scale.getBasePixel();\n }\n if (isNumberFinite(target)) {\n horizontal = scale.isHorizontal();\n return {\n x: horizontal ? target : null,\n y: horizontal ? null : target\n };\n }\n return null;\n}\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const target = [];\n const start = options.reverse ? scale.max : scale.min;\n const end = options.reverse ? scale.min : scale.max;\n let i, center, value;\n if (fill === 'start') {\n value = start;\n } else if (fill === 'end') {\n value = end;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n if (options.grid.circular) {\n center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\nfunction getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return createBoundaryLine(boundary, line);\n}\nfunction createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _clip(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = findSegmentEnd(start, end, points);\n const bounds = getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\nfunction _fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n _clip(ctx, target, area.top);\n _fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n _clip(ctx, target, area.bottom);\n }\n _fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction drawfill(ctx, source, area) {\n const target = getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nvar plugin_filler = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw) {\n drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (source) {\n drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!source || source.fill === false || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxWidth * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if (type === 'mousemove' && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = labelColors.borderWidth || 1;\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n if (tooltip) {\n tooltip.draw(chart.ctx);\n }\n chart.notifyPlugins('afterTooltipDraw', args);\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: plugin_filler,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n ctx.fillRect(left - padding.left, top - padding.top, right - left + padding.width, bottom - top + padding.height);\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, plugin_filler as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded befor being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"fluid\", \"as\", \"className\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n fluid: false\n};\nvar Container = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n fluid = _ref.fluid,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'container');\n var suffix = typeof fluid === 'string' ? \"-\" + fluid : '-fluid';\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, fluid ? \"\" + prefix + suffix : prefix)\n }));\n});\nContainer.displayName = 'Container';\nContainer.defaultProps = defaultProps;\nexport default Container;","import React from 'react'; // TODO (apparently this is a bare \"onSelect\"?)\n\nvar SelectableContext = /*#__PURE__*/React.createContext(null);\nexport var makeEventKey = function makeEventKey(eventKey, href) {\n if (href === void 0) {\n href = null;\n }\n\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import canUseDOM from './canUseDOM';\nvar size;\nexport default function scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (canUseDOM) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nexport default function activeElement(doc) {\n if (doc === void 0) {\n doc = ownerDocument();\n }\n\n // Support: IE 9 only\n // IE9 throws an \"Unspecified error\" accessing document.activeElement from an